MonthCalendar if then

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

MonthCalendar if then

Mesaj gönderen Serhat »

Selamlar...

MonthCalendarla başım belada :D if then ile tarih kontrol sırasında saçma sapan durum oluşuyor.

1. Form açıldığında tarihler eşit olduğunda veya İkinci tarihi ilk tarih den küçük yapınca butona ilk tıkladığımda uyarıyor,
fakat birkaç kez test için tekrar, tekrar MonthCalendar da tarihleri eşit veya küçük yapınca bu seferde uyarı vermiyor anlayamadım çözemedim bilemedim...


2. Form açıldığında FormShow kısmına (MonthCalendar1.Date := Date;) yazmadan güncel tarih MonthCalendar neden gelmez ki


procedure TForm8.TarihClick(Sender: TObject);

Kod: Tümünü seç

begin
  if MonthCalendar1.Date >= MonthCalendar2.Date then
  begin
    Application.MessageBox('İlk Tarih, İkinci Tarihe Eşit veya Büyük Olamaz!',
      'Hata!', MB_Ok or MB_ICONQUESTION);
  end
  else
  begin

Kod: Tümünü seç

procedure TForm1.FormShow(Sender: TObject);
begin
  try
    MonthCalendar1.Date := Date;
    MonthCalendar2.Date := Date;
  except
  end;
end;
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: MonthCalendar if then

Mesaj gönderen esistem »

Kod: Tümünü seç

procedure TForm1.FormShow(Sender: TObject);
begin
  try
    MonthCalendar1.Date := Now;
    MonthCalendar2.Date := Now;
  except
  end;
end;
şeklinde deneyin
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Re: MonthCalendar if then

Mesaj gönderen Serhat »

Daha önce denemiştim Now, bir daha denedim yine olmadı hatta yeni bir proje ile tekrar, tekrar test ettim olmadı...
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: MonthCalendar if then

Mesaj gönderen brs »

İşinizi görür mü bilemiyorum calendar kullana bilirsiniz...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Re: MonthCalendar if then

Mesaj gönderen Serhat »

Teşekkür ederim...

MonthCalendar daha kullanışlı olduğu için tercih ediyorum, calendar da yıl ve ay ve ileri geri butonları koymak gerekiyor,
Bir calendar dört buton dersek iki tane calendar var toplam sekiz buton o nedenden tercihimi MonthCalendar dan kullanıyorum belki bu konuda tecrübesi olan bir kişi soruyu cevaplar...
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: MonthCalendar if then

Mesaj gönderen esistem »

Selam,

Kod: Tümünü seç

VAR
T1,T2:TDATE;
begin
T1:=STRTODATE(FormatDateTime('dd.mm.yyyy', MonthCalendar1.Date));
T2:=STRTODATE(FormatDateTime('dd.mm.yyyy', MonthCalendar2.Date));
if T1 >= T2 then
  begin
    Application.MessageBox('İlk Tarih, İkinci Tarihe Eşit veya Büyük Olamaz!',
      'Hata!', MB_Ok or MB_ICONQUESTION);
  end;
end;
şeklinde deneyin, tarihin dakika ve saat farkından kaynaklıyor sanırım sorun.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: MonthCalendar if then

Mesaj gönderen mrmarman »

Saatten kurtulmanın bir kısayolu da INT fonksiyonu..

INT( now) ;
bize salt tarihi döndürür, daha doğrusu 00.00 saatlisini. Böylece if ile karşılaştırma yaparken saat nedenli eşitsizliklere çare olur.
Resim
Resim ....Resim
Cevapla