BEGIN
INT _errorCode, _i
TEXT _funcBody
TIME _bt, _et
RECORD NOALIAS (SD.EDA_Period) _periods
RECORD NOALIAS (SD.EDA_CalcFunction_Params_V1) _calcParams
RECORD NOALIAS (SD.EDA_Arr_Obj) _data
; vytvori polhodinovu periodu
_periods[1]^code := "Min30"
_periods[1]^title := _periods[1]^code
_periods[1]^beginTime := %TimeFromItems(2015, 1, 1, 0, 0, 0, 0, 3600)
_periods[1]^timeZone := 0
_periods[1]^stepBase := 1 ; zakladny krok - sekunda
_periods[1]^stepCount := 1800 ; pocet krokov - 1800
_periods[1]^create := @TRUE
CALL %EDA_SetPeriods(_periods, _errorCode)
IF _errorCode != 0 THEN
RETURN
ENDIF
; nacita funkciu s polhodinovou periodou za jeden den
; vysledne _data budu obsahovat 48 hodnot
_funcBody := "VEKTOR _v; INT _i;" + %Chr(10)
_funcBody := _funcBody + "%CreateVektor(_v, 1);" + %Chr(10)
_funcBody := _funcBody + "_v[1] := 1;" + %Chr(10)
_funcBody := _funcBody + "RETURN _v;"
_bt := %TimeFromItems(2015, 1, 1, 0, 0, 0, 0, 3600)
_et := %TimeFromItems(2015, 1, 2, 0, 0, 0, 0, 3600) - 1
_calcParams[1]^structVersion := 1
CALL %EDA_CalcFunctionRec(10, _funcBody, _bt, _et, _periods[1]^code, _calcParams, _data, 1, _errorCode)
IF _errorCode != 0 THEN
RETURN
ENDIF
END
|