Anonymous user
Calendar - for "REAL" programmers: Difference between revisions
→{{header|Elena}}
m (→{{header|Sidef}}: updated code) |
|||
Line 819:
=={{header|Elena}}==
ELENA 3.
<lang elena>
const MonthNames = ("JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER").
Line 838:
object theRow.
constructor new
[
theMonth := aMonth.
theYear := aYear.
theLine := TextBuffer new.
theRow := Integer new
]
Line 849:
[
theRow set:0.
theDate := Date new
DayNames run
[ theLine writeLiteral:" ":aName ]
]
Line 860:
if (theDate month == theMonth)
[
theLine write:" "
control do:
[
theLine write:(theDate day; literal)
theDate := theDate add
]
].
int aLength := theLine length.
if (aLength < 21)
[ theLine write:" "
theRow
]
{
available = theRow < 7.
[
if (anIndex <= theRow)
[ $owner writeTitle
while (anIndex > theRow)
[ $owner writeLine
]
Line 898:
printTitleTo : anOutput
[
anOutput write:(MonthNames @(theMonth - 1))
]
Line 920:
printTo:anOutput
[
anOutput write:"[SNOOPY]"
anOutput writeLine.
anOutput write:(theYear literal)
anOutput writeLine; writeLine.
var aRowCount := 12 / theRowLength.
var Months := Array new
[ ^ Array new
[ ^ CalendarMonthPrinter new
Months run
[
aRow run
[
aMonth printTitleTo:anOutput.
anOutput write:" ".
].
anOutput writeLine.
ParallelEnumerator new:aRow; run
[
aLine run
[
aPrinter printTo:anOutput.
anOutput write:" "
].
anOutput writeLine
].
].
]
}
program =
[
var aCalender := Calendar new:(console write:"ENTER THE YEAR:";
aCalender printTo:console.
|