View Categories

DATEADD

//Scriptfunktion 'DATEADD'
//Addiert einen Wert des angegebenen Intervalls auf ein bestimmtes Datum.
//
//Addiert einen Wert des angegebenen Intervalls auf ein bestimmtes Datum.
//
//Parameter für Intervall:
//d    Tag, auf einen ganzzahligen Wert abgeschnitten
//y    Tag des Jahres, auf einen ganzzahligen Wert abgeschnitten
//h    Stunde, auf einen ganzzahligen Wert abgeschnitten
//n    Minute, auf einen ganzzahligen Wert abgeschnitten
//m    Monat, auf einen ganzzahligen Wert abgeschnitten
//q    Quartal, auf einen ganzzahligen Wert abgeschnitten
//s    Sekunde, auf einen ganzzahligen Wert abgeschnitten
//w    Wochentag, auf einen ganzzahligen Wert abgeschnitten
//ww   Woche, auf einen ganzzahligen Wert abgeschnitten
//yyyy Jahr, auf einen ganzzahligen Wert abgeschnitten


//
//Beispiel:
//Beispiel: Auswahlbox der letzten 5 Jahre
MSG_TMP=""
SYMBOL="0"
COUNTER="0"
SELECT_DATE=""
JAHR=MID{{DATE},7,4}
DO{}
	IFBLOCK{COUNTER=4}
		SELECT_DATE={SELECT_DATE}{JAHR}
		EXIT{}
	ELSE
		SELECT_DATE={SELECT_DATE}{JAHR};
	ENDIF
	COUNTER=SUM{{COUNTER}+1}
	TMP_DATE_TAG=MID{{DATE},1,2}
	TMP_DATE_MONAT=MID{{DATE},4,2}
	TMP_DATE={TMP_DATE_TAG}.{TMP_DATE_MONAT}.{JAHR}
	TMP_DATE=DATEADD{m,-12,{TMP_DATE}}
	JAHR=MID{{TMP_DATE},7,{TMP_DATE}}
LOOP{}
JAHR=DLGINPUTBOX{Hier wird das aktuelle Jahr und die 4 Jahre davor aufgelistet,Bitte wählen Sie das Jahr:,2,True,{SELECT_DATE},,{SYMBOL}}
IFBLOCK{JAHR!}
	MSG_TMP={MSG_TMP}Das ausgewählte Jahr ist {JAHR}{RET}
ELSE
	DLG=DLGMESSAGE{Abbruch durch Benutzer}
	TMP_WRITE=SAVEFILE{{APPPATH}\CONFIG\ScriptCmd\SOURCE\{AUSWAHL}.MCFSCR,{MSG},False,False}
	GO{ANFANG}
	EXIT=EXITSCRIPT{}
ENDIF


//Beispiel: Prüfen, ob ein Aufnahmedatum vorhanden ist
IFBLOCK{AUFDATUM!}
	// Aufnahmedatum speichern und anzeigen
	TEST_AUFDAT={AUFDATUM}
	MSG_TMP={MSG_TMP}Das Aufnahmedatum ist: {AUFDATUM}{RET}
	// Auf das Aufnahmedatum 30 Tage addieren
	TEST_AUFDAT=DATEADD{d,30,{TEST_AUFDAT}}
	// Neues Datum nach der Addition anzeigen
	MSG_TMP={MSG_TMP}Nach dem Addieren: {TEST_AUFDAT}{RET}
ELSE
	// Fehlermeldung, falls kein Aufnahmedatum eingegeben wurde
	MSG_TMP={MSG_TMP}Kein Aufnahmedatum eingegeben!{RET}
ENDIF
//Fristberechnung + Formatierung
HEUTE={DATE}
FRIST=DATEADD{m,6,{HEUTE}}
DIFF=DATEDIFF{d,{HEUTE},{FRIST}}
FRISTFMT=FORMAT{{FRIST},dd.mm.yyyy}
MSG_TMP={MSG_TMP}Fristende: {FRISTFMT}{RET}Tage bis dahin: {DIFF}{RET}
// Alter berechnen
GEBD="09.11.1950"
HEUTE={DATE}
JAHRE=DATEDIFF{yyyy,{GEBD},{HEUTE}}
BDAY_THISYEAR=DATEADD{yyyy,{JAHRE},{GEBD}}
DIFFDAYS=DATEDIFF{d,{HEUTE},{BDAY_THISYEAR}}
IFBLOCK{DIFFDAYS>0}
	JAHRE=SUM{{JAHRE}-1}
ENDIF
MSG_TMP={MSG_TMP}Wenn Patient am {GEBD} Geburtstag hat, ist das Alter des Patienten {JAHRE} Jahre
DLG=DLGMESSAGE{{MSG}{MSG_TMP}}