|  |  | 
|  | 
|  | 
|  Michael
 Wodrich
 | | [size=18:9a05d71d8c]le calendrier-Berechnungen:[/size:9a05d71d8c] (geschrieben dans XProfan; doit peut-être. un peu ajusté volonté pour frühere Versionen)
 
 il y a sicherlich viele Opportunités pour qui Verwaltung de Kalenderdaten.
 ici volonté quelques Routinen vorgestellt, qui une LongInt-Variable zur Speicherung benutzen.
 
 cela ca possible ist zeige je ici:
 
 2147483647  maximaler positiver LongInt-Wert
 ..CCYYMMDD  cela date wird so gespeichert
 ..hhmmsscc  qui Zeit wird so gespeichert
 
 CC......  qui siècle-Angabe (Century)
 ..YY....  cela l'an
 ....MM..  qui mois
 ......DD  qui journée
 
 hh......  qui heure
 ..mm....  qui minute
 ....ss..  qui seconde
 ......cc  qui Hundertstel-seconde (Centi)
 
 qui Profan-internen date- et Zeitfunktionen peut hiermit bien ergänzt volonté.
 
 qui folgenden Routinen construire date et Zeit zusammen:
 KompilierenMarqueSéparationSyntax:
 KompilierenMarqueSéparation
 décomposer des Datums dans sa Einzelteile (paramètre ist cela LongInt-date):Datum& = MakeFullDate(Tag&,Monat&,Jahr&) z.B.: dat& = MakeFullDate(4,6,2004)
Datum& = MakeDate(Tag&,Monat&,Jahrhundert&,Jahr&) z.B.: dat& = MakeDate(4,6,20,04)
Zeit& = MakeTime(Stunde&,Minute&,Sekunde&,Hundertstel&) z.B.: tim& = MakeTime(23,30,0,40)re>KompilierenMarqueSéparationdécomposer qui Zeit dans ses Einzelteile (paramètre ist qui LongInt-Wert):
 KompilierenMarqueSéparationdate- et Zeit-Vergleiche:
 (d1 - date des 1. Wertes)
 (t1 - Zeit des 1. Wertes)
 (d2 - date des 2. Wertes)
 (t2 - Zeit des 2. Wertes)
 KompilierenMarqueSéparation
 cela aktuelle date serviert Profan déjà mundgerecht:Def Time_EQ(d1,t1,d2,t2)  (@&(1) = @&(3)) and (@&(2) = @&(4))
Def Time_GE(d1,t1,d2,t2)  (@&(1) > @&(3)) or ((@&(1) = @&(3)) and (@&(2) >= @&(4)))
Def Time_GT(d1,t1,d2,t2)  (@&(1) > @&(3)) or ((@&(1) = @&(3)) and (@&(2) > @&(4)))
Def Time_LE(d1,t1,d2,t2)  (@&(1) < @&(3)) or ((@&(1) = @&(3)) and (@&(2) <= @&(4)))
Def Time_LT(d1,t1,d2,t2)  (@&(1) < @&(3)) or ((@&(1) = @&(3)) and (@&(2) < @&(4)))
Def Time_NEQ(d1,t1,d2,t2) (@&(1) <> @&(3)) or (@&(2) <> @&(4))KompilierenMarqueSéparationchez qui aktuellen Zeit doit on déjà un peu plus nachhelfen:
 KompilierenMarqueSéparationIst cela angegebene l'an un Schaltjahr?
 Es volonté aussi Jahre avant qui Kalenderreform korrekt geprüft:
 KompilierenMarqueSéparationErmittelt den Wochentag:
 KompilierenMarqueSéparation
 MfG
 Michael Wodrich
 | 
 | 
|  | 
|  | | Programmieren, das spannendste Detektivspiel der Welt. | 05.06.2004  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  | |  Spitze!, wir kriege je pour dem Prinzip une Datums-Distance hin, quelle le nombre qui Jahre,Monate,Tage entre deux Datumsangaben zurückliefert?  | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Michael
 Wodrich
 | | par change dans qui Julianische Tageszahl. qui ist eigentlich une Float-numéro. je voulais cela Ganze dans LongInt behalten, mais voilà qui Wurm drin. la fois voyons, je Poste cela Ding am l'après-midi la fois. maintenant hab je malheureusement aucun Streichhölzer plus, à Augen aufzuhalten...
 
 jusqu'à ensuite
 Michael Wodrich
 | 
 | 
|  | 
|  | | Programmieren, das spannendste Detektivspiel der Welt. | 07.06.2004  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  Sven
 Bader
 | | je veux eigentlich aussi seulement qui Distanz zweiter données  Peut-être cela pour quelqu'un intéressant, le nombre qui Tage eines Monats, Schaltjahrprüfung pour février ist aussi dabei. 
 Def Tage(2) int(28+val(mid$(303232332323,&(1),1))+si((&(1)=2) & (&(2) MOD 4 = 0),1,0))
 
 Aufruf:  imprimer Tage(02,2004)
 Ausgabe: 29  février 2004 hatte 29 Tage
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 |