Akcia BEGIN


Deklarácia
BEGIN

Popis
Akcia explicitne uvádza inicializačnú časť skriptu.
Poznámka
Implicitné uvedenie inicializačnej časti skriptu predstavuje ľubovoľná akcia mimo:
  • začiatku a konca procedúry,
  • deklarácie lokálnej premennej,
  • inej ľubovoľnej akcie v rámci procedúry.
Bližšie pozri: Štruktúra skriptu.
Príklady
Explicitné uvedenie inicializačnej časti – na konci skriptu
 
 ;deklarácia lokálnej premennej
 INT _i
 ;deklarácia procedúry
 PROCEDURE Procedura
  _i := _i + 1
 END Procedura
 ;inicializačná časť - explicitne uvedená
 BEGIN
  DELAY _i[s]
  CALL Procedura
  MESSAGE %IToStr(_i) ON srvskol1v.hip 
 END 

 
Implicitné uvedenie inicializačnej časti – na konci skriptu
 
 ;deklarácia lokálnej premennej
 INT _i
 ;deklarácia procedúry
 PROCEDURE Procedura
  _i := _i + 1
 END Procedura
 ;inicializačná časť - implicitne uvedená akciou, ktorá nie je deklaráciou 
 ;premennej, procedúry a ani jej časťou
 DELAY _i[s]
 CALL Procedura
 MESSAGE %IToStr(_i) ON srvskol1v.hip
 ;koniec skriptu = koniec inicializačnej časti
 

 
Explicitné uvedenie inicializačnej časti – pred deklaráciou procedúry
 
 ;deklaracia lokalnej premennej
 INT _i
 ;inicializačná časť - explicitne uvedená
 BEGIN
  DELAY _i[s]
  CALL Procedura
  MESSAGE %IToStr(_i) ON srvskol1v.hip 
 END
 ;deklarácia procedúry za inicializačnou časťou
 ;vyhodnotené ako pokus o deklaráciu vnorenej procedúry
 ;skončí chybou pri kompilácií
 PROCEDURE Procedura
  _i := _i + 1
 END Procedura 

 
Implicitné uvedenie inicializačnej časti – pred deklaráciou procedúry
 
 ;deklarácia lokálnej premennej
 INT _i
 ;inicializačná časť - implicitne uvedená akciou, ktorá nie je deklaráciou 
 ;premennej, procedúry a ani jej časťou
 DELAY _i[s]
 CALL Procedura
 MESSAGE %IToStr(_i) ON srvskol1v.hip
 ;deklarácia procedúry - skončí chybou, pretože je vo vnútri 
 ;inicializačnej časti (vnorená deklarácia)
 PROCEDURE Procedura
  _i := _i + 1
 END Procedura
 ;koniec skriptu = koniec inicializačnej časti 

 
Vnorená inicializačná časť
 
 ;inicializačná časť - explicitne uvedená
  BEGIN
  INT _a
  _a := _a + 1
  _b := _b + 1
 ;vnorená inicializačná časť - nie je možné urobiť
  BEGIN
   INT _b
   _b := 8
   _a := _a + _b
  END
 MESSAGE "_a = " + %IToStr(_a) ON srvskol1v.hip
 MESSAGE "_b = " + %IToStr(_b) ON srvskol1v.hip
 END 


Súvisiace stránky:

Napíšte komentár