edit içindeki değer tarih değilse ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

edit içindeki değer tarih değilse ?

Mesaj gönderen AliErdem »

dbedit edit mask ile tarih formatı girdim ama buraya gün olarak 32 ay olarak 13 falan yazdığımda haliyle hata verecek post ederken edit in içini kontrol etmek istiyorum

if dbedit1.text=(tarih değeri) then

böyle bi kontrol yapabilirmiyim
gimil
Üye
Mesajlar: 33
Kayıt: 28 Ara 2006 10:29
Konum: ank

Mesaj gönderen gimil »

ben mask edit değilde monthcalendar kullanıyorum böylece hatalı tarih girme şansı da olmuyor.alternatif bir yöntem.
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

o benim programım için biraz kaba oluyor ya :) saol önerin için
Kullanıcı avatarı
sTb
Üye
Mesajlar: 59
Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir

Mesaj gönderen sTb »

s.a.

Kod: Tümünü seç

var
tarih:tdate;
begin
try
tarih:=strtodate(edit1.text);
except
showmessage('Tarih değil');
end;
şeklinde yapılabilir.
" Her bildiğin doğru olsun. Ama her doğruyu her yerde söylemek doğru değildir. "
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

yaptım dediğini ama galiba benim sorunum ben dbeditten çıkmadan dataset kontrol ediyor değeri eğer tarih değilse hata veriyor dataset ten önce nasıl kontrol edebilirim?
gimil
Üye
Mesajlar: 33
Kayıt: 28 Ara 2006 10:29
Konum: ank

Mesaj gönderen gimil »

yukarıdaki kodu dbeditin onchange olayına yazmayı dene
Kullanıcı avatarı
sTb
Üye
Mesajlar: 59
Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir

Mesaj gönderen sTb »

@Alierdem afterpost' a yazsıp dener misiniz?

:arrow: @gimil onchange de olursa 11.11.2000 için ilk 9 karakterinde de hata verecektir.
" Her bildiğin doğru olsun. Ama her doğruyu her yerde söylemek doğru değildir. "
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

denedim onu editten çıkarken dataset post işlemi yapmıyor
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

İyi günler. Bunu DBEdit bileşeninin onExit olayına şu kodu yazarak yapabilirsin. Eğer daha uygun bulursan başka bir olay da olabilir. (Dataset'in onBeforePost olayı)

Kod: Tümünü seç

procedure TForm1.DBEdit1Exit(Sender:TObject);
begin
  try
    DateToStr(DBEdit1.Text);
  except
    ShowMessage('Geçersiz tarih değeri girildi.');
    DBEdit1.Field.Clear;
    DBEdit1.SetFocus;
    //Abort; //<-Eğer onBeforePost kullanırsan bu satırı aç.
  end;
end;
Kolay gelsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

@stb arkadaşımda demişti bunu denedim fakar onexit olayı gerçekleşmeden dataset tarih olmadığını belirtiyor .
Kullanıcı avatarı
sTb
Üye
Mesajlar: 59
Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir

Mesaj gönderen sTb »

data set in onchangefield ( yanlış hatırlamıyorsam ) kısmına yazar mısın?
" Her bildiğin doğru olsun. Ama her doğruyu her yerde söylemek doğru değildir. "
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Dataset'in OnValidate event'ini inceleyin.
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

valla o kadar baktım datasette onvalidate olayı yok :) diğer evenleride dednedim arkadaşlar hala sorunum edite tarih olmayan bişey yazınca çıkıyor

Resim

eğer yapabilirsem bu kontrolu dbeditten çıkmadan yapmak daha güzel olurdu
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

AliErdem yazdı:valla o kadar baktım datasette onvalidate olayı yok :) diğer evenleride dednedim arkadaşlar hala sorunum edite tarih olmayan bişey yazınca çıkıyor

Resim

eğer yapabilirsem bu kontrolu dbeditten çıkmadan yapmak daha güzel olurdu mesela ikinci karakter 3 olamaz nasıl derim?
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

fduman yazdı:Dataset'in OnValidate event'ini inceleyin.
valla o kadar baktım datasette onvalidate olayı yok
o kadar baktim demekle olur mu hic ? koskoca help var delphide di mi ? ustelik aranacak/incelenecek kelimede verilmis
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla