Hallo,<br>
in Delphi formuliere is folgendes:<br>
var<br>
t1,t2: 1..31;<br>
m1,m2: 1..12;<br>
j1,j2: word;<br>
diff : word;<br>
begin<br>
{Einlesen 1. und 2. Datum im format TT MM JJ}<br>
{ueber eine Maskedit fuer ein Datum}
{gebe ich nun für Tag einen Wert über 31 ein, wird das ohne}<br>
{weiteres akzeptiert. Gelten Teilbereichstypen in D4 nicht?}<br>
end.<br>
P.S.: Alle Optionen Bereichsüberprüfung etc. sind eingeschaltet<br>
Bei Borland Pascal habe ich dagegen folgendes Problem:<br>
Ich definiere die Daten wie oben und berechne nach Eingabe wie folgt:<br>
Diff := (j2-j1)*360 + (m2-m1)*30 + t1-t2<br>
Dabei erhalte ich einen Arithmetikueberlauf. Ist der Compiler nicht in<br>
der Lage, ein Zwischenergebnis (hier evtl negativ) zwischenzuspeichern?<br>
auch wenn dafür keine entsprechende Variable explizit zur Verfügung steht?<br>
Fuer Hinweise waere ich dankbar<br>
Thomas Müller
in Delphi formuliere is folgendes:<br>
var<br>
t1,t2: 1..31;<br>
m1,m2: 1..12;<br>
j1,j2: word;<br>
diff : word;<br>
begin<br>
{Einlesen 1. und 2. Datum im format TT MM JJ}<br>
{ueber eine Maskedit fuer ein Datum}
{gebe ich nun für Tag einen Wert über 31 ein, wird das ohne}<br>
{weiteres akzeptiert. Gelten Teilbereichstypen in D4 nicht?}<br>
end.<br>
P.S.: Alle Optionen Bereichsüberprüfung etc. sind eingeschaltet<br>
Bei Borland Pascal habe ich dagegen folgendes Problem:<br>
Ich definiere die Daten wie oben und berechne nach Eingabe wie folgt:<br>
Diff := (j2-j1)*360 + (m2-m1)*30 + t1-t2<br>
Dabei erhalte ich einen Arithmetikueberlauf. Ist der Compiler nicht in<br>
der Lage, ein Zwischenergebnis (hier evtl negativ) zwischenzuspeichern?<br>
auch wenn dafür keine entsprechende Variable explizit zur Verfügung steht?<br>
Fuer Hinweise waere ich dankbar<br>
Thomas Müller
Comment