Funkcia %StructCmp
Súvisiace stránky:
BOOL %StructCmp( in _recA[fromRowA]^fromColA, IN _recA[toRowA]^toColA, in _recB[fromRowB]^fromColB, INT in _cmpOptions [,INT in _roundPrec] )
_recA[fromRowA]^fromColA, _recA[toRowA]^toColA |
Odkaz na hodnotu políčka lokálnej štruktúrovanej premennej. |
_recB[fromRowB]^fromColB | Odkaz na hodnotu políčka lokálnej štruktúrovanej premennej. |
_cmpOptions | Spôsob porovnania. |
_roundPrec | Nepovinný parameter. Ak je použitý, špecifikuje na aký počet desatinných miest sú zaokrúhlené porovnávané hodnoty, ak sú typu Real. Hodnota musí byť >= 0. |
Hodnota |
Porovnávať časť hodnoty |
1 |
hodnota |
2 |
čas vzniku hodnoty |
4 |
užívateľské príznaky |
Porovnávanie sa vykonáva týmto spôsobom:
A = B
pričom:
Symbol A predstavuje oblasť hodnôt lokálnej štruktúrovanej premennej, ktorá
je daná jej ľavým horným rohom (políčkom _recA[fromRowA]^fromColA) a pravým
dolným rohom (políčko _recA[toRowA]^toColA). Štruktúrovaná premenná použitá
v prvom a druhom parametri musí byť preto tá istá. Týmto sú definované aj
rozmery (počet riadkov a stĺpcov). Rozmery sa použijú pri určení oblastí B,
ktorá je v parametroch uvedená len jej pravým horným rohom.
Porovnanie sa vykonáva medzi jednotlivými zodpovedajúcimi políčkami oblastí A a B. Funkcia vráti hodnotu @TRUE, ak všetky porovnávané políčka spĺňajú podmienku rovnosti.
Nasledujúci príklad vykoná porovnanie dvoch matíc.
Prvá je
ohraničená políčkami _A[1]^_firstColNr (pričom _firstColNr je nastavená na
hodnotu 1) a _A[2]^_lastColNr (pričom _lastColNr je nastavená na poradové
číslo posledného stĺpca príslušnej štruktúry).
Druhá je daná políčkom _B[1]^_firstColNr a má dva riadky a rovnaký počet
stĺpcov ako matica v rámci premennej _A.
BEGIN BOOL _bEqual RECORD (SD.BIG) _A RECORD (SD.BIG) _B REDIM _A[20] REDIM _B[20] INT _firstColNr, _lastColNr _firstColNr := 1 _lastColNr := _A\CNR _A[1]^R1 := 1 _A[2]^R1 := 2 DELAY 1[s] _B[1]^R1 := 1 _B[2]^R1 := 2 _bEqual := %StructCmp(_A[1]^_firstColNr, _A[2]^_lastColNr,_B[1]^_firstColNr,1) ;výsledok je @TRUE _bEqual := %StructCmp(_A[1]^_firstColNr, _A[2]^_lastColNr,_B[1]^_firstColNr,2) ;výsledok je @FALSE, pretože časy hodnôt sú rôzne END
Súvisiace stránky:
Pridať komentár