CASE/bg

From Lazarus wiki

български (bg) English (en) español (es) français (fr) 日本語 (ja) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 


CASE

(author: Tao Yue, state: changed)

Операторът за разглеждане на случаи case сравнява стойността на израз с няколко селектора. Селектор може да бъде константа, диапазон или списък от тях разделени със запетаи. Селектора се отделя от действието с двуеточие (:).

Да предположим, че искате да изпълните действие ако b е 1, 7, 2037, или 5; а в противен случай да изпълните друго действие. Може да го направите по следния начин:

if (b = 1) or (b = 7) or (b = 2037) or (b = 5) then
  Statement1
else
  Statement2;

Но в този случай ще е по-просто да направите списък от числата, за които искате да се изпълни Statement1. Това може да се направи с помощта на оператора case:

case b of
  1,7,2037,5: Statement1;
  otherwise   Statement2
end;

Общата форма на оператора case е:

case expr of
  Selector1:    Statement1;
  Selector2:    Statement2;
  ...
  Selectorn:    Statementn;
  otherwise Statement
end;

Частта otherwise е незадължителна. Когато е налична, тя се може да се различава за различните компилатори. При повечето от тях се използва думата else вместо otherwise.

Израза expr може да бъде всяка променлива или израз от дискретен тип. Не могат да се използват реални стойности!

Селекторите трябва да съдържат само имена на константи или изписани стойности, т.е. в тях не могат да се използват променливи.

 ◄   ▲   ►