Delphi Can
Edit içindeki tarihin doğru olup olmadığını kontrol etmek? - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Edit içindeki tarihin doğru olup olmadığını kontrol etmek? (/showthread.php?tid=7470)



Edit içindeki tarihin doğru olup olmadığını kontrol etmek? - hasansavci - 17-10-2023

Merhaba,


işyerinde kullanmak için bir hesaplama programı hazırlamaya çalışıyorum.çok eskiden hazırladığım bir programım vardı.ufak bir değişiklik yapmam gerekiyor.


edit5 üzerine bir tarih ekliyorum. örneğin 12.10.2023. butona tıklattığımda eğer tarih formatı bu şekilde girilmişse 
tarih doğru girilmiş, diğer durumlarda ise tarih yanlış girilmiş şeklinde mesaj veren bir koda ihtiyacım var. aşağıdaki şekilde denedim ama

19.04   şeklinde girdiğimde tarihi doğru kabul etti. tarih formatı doğru girilmişse button2 yi tetiklemek ve işlem yapmak istiyorum. 

burda tarih hatalıda olsa button2 çalışıyor. 
Yardımlarınız için teşekkür ederim.
Saygılarımla.

procedure TForm1.Button1Click(Sender: TObject);

begin
try

label6.Caption := Format('%d', [CalculateAge(StrToDate(edit5.Text), Date)]);

button2.click;
except
edit5.SetFocus;
end;
end;


Edit içindeki tarihin doğru olup olmadığını kontrol etmek? - hasansavci - 17-10-2023

procedure TForm1.Button14Click(Sender: TObject);
begin

if dbedit5.text='' then
begin
dbedit5.SetFocus;
dbedit5.Color:=clred;
dbEdit5.Font.Color := clwhite;
end
else
begin
if dbEdit5.Text <> '' then
begin
if Not IsValidDate (StrToIntDef(Copy(dbEdit5.Text,10,4) , 0),
StrToIntDef(Copy(dbEdit5.Text,4,2) , 0),
StrToIntDef(Copy(dbEdit5.Text,1,2) , 0)) then
begin

dbedit1.Color:=clwhite;
dbedit2.Color:=clwhite;
dbEdit5.SetFocus ;
dbedit5.Color:=clred;
dbEdit5.Font.Color := clwhite;

end
else
begin
button2.click;

dbedit5.Color:=clwhite;
dbEdit5.Font.Color := clblack;

end;
end ;
end ;

end ;


böyle bir çözüm buldum.çalışıyor ancak alt kısımda yer alan kodda bir düzenleme yapılabilir mi?

if Not IsValidDate (StrToIntDef(Copy(dbEdit5.Text,10,4) , 0),
StrToIntDef(Copy(dbEdit5.Text,4,2) , 0),
StrToIntDef(Copy(dbEdit5.Text,1,2) , 0)) then


Edit içindeki tarihin doğru olup olmadığını kontrol etmek? - mcuyan - 17-10-2023

neden dateedit kullanmıyorsunuz? isteseniz de hatalı tarih giremezsiniz?