User Tools

Site Tools


datetimedisplaycode_group.htm
Navigation:  Templates > Template Language Reference > Annotated Examples > Extension Template: DateTimeDisplay >====== %DateTimeDisplayCode #GROUP C6H0068.jpg ====== Previous pageReturn to chapter overviewNext page

This #GROUP generates the code to actually display the Date and/or Time.

#GROUP(%DateTimeDisplayCode)

   #IF(%DisplayDate)

     #IF(%ShowDayOfWeek)

       #CASE(%DateDisplayLocation)

       #OF('Control')

 %DateControl{Prop:Text} = CLIP(DisplayDayText[(TODAY()7)+1]) & ', ' &  %|** **                                 FORMAT(TODAY(),%DateUsePicture)** **  DISPLAY(%DateControl)** **        #ELSE** **  %Window{Prop:StatusText,%DateStatusSection} = CLIP(DisplayDayText[(  %|** **          TODAY()7)+1]) & ', ' & FORMAT(TODAY(),%DateUsePicture)

       #ENDCASE

     #ELSE

       #CASE(%DateDisplayLocation)

       #OF('Control')

 %DateControl{Prop:Text} = FORMAT(TODAY(),%DateUsePicture)

 DISPLAY(%DateControl)

       #ELSE

 %Window{Prop:StatusText,%DateStatusSection} = FORMAT(TODAY(),%DateUsePicture)

       #ENDCASE

     #ENDIF

   #ENDIF

   #IF(%DisplayTime)

     #CASE(%TimeDisplayLocation)

     #OF('Control')

 %TimeControl{Prop:Text} = FORMAT(CLOCK(),%TimeUsePicture)

 DISPLAY(%DateControl)

     #ELSE

 %Window{Prop:StatusText,%TimeStatusSection} = FORMAT(CLOCK(),%TimeUsePicture)

     #ENDCASE

   #ENDIF

The #IF(%DisplayDate) structure generates the code to display the date. The #IF(%ShowDayOfWeek) structure detects the programmer's choice to display the day along with the date, then #CASE(%DateDisplayLocation) generates the code to display into a STRING display-only control for the #OF('Control') clause.

The assignment statement concatenates the day of the week (from the DisplayDayText[(TODAY() 7)+1] expression) with the formatted date (from the FORMAT(TODAY(),%DateUsePicture) expression) into the STRING(text) property (the %DateControl{Prop:Text} property). The generates as a single % (modulus operator) for the TODAY() % 7 + 1 expression to get the correct day of the week text from the DisplayDayText array. The #ELSE clause of the #CASE(%DateDisplayLocation) assigns the same expression to the status bar section the programmer chose for the date display.

The #ELSE clause of the #IF(%ShowDayOfWeek) structure performs the same assignments, without the day of the week. The #IF(%DisplayTime) structure performs the same type of assignments of the formatted time to either a STRING display-only control or the status bar.

datetimedisplaycode_group.htm.txt · Last modified: 2021/04/15 15:57 (external edit)