-İki tarih arasındaki gün farkını bul ;
-Sonra bu değere göre bir for döngüsü kur;
-Döngünün içinde sırası gelen tarihin günün pazar olup olmadığına bak.Bunu yapan hazır bir fonksiyon var zaten...
-Pazar ise tanımlayacağın sayı değişkenini 1 arttır...
-Bu işlemi bir fonksiyon olarak yaparsan dönen değere sonucu aktar işte bu kadar :)
Cevap için teşekkür ederim
döngüye sokuyorum fakat ya aradaki fak geliyor orn:30
yada tarih 30 kere showmessage oluyo.
orn:showmessage ile tarihi hep 1 arttırarak götürsem pazarmı degılmı kontrol ettiricem ama yapamadım bir türlü.
Rica etsem bir ornek yazabilirmisiniz.
var
fark, i, PazarSayi: Integer;
t, tt: Tdate;
begin
PazarSayi := 0;//<== Bunu mutlaka yaz
t := DateTimePicker1.Date;
tt := DateTimePicker2.Date;
fark := DaysBetween(t, tt);// Aradaki farkı atıyoruz
for I := 0 to fark do //Sıfırdan fark'a kadar düngü koyuyoruz
begin
if i = 0 then//Başlangıç tarinin de pazar olup olmadığını kontrol etmek için ilk döngüde 0 ekliyoruz.
t := t + 0 //(İlk döngüde i=0 olduğundan else 'ye gıtmeyecek)
else
t := t + 1;//Sonraki döngülerde her defasında 1 ekliyoruz
if DayOfTheWeek(t) = 7 then// Her döngüde DayOfTheWeek fonksiyonuyla tarihin pazar olup olmadığını kontrol ediyoruz
PazarSayi := PazarSayi + 1;// Eğer pazarsa PazarSayi'yi bir artırıyoruz
end;
ShowMessage(IntToStr(PazarSayi));// Döngüden çıktıktan sonra PazarSayi'yi gösteriyoruz.