Español
Fuente/ Codesnippets

Datumsberechnung

 

Torben
Nissen
Dieses kleine Programa berechnet, como alt uno en Jahren es.
'Ein kleines Ejemplo, cómo hacerlo Alter en Jahren berechnen kann (de Profano X2).
'de Torben Nissen
'16.04.2015
Declarar aktuellesjahr!,aktuellermonat!,aktuellertag!
Declarar geburtsdatum$,geburtsdatum!,geburtsjahr!,geburtsmonat!,geburtstag!
Declarar alter!,alter$
aktuellesjahr!=@dt("getYear", !now)
aktuellermonat!=@dt("getMonth", !now)
aktuellertag!=@dt("getDay", !now)
geburtsdatum$="17.01.2000"
geburtsdatum!=@dt("setDate", geburtsdatum$)
geburtsjahr!=@dt("getYear", geburtsdatum!)
geburtsmonat!=@dt("getMonth", geburtsdatum!)
geburtstag!=@dt("getDay", geburtsdatum!)
Conjunto("Decimals",0)

If (aktuellertag! < geburtstag!) And (aktuellermonat! = geburtsmonat!)

    alter! = aktuellesjahr! - geburtsjahr! - 1

ElseIf (aktuellertag! > geburtstag!) And (aktuellermonat! = geburtsmonat!)

    alter! = aktuellesjahr! - geburtsjahr!

ElseIf (aktuellertag! = geburtstag!) And (aktuellermonat! = geburtsmonat!)

    alter! = aktuellesjahr! - geburtsjahr!

EndIf

If aktuellermonat! < geburtsmonat!

    alter! = aktuellesjahr! - geburtsjahr! - 1

ElseIf aktuellermonat! > geburtsmonat!

    alter! = aktuellesjahr! - geburtsjahr!

EndIf

alter$=alter!
cls
Imprimir "Alter: "+alter$
WaitInput
End
 
16.04.2015  
 




HofK
Kann uno auch en XProfan el largo Auswahl ersparen?

In mi Scopeland-Projekt (Base SQL) podría Yo knifflige Características por VB Skript einbetten. Daher el Ver código fuente Alter al aktuellen Tag y Bestimmung si minder- oder volljährig a diesem Tag. Das Datumsformat es offensichtlich JJJJ.MM.TT

Wenn Yo a el Punto bin, schaue Yo veces, como en InfinityProfan aussieht.

Der "Trick" steckt en el Addition des numerischen Ergebnisses des Vergleichs (datMT < gebMT) + ...
Je después de Lingua muss uno also genauer schauen qué como passiert y eventuell todavía explizite Wandlungen vornehmen.

Alter al aktuellen Tag

Minder/Volljährig
 
17.04.2015  
 




Jörg
Sellmeyer
El Datumsfunktionen son algo umständlich y kryptisch aber geben muy viel Nützliches her.
Gerade en Datumsvergleichen, puede ser se el Aufdröseln en Tag, Monat, Jahr sparen.

Hier una Altersermittlung, el sagt, si Todavía Geburtstag habe, ya hatte oder heute habe:
Selección aleatoria
Var Geburtstag$ = Entrada$("Bitte Geburtsdatum eingeben","Mein Alter",Dt("GetDate",0,!Now - Rnd(20000)))
Var s$ = Left$(Geburtstag$,6) + Str$(DT("getYear",!Now))'hier ersetze Yo simplemente el Jahreszahl des Geburtsjahres por el aktuelle Jahreszahl
Var n% = Dt("CompareDate",!Now,Dt("SetDate",s$))
'laut Ayuda debería SetDate el eigentlich automáticamente hacer, el funktioniert aber anscheinend no.
Var Alter% = Abs(DT("GetYear",!Now) - DT("GetYear",Dt("SetDate",Geburtstag$)))

Select n%

    CaseOf 1

    imprimir "Du bist al " + Left$(Geburtstag$,6) + Str$(DT("getYear",!Now)) + " " + Str$(Alter%) + " geworden."

    CaseOf 0

    Imprimir "Herzlichen Glückwunsch para " + Str$(Alter%) + ". Geburtstag!"

    CaseOf -1

    imprimir "Du wirst al " + Left$(Geburtstag$,6) + Str$(DT("getYear",!Now)) + " " + Str$(Alter%)

EndSelect

Imprimir
WaitInput

Dazu hier el entsprechende Fehlermeldung:  [...] 
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
17.04.2015  
 




HofK
Für XProfan 11.2 musste Yo, el "Trick" algo abändern, Minus...

volver -(datMT$ < gebMT$)+(datJ$-gebJ$)

Dann klappt's auch, Test con festem Datum "2015.04.15".

Apéndice: if len(geb$) > 0 war así sólo sinnvoll en Bezug des Geb.-Datums de el Datenbank, como el Feld auch leer ser podría.
imprimir  alter("1978.07.21")
waitinput

proc alter

    parámetros geb$
    declarar 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)
    // imprimir (datMT$ > gebMT$)
    volver -(datMT$ > gebMT$)+(datJ$-gebJ$)

ENDPROC

 
18.04.2015  
 




HofK
En InfinityProfan podría lo entonces veces así ähnlich ir:
imprimir alter("19781210")// Geburtsdatum en el Datenbankformat yyyymmdd

proc alter(geb)

    var dat   = time(10)// 10: aktuelles Datum en el Datenbankformat yyyymmdd
    var datJ  = str(dat,1,4)// con Incluir eventuell left()
    var gebJ  = str(geb,1,4)
    var datMT = str(dat,1,4)// con Incluir eventuell mid()
    var gebMT = str(geb,5,4)
    // imprimir (datMT < gebMT) // para Test el eventuellen numerischen Repräsentation de true
    // sonst "wandeln"
    volver -(datMT < gebMT)+(datJ-gebJ)// ev. entonces testen, Minus como en Xprofan ???

ENDPROC

 
20.04.2015  
 




HofK
Klaus Hoffmeister (20.04.15)
En InfinityProfan podría lo entonces veces así ähnlich ir:



... y así sieht lo tatsächlich de: [...] 
 
10.11.2015  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

8.726 Views

Untitledvor 0 min.
Erhard Wirth14.06.2024
H.Brill11.11.2022
p.specht20.11.2021
E.T.20.11.2021
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie