Calendar - for "REAL" programmers: Difference between revisions

Content added Content deleted
(Added a C versoin)
Line 2,347: Line 2,347:
<lang M2000 Interpreter>
<lang M2000 Interpreter>


GLOBAL CONST PRINT_IT AS BOOLEAN=FALSE
MODULE GLOBAL SNOOPY {
IF NOT PRINT_IT THEN CURSOR 0,ROW ELSE IF ROW>0 THEN PAGE 1
PRINT $(,8)
PRINT #-2, {
XXXX
X XX
X *** X XXXXX
X ***** X XXX XX
XXXX ******* XXX XXXX XX
XX X ****** XXXXXXXXX El@ XX XXX
XX X **** X X** X
X XX XX X X***X
X //XXXX X XXXX
X // X XX
X // X XXXXXXXXXXXXXXXXXX/
X XXX// X X
X X X X X
X X X X X
X X X X X XX
X X X X X XXX XX
X XXX X X X X X X
X X X XX X XXXX
X X XXXXXXXX\ XX XX X
XX XX X X @X XX
XX XXXX XXXXXX/ X XXXX
XXX XX*** X X
XXXXXXXXXXXXX * * X X
*---* X X X
*-* * XXX X X
*- * XXX X
*- *X XXX
*- *X X XXX
*- *X X XX
*- *XX X X
* *X* X X X
* *X * X X X
* * X** X XXXX X
* * X** XX X X
* ** X** X XX X
* ** X* XXX X X
* ** XX XXXX XXX
* * * XXXX X X
* * * X X X
=======******* * * X X XXXXXXXX\
* * * /XXXXX XXXXXXXX\ )
=====********** * X ) \ )
====* * X \ \ )XXXXX
=========********** XXXXXXXXXXXXXXXXXXXXXX

}
}
MODULE CALENDAR (YEAR, LOCALEID) {
MODULE CALENDAR (YEAR, LOCALEID) {
FUNCTION GETMAX(YEAR, MONTH) {
FUNCTION GETMAX(YEAR, MONTH) {
Line 2,365: Line 2,417:
}
}
LOCALE LOCALEID
LOCALE LOCALEID
CURSOR 0,HEIGHT-1 ' LAST LINE, SO EACH NEW LINE SCROLL ALL LINES UP
IF NOT PRINT_IT THEN CURSOR 0,HEIGHT-1 ' LAST LINE, SO EACH NEW LINE SCROLL ALL LINES UP
PRINT OVER $(2),"[SNOOPY]"
SNOOPY
PRINT UNDER ' PRINT UNDERLINE
PRINT UNDER ' PRINT UNDERLINE
PRINT OVER $(2), YEAR
PRINT OVER $(2), YEAR
Line 2,373: Line 2,426:
PRINT
PRINT
FOR I=1 TO 6 {
FOR I=1 TO 6 {
MONTH=I+J*6
MONTH=I+J*6
PRINT PART @((I-1)*22), $(2,21), UCASE$(LOCALE$(55+MONTH))
PRINT PART @((I-1)*22), $(2,21), UCASE$(LOCALE$(55+MONTH))
}
}
Line 2,412: Line 2,465:
}
}
}
}
WHILE INKEY$<>"" : END WHILE
FORM 132,43
IF PRINT_IT THEN PRINTING ON
CALENDAR 1969, 1033 ' ENGLISH
FONT "COURIER NEW"
K=KEY$ ' WAIT KEY
PEN 0
CALENDAR 2018, 1032 ' GREEK
CLS 15, 0
FORM 132,68
CALENDAR 1966, 1032 ' GREEK
GOSUB WAITKEY_OR_MOUSE
FOR I=2019 TO 2025
CALENDAR I, 1033 ' ENGLISH
GOSUB WAITKEY_OR_MOUSE
NEXT I
IF PRINT_IT THEN PRINTING OFF
CLEAR ' CLEAR VARIABLES FROM THIS MODULE
KEYBOARD "INFO"+CHR$(13)
END
WAITKEY_OR_MOUSE:
IF PRINT_IT THEN RETURN
WHILE INKEY$="" AND MOUSE=0
END WHILE
RETURN



</lang>
</lang>