Calendar
Ray Horsley
ray at linkitonline.com
Wed Aug 3 06:58:14 CDT 2005
Works like a charm.
Much thanks!
Ray Horsley
Developer, LinkIt! Software
On Aug 2, 2005, at 1:40 PM, FlexibleLearning at aol.com wrote:
>> Does anybody have [and willing to share] a calendar maker?
>>
>> Thanks,
>>
>> Ray Horsley
>> Developer, LinkIt! Software
>
>> From ssBk:
>
> on mouseUp
> # Syntax: FLCcalendar (<startDay 1-7>, <Month 1-12>,<Year 1970-2037>)
> # Gives a language-localized calendar with selectable first day of
> week
> put random(7) into weekStartsOn
> put random(12) into tMonth
> put random(67) +1969 into tYear
> put FLCcalendar(weekStartsOn,tMonth,tYear) into cd fld "Calendar"
> end mouseUp
>
> function FLCcalendar tStartDayNum,tM,tY
> put the system monthNames into tMonthNames
> get the abbrev system WeekDayNames
> repeat for each line L in it
> if len(L) is 2 then put space & L into L
> put char 1 to 3 of L &cr after tAbbrevWeekDayNames
> end repeat
> delete last char of tAbbrevWeekDayNames
> # Verify params...
> put tM &"/1/"& tY into tCalendarMonth
> convert tCalendarMonth to dateItems
> if the result <>"" then return "Date error"
> put item 1 of tCalendarMonth into tY
> # Build Calendar title...
> put line (item 2 of tCalendarMonth) of tMonthNames && tY into
> monthHeader
> # Build Calendar day header line, starting from selected day of the
> week...
> put tAbbrevWeekDayNames into dayHeader
> put (line tStartDayNum to -1 of dayHeader)&cr&(line 1 to tStartDayNum
> -1 of
> dayHeader) into dayHeader
> replace cr with space in dayHeader
> # To centre the monthHeader...
> put char 1 to round((length(dayHeader)-length(monthHeader)) div 2) +1
> of "
> " before monthHeader
> # Build Calendar...
> put empty into days
> if tStartDayNum is 1 then put 7 into tEndDayNum
> else put tStartDayNum -1 into tEndDayNum
> # Calculate position of first date...
> put (item 7 of tCalendarMonth) - (tStartDayNum)+1 into dayOffset
> if dayOffset < 1 then put (7+ dayOffset) into dayOffset
> repeat with dayNum = 1 to dayOffset -1
> put " " after days
> end repeat
> # Complete Calendar...
> repeat while item 2 of tCalendarMonth is tM
> get " " & item 3 of tCalendarMonth & " "
> if length(it) is 3 then get " " & it
> if item 7 of tCalendarMonth is tEndDayNum then get it & cr
> put it after days
> add 1 to item 3 of tCalendarMonth
> convert tCalendarMonth from dateItems to long system date -- to force
> next
> line to update
> convert tCalendarMonth from long system date to dateItems
> end repeat
> return monthHeader & cr & dayHeader & cr & days
> end FLCcalendar
>
> /H
>
> _______________________________________________
> metacard mailing list
> metacard at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/metacard
>
More information about the metacard
mailing list