Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languageesl
themeConfluence
%EDA_SetFunctionRec(
   INT/TEXT  in _vector,
   INT  in _funcType,
   TEXT in _funcBody,
   REC  in _params,
   INT  out _errorCode
  );

Parametre

 

ParameterDátový typTypPopis
1vectorINT/TEXTINID / kód vektora.
2funcTypeINTINTyp výpočtu (podporený len 1 - na požiadanie).
3funcBodyTEXTINPredpis funkcie v EDA-L.
4paramsRECINŠtruktúra voliteľných parametrov.
5errorCodeINTOUTNávratová hodnota.


Obsah štruktúry voliteľných parametrov verzie 1:

 

ParameterDátový typDefaultPopis
1structVersionINT
 

Verzia štruktúry - 1.
2periodINT
 

Nepodporené
3offsetINT
 

Nepodporené
4descTEXTbez popisuPopis k funkcii.
5podTIME
 

Nepodporené
6pdoTIME
 

Nepodporené
7userNameTEXT"" (nezapisuje logovaciu informáciu)Login užívateľa, ktorý vykonal zmenu (voliteľný).
8deletePrecalculatedBOOLTRUEPríznak, či sa majú predpočítané dáta zmazať alebo ponechať.
9
Anchor
version
version
version
INT/TEXT"" (nenastavené)Identifikátor (id/kód) verzie, do ktorej sa má vykonať zápis.
10
Anchor
forceversiontime
forceversiontime
forceVersionTime
BOOL@FALSE (časová pečiatka sa generuje - aktuálny čas)Pre zapisované dáta vynúti použitie časovej pečiatky z parametra version.
11precalcRqBOOL@FALSEPríznak vynucujúci predpočítanosť vektora pri jeho načítaní.
12cacheIdINT0 (default read cache)Identifikátor cache.
13checkFunctionBOOL@FALSEPríznak, či sa pred uložením funkcie, má vykonať aj jej syntaktická kontrola. Systém v tomto prípade neumožní uložiť predpis s chybami.
14batchIdINT
 

Identifikátor dávky, do ktorej sa má príkaz vložiť.
15userLogTEXT
 

Užívateľský popis akcie.


Príklad použitia


Code Block
languageesl
themeRDark
 BEGIN
  INT _vectorId = 1000000
  TEXT _vectorName = "vector.test"
  INT _errorCode
  TEXT _funcBody
  TEXT _CRLF = %Chr(13) + %Chr(10)
  RECORD NOALIAS (SD.EDA_CreateVector_Params_V1) _createParams
  RECORD NOALIAS (SD.EDA_SetFunction_Params_V1) _funcParams
 
  ; vytvori vypocitany vektor
  _createParams[1]^structVersion := 1
  _createParams[1]^periodBeginTime := %TimeFromItems(2015, 1, 1, 0, 0, 0, 0)
  _createParams[1]^periodStepBase := 1
  _createParams[1]^periodStepCount := 3600
  CALL %EDA_CreateVectorRec(_vectorName, _vectorId, _vectorName, 13, _createParams, _errorCode)
  IF _errorCode != 0 THEN
   RETURN
  ENDIF
 
  ; nastavi vektoru predpis
  _funcBody := "VEKTOR _v;" + 
%Chr(10)
 _CRLF 
  _funcBody := _funcBody + "INT _i;" + 
%Chr(10)
_CRLF
  _funcBody := _funcBody + "%CreateVektor(_v, _BT, _ET, _STEP);" + 
%Chr(10)
_CRLF
  _funcBody := _funcBody + "FOR _i = 1 TO %ValuesNr(_v) LOOP" + 
%Chr(10)
_CRLF
  _funcBody := _funcBody + " _v[_i] := _i;" + 
%Chr(10)
_CRLF
  _funcBody := _funcBody + "END LOOP;" + 
%Chr(10)
_CRLF
  _funcBody := _funcBody + "RETURN _v;"
  _funcParams[1]^structVersion := 1
  CALL %EDA_SetFunctionRec(_vectorId, 1, _funcBody, _funcParams, _errorCode)
  IF _errorCode != 0 THEN
   RETURN
  ENDIF
 END 



Info
titleSúvisiace stránky:

Externé funkcie
Chybové kódy
EDA konštanty
Tvorba externých funkcií

...