Mega Code Archive

 
Categories / Delphi / Examples
 

Gün hesapları

Codec By GeNiUS ! genius@turkiye.com Tarih doğru mu Function Tarihgecerlimi(DateString: String): Boolean; Begin Try StrToDateTime(DateString); Result := True; Except Result := False; End; End; Ayda kaç gün var? Function AydakiGunSayisi(DateValue: TDateTime): Integer; var yil : Word; ay : Word; gün : Word; yeniyil : Word; yeniay : Word; yenigun : Word; sayacr : Integer; yenitarih : TDateTime; Begin Result := 30; Try DecodeDate(DateValue, Yil, ay, gun); NewDate := EncodeDate(yil, ay, 26); For sayac := 26 To 32 Do Begin yenitarih := NewDate+1; DecodeDate(yenitarih, yeniyil, yeniay, yenigun); If MonthNew <> MonthIn Then Begin DecodeDate(yenitarih-1, Yeniyil, yeniay, yenigun); Result := yenigun; Break; End; End; Except End; End; Geçen Haftanın ilk Günü Function GecenHaftaninIlkGunu(DateValue: TDateTime): TDateTime; Begin Result := HaftaninIlkGunu(DateValue-7); End; Sonraki Ayın ilk Günü Function SonrakiAyinIlkGunu(DateValue: TDateTime): TDateTime; Begin Try Result := AyinSonGunu(DateValue)+1; Except Result := DateValue; End; End; Sonraki haftanın ilk günü Function SonrakiHaftaninIlkGunu(DateValue: TDateTime): TDateTime; Begin Result := HaftaninIlkGunu(DateValue+7); End; Haftanın ilk günü Function HaftaninIlkGunu(DateValue: TDateTime): TDateTime; Begin Try Result := DateValue - (DayOfWeek(DateValue)) +1; Except Result := 0; End; End; Ayın son günü Function AyinSonGunu(DateValue: TDateTime): TDateTime; Var LastDay : String; Begin LastDay := IntToStr(AydakiGunSayisi(DateValue)); Result := StrToDate( FormatDateTime('mm',DateValue)+ '/'+ LastDay+ '/'+ FormatDateTime('yyyy',DateValue)); End; Ay Function Ay(DateValue: TDateTime): Integer; Var Year, Month, Day: Word; Begin Result := -1; Try DecodeDate(DateValue, Year, Month, Day); Result := Integer(Month); Except Result := -1; End; End; Gelecek ay Function GelecekAy(DateValue: TDateTime): Integer; Var Year, Month, Day: Word; CurMonth : Integer; NewMonth : Integer; Begin Result := -1; Try DecodeDate(DateValue, Year, Month, Day); CurMonth := Integer(Month); NewMonth := ((CurMonth + 12 + 1) mod 12); If NewMonth = 0 Then NewMonth := 12; Result := NewMonth; Except Result := -1; End; End; Geçen ay Function GecenAy(DateValue: TDateTime): Integer; Var Year, Month, Day: Word; CurMonth : Integer; NewMonth : Integer; Begin Result := -1; Try DecodeDate(DateValue, Year, Month, Day); CurMonth := Integer(Month); NewMonth := ((CurMonth + 24 - 1) mod 12); If NewMonth = 0 Then NewMonth := 12; Result := NewMonth; Except Result := -1; End; End; Gün sonra Function nGunSonra( DateValue : TDateTime; DateMovement : Integer): TDateTime; Begin Result := DateValue + DateMovement; End; Gelecek ay Function GelecekAy(DateValue: TDateTime): TDateTime; Begin Result := nGumSonra(DateValue,1); End; Önceki gün Function onceki_gun(DateValue: TDateTime): TDateTime; Begin Result := NGunSonra(DateValue,-1); End; Geçen hafta Function GecenHaftak(DateValue: TDateTime): TDateTime; Begin Result := nGunSonra(DateValue,-7); End;