AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Monat abziehen

Ein Thema von JSB · begonnen am 12. Jan 2005 · letzter Beitrag vom 12. Jan 2005
Antwort Antwort
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

Re: Monat abziehen

  Alt 12. Jan 2005, 15:26
jo

ich hab ne kleine function dras gemacht *ggg*

mit schaltjahr und allem

Delphi-Quellcode:
function Schaltjahr(Year:Integer):Boolean;
begin
  Result:=((Year Mod 4 = 0) or (Year Mod 400 = 0))
          and not (Year Mod 100 = 0);
end;

function ChangeDate(Value:TDateTime; DayChange, MonthChange, YearChange: Integer):TDateTime;
var Temp: String;
    Mon, Year, Day:Integer;
begin
  Temp:=DateTimeToStr(Value);
  Day:=StrToInt(copy(Temp,1,2));
  Mon:=StrToInt(copy(Temp,4,2));
  Year:=StrToInt(copy(Temp,7,4));
  Day:=Day+DayChange;
  Mon:=Mon+MonthChange;
  Year:=Year+YearChange;
  if Day=0 then
    begin
    Dec(Mon);
    Case Mon of
    1,3,5,7,8,10: Day:=31;
    4,6,9,11: Day:=30;
    2:if Schaltjahr(Year)
      then Day:=29
      else Day:=28;
    end;
    end;
  if Mon=0 then
    begin
    Mon:=12;
    Dec(Year);
    end;
  Temp:=IntToStr(Day)+'.'+IntToStr(Mon)+'.'+IntToStr(Year);
  Result:=StrToDateTime(Temp)+(Value-Trunc(Value));
end;
fehler sind möglich, hab aber spontan keine gefunden

übergeben wird ein DateTime-Wert

bei den werten Value,0,2,-1 wird value um 2 moinate nach vorne und 1 jahr nach hinten versetzt und zurückgegeben

aufruf zb so

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Value: TDateTime;
begin
  Value:=DateTimePicker1.DateTime;
  Value:=ChangeDate(Value,0,-1,0);
  ShowMessage(DateTimeToStr(Value));
end;
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz