\START92\ \COMMENT= \NAME=calendar \FILE=CALENDAR.89P () Prgm \(C)\Interactive Prgm, no args Local y,m,d,r,l,w,t1 0\->\t1 getType(t1)\->\t1 "2000"\->\y Dialog Title "Kevin Kofler's Super Calendar 1.00.0001" Request localize("Year","Ann\e'\e","Jahr","Anno"),y DropDown localize("Month:","Mois:","Monat:","Mese:"),seq(string(m),m,1,12),m EndDlog If ok=0:Return Try expr(y)\->\y Else ClrErr Text localize("Invalid year!","Ann\e'\e incorrecte!","Ungueltiges Jahr!","Anno non valido!") Return EndTry If getType(y)\!=\t1 Then Text localize("Year must be numeric!","L'ann\e'\e doit \e^\tre un nombre!","Jahr mu\ss\ numerisch sein!","L'anno deve essere un numero!") Return EndIf If fPart(y)\!=\0 Then Text localize("Year must be an integer!","L'ann\e'\e doit \e^\tre un entier!","Jahr mu\ss\ eine Ganzzahl sein!","L'anno deve essere un numero intero!") Return EndIf If y\<=\1800 Then Text localize("Year must be >1800!","L'ann\e'\e doit \e^\tre >1800!","Jahr mu\ss\ >1800 sein!","L'anno deve essere >1800!") Return EndIf If y\>=\2100 Then Text localize("Year must be <2100!","L'ann\e'\e doit \e^\tre <2100!","Jahr mu\ss\ <2100 sein!","L'anno deve essere <2100!") Return EndIf ClrIO Disp " "&localize("MO TU WE TH FR SA SU","LU MA ME JE VE SA DI","MO DI MI DO FR SA SO","LU MA ME GI VE SA DO") 1\->\r when(m=12,31,datelist(dateserl(y,m+1,1)-1)[3])\->\l weekday(y,m,1)\->\w For d,1,l Output 8*r,18*w,string(d) If w=7 Then r+1\->\r 1\->\w Else w+1\->\w EndIf EndFor EndPrgm \STOP92\