Gün ekleme.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
chnyildirim
Üye
Mesajlar: 39
Kayıt: 25 Haz 2003 01:51
İletişim:

Gün ekleme.

Mesaj gönderen chnyildirim »

Merhaba Arkadaşlar,

Bu konu "bir ay içerisindeki hafta sonlarını bulma" içinde aşağdaki kodu buldum. Fakat çalıştıramıyorum.

Bana gerekli olan öğrenci final sınavına girmez ise sınav tarihine 3 iş günün eklemek. Yani Perşembe gününe denk gelen sınav için Cuma-Pazartesi-Salı eklemem gerekiyor. Yardımcı olursanız sevinirim.

Kod: Tümünü seç

     TDateTime Tarih;  // tarihe de ilk değer verilebilir
    while(Tarih != istediğinizTarih) {
        if (Tarih.DayOfWeek() == 7) || (Tarih.DayOfWeek() == 1)) { //7 : cumartesi
        istediğiniz işlemler...
        }
        Tarih++;
        Application->ProcessMessages();
    }
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Gün ekleme.

Mesaj gönderen conari »

Kod: Tümünü seç

 gn : integer;
begin
gn := Tarih.DayOfWeek()
  case gn of
    7: sınavtarihi:= tarih + 4
    6: sınavtarihi:= tarih + 5
    5: sınavtarihi:= tarih + 6
    4: sınavtarihi:= tarih + 5
    3: sınavtarihi:= tarih + 3
    2: sınavtarihi:= tarih + 3
    1: sınavtarihi:= tarih + 4
    end
gibi bir yapı olmalı.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
chnyildirim
Üye
Mesajlar: 39
Kayıt: 25 Haz 2003 01:51
İletişim:

Re: Gün ekleme.

Mesaj gönderen chnyildirim »

Olayı aşağıdaki gibi çözdüm. Teşekkürler.

Kod: Tümünü seç

procedure TMazeretSinavForm.SonTarihBul();
var
  ADate: TDateTime;
  days: array[1..7] of string;
  gun:string;
begin
   days[1] := 'Pazar';
   days[2] := 'Pazartesi';
   days[3] := 'Salı';
   days[4] := 'Çarşamba';
   days[5] := 'Perşembe';
   days[6] := 'Cuma';
   days[7] := 'Cumartesi';

   ADate := StrToDate(FinalDataQueryFinalTarih.Value);
   gun := days[SysUtils.DayOfWeek(ADate)];
   if (gun='Çarşamba') or (gun='Perşembe') or (gun='Cuma') then
   begin
      songun := IncDay(StrToDate(FinalDataQueryFinalTarih.Value),5);
   end
    else if gun = 'Cumartesi' then
   begin
      songun := IncDay(StrToDate(FinalDataQueryFinalTarih.Value),4);
   end
    else if gun = 'Pazar' then
   begin
      songun := IncDay(StrToDate(FinalDataQueryFinalTarih.Value),3);
   end
    else
   begin
      songun := IncDay(StrToDate(FinalDataQueryFinalTarih.Value),3);
   end;
end;
Cevapla