Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
AliErdem
Üye
Mesajlar: 157 Kayıt: 16 Nis 2006 02:57
Mesaj
gönderen AliErdem » 26 Oca 2007 11:25
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 » 26 Oca 2007 11:29
ben mask edit değilde monthcalendar kullanıyorum böylece hatalı tarih girme şansı da olmuyor.alternatif bir yöntem.
AliErdem
Üye
Mesajlar: 157 Kayıt: 16 Nis 2006 02:57
Mesaj
gönderen AliErdem » 26 Oca 2007 11:33
o benim programım için biraz kaba oluyor ya
saol önerin için
sTb
Üye
Mesajlar: 59 Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir
Mesaj
gönderen sTb » 26 Oca 2007 01:19
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. "
AliErdem
Üye
Mesajlar: 157 Kayıt: 16 Nis 2006 02:57
Mesaj
gönderen AliErdem » 26 Oca 2007 01:33
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 » 26 Oca 2007 01:40
yukarıdaki kodu dbeditin onchange olayına yazmayı dene
sTb
Üye
Mesajlar: 59 Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir
Mesaj
gönderen sTb » 26 Oca 2007 01:46
@Alierdem afterpost' a yazsıp dener misiniz?
@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. "
AliErdem
Üye
Mesajlar: 157 Kayıt: 16 Nis 2006 02:57
Mesaj
gönderen AliErdem » 26 Oca 2007 01:54
denedim onu editten çıkarken dataset post işlemi yapmıyor
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 » 26 Oca 2007 02:16
İ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. - .
AliErdem
Üye
Mesajlar: 157 Kayıt: 16 Nis 2006 02:57
Mesaj
gönderen AliErdem » 26 Oca 2007 03:18
@stb arkadaşımda demişti bunu denedim fakar onexit olayı gerçekleşmeden dataset tarih olmadığını belirtiyor .
sTb
Üye
Mesajlar: 59 Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir
Mesaj
gönderen sTb » 26 Oca 2007 03:37
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 » 26 Oca 2007 03:50
Dataset'in OnValidate event'ini inceleyin.
AliErdem
Üye
Mesajlar: 157 Kayıt: 16 Nis 2006 02:57
Mesaj
gönderen AliErdem » 26 Oca 2007 05:40
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
eğer yapabilirsem bu kontrolu dbeditten çıkmadan yapmak daha güzel olurdu
AliErdem
Üye
Mesajlar: 157 Kayıt: 16 Nis 2006 02:57
Mesaj
gönderen AliErdem » 26 Oca 2007 05:55
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
eğer yapabilirsem bu kontrolu dbeditten çıkmadan yapmak daha güzel olurdu mesela ikinci karakter 3 olamaz nasıl derim?
sadettinpolat
Moderator
Mesajlar: 2131 Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:
Mesaj
gönderen sadettinpolat » 26 Oca 2007 07:12
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