Thema: Delphi Nächsten Tag berechnen!

Einzelnen Beitrag anzeigen

Nobody0101

Registriert seit: 17. Dez 2007
4 Beiträge
 
#1

Nächsten Tag berechnen!

  Alt 17. Dez 2007, 14:56
Hallo.
Ich hab grad ein problem und zwar kriege ich das nicht mit dem Schaltjahr hin.
Wenn mir da jemand helfen könnte wäre super.
Alles andere Funktioniert, aber das mit dem Schaltjahr hakt...(is rot markiert)

Hier der Quellcode:
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var Tag,Monat,Jahr,TagM,MonatM,JahrM:real;
begin
  Tag:=strtofloat(Edit1.text);
  Monat:=strtofloat(Edit2.text);
  Jahr:=strtofloat(Edit3.text);
  if (Monat=4) or (Monat=6) or (Monat=9) or (Monat=11)
  then if Tag=30
       then begin TagM:=1; MonatM:=Monat+1; JahrM:=Jahr; end
       else if (Tag>=1) and (Tag<30)
            then begin TagM:=Tag+1; MonatM:=Monat; JahrM:=Jahr; end
            else if (Tag>30) or (Tag<1)
                 then showmessage ('Unsinn');
  if (Monat=1) or (Monat=3) or (Monat=5) or (Monat=7) or (Monat=8) or (Monat=10)
  then if Tag=31
       then begin TagM:=1; MonatM:=Monat+1; JahrM:=Jahr; end
       else if (Tag>=1) and (Tag<31)
            then begin TagM:=Tag+1; MonatM:=Monat; JahrM:=Jahr; end
            else if (Tag>31) or (Tag<1)
                 then begin TagM:=0; MonatM:=0; JahrM:=0; end;
  if (Monat=12)
  then if Tag=31
       then begin TagM:=1; MonatM:=1; JahrM:=Jahr+1; end
       else if (Tag>=1) and (Tag<=31)
            then begin TagM:=Tag+1; MonatM:=Monat; JahrM:=Jahr; end
            else if (Tag>31) or (Tag<1)
                 then showmessage ('Unsinn!');
 [color=#df0000] if (Monat=2) and (IsLeapYear)
       then if Tag=29
            then begin TagM:=1; MonatM:=Monat+1; jahrM:=Jahr; end
            else if (Tag<29) and (Tag>=1)
                 then begin TagM:=Tag+1; MonatM:=Monat; JahrM:=Jahr; end
                 else if (Tag>29) or (Tag<1)
                      then showmessage ('Unsinn!');
       if Monat=2
       then if Tag=28
            then begin TagM:=1; MonatM:=Monat+1; JahrM:=Jahr; end
            else if (tag>=1) and (Tag<28)
                 then begin TagM:=Tag+1; MonatM:=Monat; jahrM:=Jahr; end
                 else if (Tag>29) or (Tag<1)
                      then showmessage ('Unsinn!');[/color][color=#ff001f][/color]
  Edit4.text:=floattostr(TagM);
  Edit5.text:=floattostr(MonatM);
  Edit6.text:=floattostr(JahrM);

end;

end.
[edit=sakura] Brauche schnelle Hilfe bei Delphi -> aus dem Titel entfernt, [b]->[pre]-Tags. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat