WAIT expression |
WAIT |
| expression | in | Výraz typu Bool - podmienka. |
; priradenie s čakaním U.Int := 1 ; priradenie hodnoty WAIT ; čakanie na priradenie ; ak akcia WAIT dopadla úspešne (bez chyby), objekt U.Int má ; určite hodnotu 1 IF U.Int = 1 THEN ; test hodnoty ; vetva THEN-ELSE sa vykoná vždy, lebo objekt U.Int má hodnotu 1 ELSE ; vetva ELSE-ENDIF sa nevykoná nikdy ENDIF U.Int := 2 ; v tomto prípade nie je zaručené, že ;objekt U.Int bude mať hodnotu 2 ; závisí to od momentálnej záťaže systému ... IF U.Int = 1 THEN ELSE ENDIF |
INT _maxWriteCount = 10 ; maximálny počet zápisov
INT _writeCount ; počítadlo zápisov
ON ERROR WriteFailed ; obsluha chyby
_writeCount := 0
WriteRetry:
IF _writeCount >= _maxWriteCount GOTO WriteLoopFailed
_writeCount := _writeCount + 1
M.Cmd := 1
WAIT
; zápis prebehol úspešne
END
; zápis prebehol neúspešne _maxWriteCount-krát
WriteLoopFailed:
END
; obsluha neúspešného zápisu
WriteFailed:
GOTO WriteRetry |
RECORD NOALIAS (SD.Rec) _locArr ; lokálna premenná typu Record
; vypnuté odkazy na objekty
REDIM _locArr[2] ; zmena dĺžky poľa
; naplnenie hodnôt lokálnej premennej typu Record
_locArr[1]^Int := 1
_locArr[1]^Obj1 := 1
_locArr[1]^Obj2 := 2
_locArr[2]^Int := 2
_locArr[2]^Obj1 := 3
_locArr[2]^Obj2 := 4
; priradím odkazy na objekty
SET SV.Rec[1]^Obj1 AS M.1
SET SV.Rec[1]^Obj2 AS M.2
SET SV.Rec[2]^Obj1 AS M.3
SET SV.Rec[2]^Obj2 AS M.4
WAIT ; realizácia zmeny odkazu v systéme
P1:
SET SV.Rec AS _locArr ; priradenie celej hodnoty
WAIT |