Értékadás, üres utasítás
Értékadás: változó := érték;
Üres utasítás: ;
Szekvencia
Az utasítások ; -vel elválasztva (utasítás1;utasítás2;)
Elágazások
if elágazás. Az utolsó else előtt nem kell pontosvessző. Például:
if booleanexpression then action;
if booleanexpression then action1 else action2;
Ha több utasítás van akkor begin és end közé írni az utasításokat:
if test1 then begin
action1;
action2;
end
else begin
action1;
action2;
end;
case of elágazás. Az else ágat nem kötelező megadni. Szintaxis:
case <ordinal | string> of
<value>: <statement>
<value>: <statement>
else <statement>
end;
case type of. Itt a változó típusa dönti el, hogy melyik ág hajtódik végre. Szintaxis:
case <object> type of
<objecttype>: <statement>
<objecttype>: <statement>
else <statement>
end;
Ciklusok
for ciklus. Szintaxis:
for <ordinal> := <lowvalue> to <highvalue> do <statement>
for <ordinal> := <highvalue> downto <lowvalue> do <statement>
for <ordinal> := <lowvalue> to <highvalue> step <integer> do <statement>
for [each] <object> in <IEnumerableObject> do <statement>
for each matching <object> in <IEnumerableObject> do <statement>
for <item> in <array> do <statement>
loop ciklus. Ez egy végtelen ciklus. Például:
loop begin
…
Console.Writeln(i);
Inc(i);
if i > 1000 then break;
…
end;
repeat ciklus: hátultesztelős ciklus. Szintaxis:
repeat
// statements
until SomeTest;
while ciklus. Szintaxis:
while SomeTest do begin
// statements
end;
Vezérlésátadó utasítások
- break: kilép az aktuális ciklusból
- continue: A számlálásos ciklus következő iterációjára lép
(csak akkor lép ki ha nem teljesül a ciklus feltétel)
- exit: kilép az aktuális ciklusból és az őt tartalmazó metódusból
- locking: a locking vezérlési szerkezetetről, Párhuzamos végrehajtás fejezetben
lesz szó.
- using: Az using (erőforrás-foglalás) { blokk } szerkezet lefoglalja az erőforrást,
végrehajtja a blokkot, és felszabadítja az erőforrást. Például:
using f := new FileStream(…) do begin
…
end;
Blokk utasítás
Blokk: utasítások begin és end között. Szintaxis:
begin
<statement>
<statement>
end;
Speciális blokkutasítás még a "with" utasítás, melynek a segítségével egy csak a blokkon belül
érvényes változót deklarálunk. A "with" egy speciális változata a "with match", ami abban
különbözik, hogy csak akkor lép be a blokkba ha az értékadás bal oldalán szereplő kifejezés
inicializálva van.
with <variable> := <object> do
with <variable>: <type> := <object> do
with matching <variable>: <type> := <object> do