Az InstallScript programozási nyelv

Utasítások, vezérlési szerkezetek

É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: 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:
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: Egy repeat ciklus létrehozása:
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:
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.