| |
|
|
Torben Nissen | cet kleine Programme berechnet, comment vieux on dans Jahren ist.
'un kleines Beispiel, comment on cela Alter dans Jahren berechnen peux (ab Profan X2).
'de Torben Nissen
'16.04.2015
Déclarer aktuellesjahr!,aktuellermonat!,aktuellertag!
Déclarer date de naissance$,date de naissance!,geburtsjahr!,geburtsmonat!,anniversaire!
Déclarer alter!,alter$
aktuellesjahr!=@dt("getYear", !now)
aktuellermonat!=@dt("getMonth", !now)
aktuellertag!=@dt("getDay", !now)
geburtsdatum$="17.01.2000"
geburtsdatum!=@dt("setDate", date de naissance$)
geburtsjahr!=@dt("getYear", date de naissance!)
geburtsmonat!=@dt("getMonth", date de naissance!)
geburtstag!=@dt("getDay", date de naissance!)
Set("Décimal",0)
Si (aktuellertag! < anniversaire!) And (aktuellermonat! = geburtsmonat!)
alter! = aktuellesjahr! - geburtsjahr! - 1
ElseIf (aktuellertag! > anniversaire!) And (aktuellermonat! = geburtsmonat!)
alter! = aktuellesjahr! - geburtsjahr!
ElseIf (aktuellertag! = anniversaire!) And (aktuellermonat! = geburtsmonat!)
alter! = aktuellesjahr! - geburtsjahr!
EndIf
Si aktuellermonat! < geburtsmonat!
alter! = aktuellesjahr! - geburtsjahr! - 1
ElseIf aktuellermonat! > geburtsmonat!
alter! = aktuellesjahr! - geburtsjahr!
EndIf
alter$=alter!
cls
Imprimer "Alter: "+alter$
WaitInput
Fin
|
|
|
| |
|
|
|
HofK | peux on aussi dans XProfan qui longtemps sélection ersparen?
dans meinem Scopeland-projet (la base SQL) konnte je knifflige Funktionen per VB Skript einbetten. Daher qui Voir le texte source Alter am aktuellen journée et Bestimmung si minder- ou bien majeur à diesem journée. cela Datumsformat ist offensichtlich JJJJ.MM.TT
si je à qui Stelle suis, schaue je la fois, comme chez InfinityProfan aussieht.
qui "Trick" steckt dans qui Addition des numerischen Ergebnisses des Vergleichs (datMT < gebMT) + ... Je pour Discours muss on alors genauer regarder quoi là passiert et eventuell encore explizite Wandlungen vornehmen.
Alter am aktuellen journée
function alter(geb)
Faible dat, datJ, datMT, gebJ, gebMT
dat = DBToday
Si Len(geb)>0 Then
datJ = À gauche(dat,4)
gebJ = À gauche(geb,4)
datMT = Milieu(dat,6,5)
gebMT = Milieu(geb,6,5)
alter = (datMT < gebMT)+(datJ-gebJ)
Fin Si
end function
Minder/majeur
function mv(geb)
Faible dat, datJ, datMT, gebJ, gebMT, alter
dat = DBToday
Si Len(geb)>0 Then
datJ = À gauche(dat,4)
gebJ = À gauche(geb,4)
datMT = Milieu(dat,6,5)
gebMT = Milieu(geb,6,5)
alter = (datMT < gebMT)+(datJ-gebJ)
Si alter < 18 Then
mv = "m"
D'autre
mv = "v"
Fin Si
Fin Si
end function
|
|
|
| |
|
|
|
Jörg Sellmeyer | qui Datumsfunktionen sommes quelque chose compliqué et kryptisch mais donner très viel Nützliches her. justement chez Datumsvergleichen, peux on sich cela Aufdröseln dans journée, mois, l'an sparen.
ici une Altersermittlung, qui sagt, si je encore anniversaire habe, déjà hatte ou bien aujourd'hui habe:
Randomiser
Var anniversaire$ = Contribution$("Bitte date de naissance eingeben","Mein Alter",Dt("GetDate",0,!Now - Tour(20000)))
Var s$ = Left $(anniversaire$,6) + Str$(DT("getYear",!Now))'ici ersetze je simple qui Jahreszahl des Geburtsjahres par qui aktuelle Jahreszahl
Var n% = Dt("CompareDate",!Now,Dt("SetDate",s$))
'le son Aider sollte SetDate cela eigentlich automatisch faire, cela funktioniert mais anscheinend pas.
Var Alter% = Abs(DT("GetYear",!Now) - DT("GetYear",Dt("SetDate",anniversaire$)))
Select n%
CaseOf 1
imprimer "Du es am " + Left $(anniversaire$,6) + Str$(DT("getYear",!Now)) + " " + Str$(Alter%) + " geworden."
CaseOf 0
Imprimer "Herzlichen Glückwunsch zum " + Str$(Alter%) + ". anniversaire!"
CaseOf -1
imprimer "Du wirst am " + Left $(anniversaire$,6) + Str$(DT("getYear",!Now)) + " " + Str$(Alter%)
EndSelect
Imprimer
WaitInput
en supplément ici qui entsprechende Fehlermeldung: [...] |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 17.04.2015 ▲ |
|
|
|
|
HofK | Pour XProfan 11.2 musste Je l' "Trick" quelque chose abändern, Minus...
return -(datMT$ < gebMT$)+(datJ$-gebJ$)
ensuite klappt's aussi, Test avec festem date "2015.04.15".
Nachtrag: si len(geb$) > 0 était so seulement sinnvoll chez Bezug des Geb.-Datums aus qui banque de données, là cela champ aussi vide son konnte.
imprimer alter("1978.07.21")
waitinput
proc alter
parameters geb$
declare dat$, datJ$, datMT$, gebJ$, gebMT$
dat$ = "2015.04.15"
datJ$ = left$(dat$,4)
gebJ$ = left$(geb$,4)
datMT$ = mid$(dat$,6,5)
gebMT$ = mid$(geb$,6,5)
// imprimer (datMT$ > gebMT$)
return -(datMT$ > gebMT$)+(datJ$-gebJ$)
endproc
|
|
|
| |
|
|
|
HofK | chez InfinityProfan pourrait es ensuite la fois so ähnlich aller:
|
|
|
| |
|
|
|
HofK | |
|
| |
|
|