U nekim slucajevima pisanje If/Else naredbe moze biti napisano na drukaciji nacin tacnije uz pomoc Switch naredbe u Delphiju poznatije kao Case naredba, Switch naredba se smatra za prosirenu If/else naredbu zbog mogucnosti lakseg pisanja veceg broja mogucnosti na primer, ako imamo recimo slucaj da treba da napisemo kod koji ce ako je x od 1 do 5 da napise poruku X je izmedju 1 i 5, ako je x 6,7 ili 8 obojiti form u crveno, ako je x jednako 10 izracunati koliko je x*x^2*10, ako je x od 11 do 111 izracunati kvadrat zbira 1234 i 4321, ako je x jednako 123 onda ispisati Diznijeva madjija.
If/else kod u ovom slucaju bi bio podugacak, ali cemo mi zato iskoristiti Case naredbu koja je znatno preglednija u ovom slucaju.
Pa bi kod glasio ovako:
Var x,y:integer;
Begin
x:=strtoint(edit1.text);
Case x of
1..5: ShowMessage('X je izmedju 1 i 5');
6..8: Form1.color:=clred;
10: Begin y:=x*sqr(x)*10; edit2.text:=inttostr(y); End;
11..111: Begin y:=sqr(1234+4321); edit2.text:=inttostr(y); End;
123: ShowMessage('Diznijeva Madjija');
else
ShowMessage('greska');
End;
End;
Dakle kao sto vidimo kod je znatno kraci i pregledniji, i sastoji se od Case naredbe gde ispitujemo za x koja je odgovarajuca vrednost od ponudjenih i ako nije nijedna od datih izvrsavamo Else naredbu.
Нема коментара:
Постави коментар