Ist einer von Euch fit in Mathe?
Diese Procedur erwartet d (Tag), m (Monat), y (Jahr) und gibt eine Long Zahl zurück. Diese stellt eine Fortlaufende Nummer dar, die sich Tag für Tag um 1 erhöht. Damit kann ich Zeitrechnungen anstellen, ohne die Einschränkungen des Unixsystems (also auch 785 v.C. und 5304 n.C.).
Weiss jemand wie man die Procedure umkehren kann, also so daß man die Longnummer übergibt und d, m, y zurückbekommt? (ich weiss, eine Procedur kann nur eine Var zurückgeben, mir reicht es, wenn sie in 3 Globals die Werte schreibt).
Ich habe es lange versucht, außer schlimme Kopfschmerzen und 2 Aspirinen weniger ist nichts dabei herrausgekommen...
Code: Alles auswählen
Procedure.l FortlaufKal(d.b, m.w, y.w)
If m.w <3
y.w=y-1
m.w=m+12
EndIf
a.w=Int(y/100)
b=2-a+Int(a/4)
zahl.l=Int(365.25*(y+4716))+Int(30.6001*(m+1))+d+b-1524
ProcedureReturn zahl
EndProcedure