| |
|
|
Michael W. |
Cls
' Alter berechnen (Pi mal Daumen)
' Die Konstanten achten auch ein bisserl auf Schaltjahres-Gedöhns
' Startdatum, Endedatum
' Obwohl der XProfan-Zeitpunkt einen anderen Startwert hat (nicht Jahr 0 sondern 1900),
' ist die Differenz ähnlich und kann deshalb verwendet werden.
' Vorteil mit Zeitpunkt - der Wert ist genauer, wenn man auch Uhrzeiten angibt.
Proc Age
Parameters int T1,M1,J1, T2,M2,J2
Declare int T3,M3,J3, float f
Var float cJ = 365.2425
Var float cM = 30.4375
f = (J2 * cJ) + (M2 * cM) + T2
f = f - ((J1 * cJ) + (M1 * cM) + T1)'ergibt fast gleiche Differenz wie XProfan-Zeitpunkt
J3 = Int(f / cJ) : f = f - (cJ * J3)
M3 = Int(f / cM) : f = f - (cM * M3)
T3 = Int(f + 0.5)
Return J3' aus Faulheit wird nur Anzahl der Jahre geliefert
EndProc
' xAge beachtet auch die Uhrzeiten (arbeitet mit Zeitpunkten; ab X2)
Proc xAge
Parameters float DatumAlt, DatumNeu
Declare int T,M,J, float f
Var float cJ = 365.2425
Var float cM = 30.4375
f = DatumNeu - DatumAlt
J = Int(f / cJ) : f = f - (cJ * J)
M = Int(f / cM) : f = f - (cM * M)
T = Int(f + 0.5)
Return Format$("%u J, ",J) + Format$("%u M, ",M) + Format$("%u T",T)
EndProc
Print "\n Alter berechnen \n"
Print " Age: "; Age(27,12,1961, 18,3,2016)
Print "xAge: "; xAge( dt("SetDate", "27.12.1961"), dt("SetDate", "18.03.2016") )
WaitInput
End
|
|
|
| System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 20.03.2016 ▲ |
|
|
|