cok REZİL bir Tarih Karsilastirma HATASi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
VooDoo
Üye
Mesajlar: 126
Kayıt: 22 Haz 2005 10:25
Konum: Bursa & ANKARA
İletişim:

cok REZİL bir Tarih Karsilastirma HATASi

Mesaj gönderen VooDoo »

if (CompareDate(Date -2 , Date) = -1 )
ShowMessage('kucuk');

kesin kez yazmasi gerekmez mi ama iste sonuc -1 yani date-2 kesinlikle date den ufak olmasina ragmen bu satir calismiyor.
sizce neden??

delphi 7 kullaniyorum
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

if (CompareDate(Date -2 , Date) = -1 ) then
ShowMessage('kucuk');

bu şekilde sorunsuz çalıştı.

Kolay gelsin.
cetoonak
Üye
Mesajlar: 50
Kayıt: 12 Haz 2003 09:53
Konum: www.mussimsek.com

Mesaj gönderen cetoonak »

Kod: Tümünü seç

Value	Constant	Meaning

-1	LessThanValue	The first value is less than the second value.
0	EqualsValue	The two values are equal.
1	GreaterThanValue	The first value is greater than the second value.

Burada mantıksız birşey yok.
İlk değer ikincisinden küçük olduğu zaman -1 döner.
İkisi de eşitse 0 döner.
İkincisi büyükse 1 döner.
Senin örnekte ilk değer küçük olduğu için -1 dönüyor ve mesaj veriyor.
Sende mesaj vermiyorsa araya "then" yazmayı unutmuşsun ondan olabilir.
Kullanıcı avatarı
VooDoo
Üye
Mesajlar: 126
Kayıt: 22 Haz 2005 10:25
Konum: Bursa & ANKARA
İletişim:

Mesaj gönderen VooDoo »

then i foruma yazmayi unutmusum programa degil ve calismiyor, calismasi gerek ama anlamis degilim
Kullanıcı avatarı
VooDoo
Üye
Mesajlar: 126
Kayıt: 22 Haz 2005 10:25
Konum: Bursa & ANKARA
İletişim:

Mesaj gönderen VooDoo »

zaten sorun da burda if de -1=-1 diye bir durum olusmasina ragmen if kosulunun icine girmiyor
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Re: cok REZİL bir Tarih Karsilastirma HATASi

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

if CompareDate(Date -2 , Date) = -1 then
ShowMessage('kucuk');


böyle dene.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
VooDoo
Üye
Mesajlar: 126
Kayıt: 22 Haz 2005 10:25
Konum: Bursa & ANKARA
İletişim:

Mesaj gönderen VooDoo »

sanirim birde bazi seyleri yazmadim

bu durumu bir fonksiyon icinde kullaniyorum ve ic ice 3 tane if kontrolu olan fonksiyonlarda bu kontrolden sonra

Result:=False;

dedigim zaman yemedigini anlamis bulunuyorum.

halbuki Result:=False; satirinin calisip fonksiyondan cikmasi gerek,
aklinizda bulunsun,
yardim gayretleriniz icin sagolun
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

hocam,

DateUtils'i uses'a ekledin mi? Eklediysen aldığın hata ile kodunu komple bir göndersene...copy-paste ile...

Ben de yukarda denediğim şekilde canafar gibi çalışıyor :)

Kolay gelsin.
Kullanıcı avatarı
VooDoo
Üye
Mesajlar: 126
Kayıt: 22 Haz 2005 10:25
Konum: Bursa & ANKARA
İletişim:

Mesaj gönderen VooDoo »

tabi ekledim ekledim, sorun fonksiyondan degilmis megerse

kendi yazdigim fonksiyonun result degerine deger aktarmasindan dolayi kaynakli imis

arada baska degiskene deger aktarip sonlarda result edince olay cozuldu, yani bazen yazilan kodtan dolayi sonrasinda da ayni kod satiri varsa bu sekilde atlamalar olur ya neden bundanmis, kod mantigimi degistirdim duzeldi, ama her zaman boyle olmuyor genelde ayni sekilde baska yerlerde de kod yazarim sorun olmaz ama burda oldu nedense
Cevapla