| | |
| | | TextBody: |
| | | [* |
| | | // 甄兰鸽 May-29-2024 (created) |
| | | startTime := starttime; |
| | | nextweektime := starttime; |
| | | nextmonthtime := starttime; |
| | | startTime := starttime; |
| | | nextweektime := starttime; |
| | | nextmonthtime := starttime; |
| | | while( startTime < endtime ){ |
| | | //for( startTime := starttime; startTime < endtime; startTime := startTime.StartOfNextDay() ){ |
| | | //天 |
| | | daytime := this.GetTimeByTimeUnit( starttime, startTime, Translations::MP_GlobalParameters_Day() ); |
| | | daycolumn := table.GetColumnByTimeUnit( table, daytime, Translations::MP_GlobalParameters_Day() ); |
| | | daycell := daycolumn.GetCellByTimeUnit( this, desc ); |
| | | if( table.MaxDayDate().IsInfinite() ){ |
| | | table.MaxDayDate( daytime ); |
| | | }else{ |
| | | table.MaxDayDate( ifexpr( table.MaxDayDate() < daytime, daytime, table.MaxDayDate() ) ); |
| | | } |
| | | if( table.MinDayDate().IsInfinite() ){ |
| | | table.MinDayDate( daytime ); |
| | | }else{ |
| | | table.MinDayDate( ifexpr( table.MinDayDate() > daytime, daytime, table.MinDayDate() ) ); |
| | | } |
| | | |
| | | dayvalue := [Real]daycell.Value(); |
| | | if( startTime.StartOfNextDay() > endtime ){ |
| | |
| | | weektime := this.GetTimeByTimeUnit( starttime, startTime, Translations::MP_GlobalParameters_Week() ); |
| | | weekcolumn := table.GetColumnByTimeUnit( table, weektime, Translations::MP_GlobalParameters_Week() ); |
| | | weekcell := weekcolumn.GetCellByTimeUnit( this, desc ); |
| | | |
| | | if( table.MaxWeekDate().IsInfinite() ){ |
| | | table.MaxWeekDate( weektime ); |
| | | }else{ |
| | | table.MaxWeekDate( ifexpr( table.MaxWeekDate() < weektime, weektime, table.MaxWeekDate() ) ); |
| | | } |
| | | if( table.MinWeekDate().IsInfinite() ){ |
| | | table.MinWeekDate( weektime ); |
| | | }else{ |
| | | table.MinWeekDate( ifexpr( table.MinWeekDate() > weektime, weektime, table.MinWeekDate() ) ); |
| | | } |
| | | weekvalue := [Real]weekcell.Value(); |
| | | if( startTime.StartOfNextWeek() > endtime ){ |
| | | duration := endtime - startTime; |
| | |
| | | monthtime := this.GetTimeByTimeUnit( starttime, startTime, Translations::MP_GlobalParameters_Month() ); |
| | | monthcolumn := table.GetColumnByTimeUnit( table, monthtime, Translations::MP_GlobalParameters_Month() ); |
| | | monthcell := monthcolumn.GetCellByTimeUnit( this, desc ); |
| | | info( nextmonthtime, startTime, monthtime, isnull( monthcolumn ), isnull( monthcell ) ); |
| | | if( table.MaxMonthDate().IsInfinite() ){ |
| | | table.MaxMonthDate( monthtime ); |
| | | }else{ |
| | | table.MaxMonthDate( ifexpr( table.MaxMonthDate() < monthtime, monthtime, table.MaxMonthDate() ) ); |
| | | } |
| | | if( table.MinMonthDate().IsInfinite() ){ |
| | | table.MinMonthDate( monthtime ); |
| | | }else{ |
| | | table.MinMonthDate( ifexpr( table.MinMonthDate() > monthtime, monthtime, table.MinMonthDate() ) ); |
| | | } |
| | | // info( nextmonthtime, startTime, monthtime, isnull( monthcolumn ), isnull( monthcell ) ); |
| | | monthvalue := [Real]monthcell.Value(); |
| | | if( startTime.StartOfNextMonth() > endtime ){ |
| | | duration := endtime - startTime; |