Autor Beitrag
Pazzii
Hält's aus hier
Beiträge: 2

WIN XP Home, WIN 2003 Server
4, 2005 Personal (8)
BeitragVerfasst: Di 19.04.05 13:30 
Hallo,
ich habe mal so zum Spaß eben einen Schaltjahrberechner gemacht, bei dem man die Jahreszahl eingeben muss,
und das Programm überprüft dann, ob dieses Jahr ein Schaltjahr ist.
In dem Programm ist "Edit1" das Eingabefeld der Jahreszahl und "Edit2" das Ausgabefeld (Es erscheint eine
Meldung mit "ja" oder "nein"!).
Mein "procedure" sieht so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
a:=StrToInt(edit1.text);
if (a mod 4=0or (a mod 100<> 0or (a mod 400=0then edit2.text:='ja'
else edit2.text:='NÖ!'
end;


Bitte bedenkt, dass ich ein ziemlicher Anfänger bin und vielleicht einen simplen Fehler übersehen hab,
aber ich komm grad echt ned drauf.
Danke schon mal für eure Hilfe.
Übrigens: SO, wie er jetzt ist, kommt beim Berechner immer "Ja!".

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 19.04.05 13:48 
:welcome: im DF.

Da du in deinem if alles mit or verknüpft hast, genügt es, wenn EINE der Bedingungen erfüllt ist.
Somit ist jedes durch 4 teilbare Jahr ein Schaltjahr. Da außerdem alle anderen Jahre nicht durch 100 teilbar sind, ist für alle anderen Fälle auch diese Bedingung erfüllt.

Da du gerade am Üben bist, lasse ich dich jetzt mal weitermachen ohne dir zu sagen, wie es richtig aussehen muss.
Pazzii Threadstarter
Hält's aus hier
Beiträge: 2

WIN XP Home, WIN 2003 Server
4, 2005 Personal (8)
BeitragVerfasst: Di 19.04.05 13:58 
Danke für den Tipp mit den Verknüpfungen,
hier meine Antwort 8) :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
a:=StrToInt(edit1.text);
if (a mod 4=0)  or (a mod 400=0) [b]and[/b] (a mod 100<> 0then edit2.text:='ja'
else edit2.text:='NÖ!'
end;


Schönen Tach noch und danke nochmal :lol:

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt.
fvolk
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 203

Win XP (Home & Pro)
Delphi 2005 Pers
BeitragVerfasst: Di 19.04.05 17:32 
Ohne deinen Arbeitseifer bremsen zu wollen (denn selbstgemacht ist bekanntlicherweise am besten, weil man weiß, was passiert) ... gab's da nicht mal die wunderbare Delphi-Funktion IsLeapYear()?

*klugscheiß*

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
(René Descartes)