Exakt. steht auch so in der Hilfe:
Code: Alles auswählen
Datumswert.q = Date([Jahr, Monat, Tag, Stunde, Minute, Sekunde])
Als kurze Erklärung: Man hat sich irgendwann man darauf geeinigt die Unix Zeit zu verwenden. Sekunden ab dem 01.01.1970.
Deine Zuweisung sieht also in etwa so aus:
Eine 32 bit Integer (long) geht aber nur bis -2147483648 (siehe Hilfe)
Du hast also einen Overflow, und kommst damit auf wieder auf einen positiven 32 bit Wert. (2037 ist nahe am gefürchteten Jahr 2038, wo die obere Grenze ist) Mit der Quad bist du das Problem los, weil der Zahlenbereich viel größer ist.
Zwei Tipps:
- Rückgabetypen sind wichtig, immer einen Moment überlegen ob der Variablentyp oder der Rückgabetyp bei einer eigenen Prozedur passt.
- Man neigt sehr flott dazu ein Problem auf einen Bug zu schieben, wenn man sich mal verrannt hat. Das musste ich mir erst beibringen dann lieber noch 3 mal zu schauen, oder Rubberducky Debugging anzuwenden (Dadurch kann meine Frau nun auch programmieren

). Auch wenn es natürlich manchmal doch ein echter Bug ist.
Aber super wie schnell du die Lösung selbst gefunden hast
