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 |