Értékadás, üres utasítás
Az értékadás az = operátorral történik.
Üres utasításra nincs külön kulcsszó, egyszerűen üresen hagyott blokk jelzi az üres utasítást.
Szekvencia
;-vel elválasztott utasítások.
Elágazás
Többféle elágazást írhatunk.
Az if típusú elágazások szerkezete:
// if Structure with goto
Name:
AskText("Company name:", szSrc);
if(szSrc = "") goto Name;
// if-then Structure
if(szStringA = "exit") then
AskYesNo("Are you sure you want to exit?", NO);
endif;
// if-then-else Structure
if szStringA = "exit" then
AskYesNo ("Are you sure you want to exit?", NO );
else
MessageBox ("Please wait... ", INFORMATION );
endif;
// elseif structure
if szStringA = "exit" then
AskYesNo ("Are you sure you want to exit?", NO );
elseif szStringA = "continue" then
MessageBox ("Please wait...", INFORMATION );
elseif szStringA = "reboot" then
goto StartHere;
endif;
Természetes egymásba is ágyazhatjuk az elágazásokat, a csellengő else probléma nem jelentkezik az
endif miatt.
A feltétel lehet:
- Boolean vagy integer konstans, változó vagy literál.
- Egy kifejezés, aminek az eredméye Boolean vagy integer típusú.
- Egy függvény, aminek a visszatérési értéke integer.
A
switch...endswitch elágazás:
Az elseif struktúrájához hasonló. Ha a case ágak nem teljesen diszjunktak, akkor is csak az egyik ág hajtódik végre
(az első megfelelő).
Egy
switch elágazás létrehozása:
- switch kulcsszó és a kiértékelendő kifejezés. A kifejezést - ami lehet konstans, változó,
aritmetikai kifejezés, logikai kifejezés vagy függvény visszatérési értéke - zárójelbe kell tenni.
- Minden opciónak a case kulcsszóval kell kezdődnie, majd egy vagy több konstans
következhet (több esetén vesszővel válasszuk el őket). Jegyezzük meg, hogy csak konstanst használhatunk itt! A változónév,
string tábla referencia, függvény visszatérési érték, vagy bármi egyéb hibát eredményez. Zárásképpen egy kettőspont következik.
- Minden opciónál a kettőspont után meg kell adnunk a végrehajtandó utasításokat.
- A default kulcsszóval készíthetjük el a semmire nem illeszkedő kifejezések ágát.
- Az endswitch kulcsszóval zárjuk az utasítást.
STRING szMsg, svResult;
NUMBER nvResult;
GetSystemInfo (VIDEO, nvResult, svResult);
switch (nvResult)
case IS_UNKNOWN:
szMsg = "The user's video is unknown.";
case IS_EGA:
szMsg = "EGA resolution.";
case IS_VGA:
szMsg = "VGA resolution.";
case IS_SVGA:
szMsg = "Super VGA (800 x 600) resolution.";
case IS_XVGA:
szMsg = "XVGA (1024 x 768) resolution.";
case IS_UVGA:
szMsg = "Greater than 1024 x 768 resolution.";
default:
szMsg = "Error";
endswitch;
MessageBox (szMsg, INFORMATION);
Ciklus
A for ciklus:
A for ciklus egy vagy több utasítás fix számú végrehajtására szolgál. A for kulcsszóval
és egy kifejezéssel kezdődik (ami megadja a végrehajtások számát) és endfor;-ral záródik. Megadhatunk
lépésközt, illetve visszafelé is számlálhatjuk a cilkusváltozót.
for iCount = 1 to 10
MessageBox ("This appears ten times.", INFORMATION);
endfor;
for iCount = 10 to 100 step 10
MessageBox ("This appears ten times.", INFORMATION);
endfor;
for j = 20 downto 10 step 5
MessageBox ("This appears three times.", INFORMATION);
endfor;
A
repeat...until ciklus:
A
repeat...until ciklus a
C nyelv
do...while ciklusával analóg (illetve nagyon
hasonló az
InstallScript while ciklusához is).
A két legfontosabb különbség a
repeat és a
while ciklusához képest:
- A repeat ciklus legalább egyszer lefut, a while nem.
- A while ciklus akkorterminál, ha a kifejezés kiértékelése hamis. A repeat akkor,
ha a kifejezés kiértékelése igaz.
Egy
repeat ciklus létrehozása:
- A változó (amit a ciklusban használni fogunk) értékének baállítása
- A repeat kulcsszó külön sorba
- Az ismételten végrehajtandó utasítások
- Valamilyen operáció végrehajtása a változón
- until kulcsszó és a feltételként kiértékelendő kifejezés
nCount = 1;
repeat
MessageBox("Count is less than 5", INFORMATION);
nCount = nCount + 1;
until (nCount = 5);
A
while...endwhile ciklus:
Egy
while ciklus létrehozása:
- A változó (amit a ciklusban használni fogunk) értékének baállítása
- A while kulcsszó és a feltételként kiértékelendő kifejezés
- Az ismételten végrehajtandó utasítások
- Valamilyen operáció végrehajtása a változón
- endwhile kulcsszó
nCount = 1;
while (nCount < 5)
MessageBox ("This is still true.", INFORMATION);
nCount = nCount + 1;
endwhile;
A ciklusok is tetszőlegesen egymásba ágyazhatók.
Vezérlésátadó utasítások
A goto utasítás:
A goto segítségével feltétel nélkül adhatjuk át a vezérlést. A főprogramban lévő goto
csak olyan cimkére hivatkozhat, ami a főprogramban van, illetve egy függvényben lévő goto csak a függvényben
deklarált cimkére hivatkozhat.