Funkcia vytvorí periódu platnú pre celý nasledujúci podstrom výpočtu a vráti jej identifikátor. Perióda je definovaná pomocou začiatočného času (periodBT), od ktorého sa potom aplikuje daný počet (stepCount) základných krokov (stepBase). Ako základný krok je možné použiť jednu z konštánt pre definíciu periódy. V prípade, že krok je definovaný ako násobok sekúnd, pracuje sa vždy v monotónnom čase, inak (násobok dní/mesiacov) sa pracuje v lokálnom čase. V prípade denných a mesačnýchperiód má význam ešte parameter timeZone, určujúci časové pásmo, kvôli správnej identifikácii hraníc dňa a prechodov medzi zimným a letným časom.
Upozornenie: Nie je možné vytvoriť periódy so začiatkom v dni/čase, ktorý neexistuje v každom ďalšom krokom danom intervale - teda 29-31 deň mesiaca, ak každý ďalší mesiac nemá aspoň toľko dní, resp. v čase posunu zo zimného na letný čas.
Deklarácia
INT %CreatePeriod(
TIME _periodBT,
INT _stepBase,
INT _stepCount,
[INT|TEXT _timeZone := %TIME_ZONE]
)
-- vytvorenie ročnej periódy so začiatkom 1.januára 00:00:00
INT _yearPeriod;
_yearPeriod := %CreatePeriod(%BeginYear(%CurrTime), %StepBase_Month, 12);
0 komentárov