Open Settings Function TimeToMinutes Global String lsTime Returns Integer If (lsTime <> "") Begin If (Not(Pos(":",lsTime))) Move (Right("0000"+lsTime,4)) To lsTime Function_Return (((Left(lsTime,2))*60) + (Right(lsTime,2))) End Function_Return 0 End_Function // TimeToMinutes Function MinutesToTime Global Integer liTime Boolean lbFormat Returns String If (liTime = 0) Begin If (lbFormat) Function_Return "00:00" Else Function_Return 0 End Else Begin If (lbFormat) Function_Return ((Right("00"+(String(Integer(liTime/60))),2))+":"+(Right("00"+(String(Mod(liTime,60))),2))) Else Function_Return ((String(Integer(liTime/60)))+(Right("00"+(String(Mod(liTime,60))),2))) End End_Function // MinutesToTime Function TimeDiff Global String lsTime1 String lsTime2 Returns Integer Function_Return ((TimeToMinutes(lsTime2))-(TimeToMinutes(lsTime1))) End_Function // TimeDiff Function TotalItemsFromTime Global String lsStartTime String lsEndTime Returns Integer Integer liStart Integer liEnd Move (TimeToMinutes(lsStartTime)) To liStart Move (TimeToMinutes(lsEndTime)) To liEnd Function_Return ((liEnd-liStart)/Settings.Interval) End_Function // TotalItemsFromTime //Item 0 = (psStartTime(Self)) //Item x = (psStartTime(Self)) + (Interval+x) Function ItemToTime Global Integer liItem Returns String String lsBase Integer liTime String lsTime Move Settings.Agenda_Start To lsBase Move (TimeToMinutes(lsBase)) To liTime Move (liTime + (Settings.Interval * liItem)) To liTime If (liTime > (TimeToMinutes(Settings.Agenda_End))) Move "" To lsTime Else Move (MinutesToTime(liTime,True)) To lsTime Function_Return lsTime End_Function // ItemToTime //Item 0 = (psStartTime(Self)) //Item x = (psStartTime(Self)) + (Interval+x) Function ItemToDbTime Global Integer liItem Returns Integer String lsBase Integer liTime String lsTime Move Settings.Agenda_Start To lsBase Move (TimeToMinutes(lsBase)) To liTime Move (liTime + (Settings.Interval * liItem)) To liTime Move (MinutesToTime(liTime,False)) To lsTime Function_Return lsTime End_Function // ItemToTime // 08:00 = Item 0 // 08:15 = Item 1 Function TimeToItem Global String sTime Returns Integer Integer iStart iEnd String sBase Move (TimeToMinutes(sTime)) To iEnd Move Settings.Agenda_Start To sBase Move (TimeToMinutes(sBase)) To iStart Function_Return ((iEnd-iStart) / Settings.Interval) End_Function // TimeToItem Function TimeInDay Global String lsTime Returns Boolean Integer liTime Integer liRef Move (TimeToMinutes(lsTime)) To liTime Move (TimeToMinutes(Settings.Day_Start)) To liRef If (liTime < liRef) Function_Return False Move (TimeToMinutes(Settings.Day_End)) To liRef If (liTime >= liRef) Function_Return False Function_Return True End_Function // TimeInDay Function DbTimeToItem Global Integer iTime Returns Integer Integer iMinutes Function_Return (TimeToItem(String(iTime))) End_Function // DbTimeToItem