Rozdział 3
[ Powrót ]
Jedna uwaga: Gdy dasz program koledze, który nie ma zainstalowanego Delphi, to program się nie uruchomi. Dzieje się tak dlatego, że twój kumpel nie posiada pliku vcl50.bpl. Oczywiście możesz dołączać ten plik do każdego programu, lecz z racji jego rozmiaru zalecane jest zrobić coś takiego:
Okno Options zawiera inne pożyteczne zakładki takie jak:
Teraz pora aby przejść do dalszej nauki Object Pascala.
Operatory
Spójrz na poniższy przykład:
if (x>20) and (y>20) then
{kod programu}
Operatorami w powyższym przykładzie są: ">" i "and". Operatory to inaczej przypisanie, porównywanie jakiś wartości.
Operator |
Opis |
:= | Przypisanie zmiennej jakiś wartości, np: x:=10 |
= | Znak równości, np. if x=10 then begin Gdybyś w tym przykładzie użył operatora przypisania to program nie skompilował by się i wygenerował by wyjątek ponieważ nie przypisujemy x wartości 10 lecz chcemy jedynie sprawdzić to wyrażeniem if |
<> > < <= >= | Oznacza to kolejno: różny od (np. if x<>10), większy niż, mniejszy niż, mniejszy równy niż, większy równy niż. |
and | Od angielskiego: i Sprawdza warunek zawarty przed tym słowem jak i po tym słowie. |
or | Od angielskiego: lub. if (x=10) or (x=20) then |
not | Jeżeli nie. if not prawda then |
Instrukcja goto
Instrukcja ta oznacza tyle co: idź do. Umożliwia ona skok do umieszczonej w kodzie etykiety poprzedzonej słówkiem Label, ale nie jest to komponent label.
var
label powtarzanie;
begin
powtarzanie;
{kod instrukcji goto}
{dalszy kod programu}
if x<69 then
goto powtarzanie;
end;
Jeżeli nie zostanie spełniony warunek, w tym wypadku, jeżeli x nie
jest większe od 69 to następuje skok do słowa powtarzanie i tym samym
wykonanie instrukcji po słowie powtarzanie.
Instrukcja case
Spójrz na poniższy przykład:
case Ilosc_paliwa of
0: paliwo:=0;
10: paliwo:=1;
50: paliwo:=3;
end;
Jeżeli Ilosc_paliwa przyjmie wartość 0, to wykonana zostanie funkcja paliwo:=0; Uwaga! Wynik musi być typu Integer, Byte itd., nie może być natomiast typu przecinkowego lub typu Srting. Nie możesz zapisać:
case combobox1.itemindex of
0: memo.lines.add('To nie przejdzie ponieważ jest to wartość typu String');
Continue i Break
Te dwie komendy używane są wraz z pętlami. Komenda Continue powoduje natychmiastowy skok do punktu stopu tj. do końca procedury.
if speedbutton1.down=true
then continue
{tutaj wykonywany zostaje kod po komendzie contiunue}
Komenda Break powoduje całkowite zakończenie działania pętli:
if done=true then begin
{kod}
end else
break;
____
Na zakończenie tego rozdziału zrób prosty program, który będzie dodawał, odejmował i mnożył:
Umieść na formularzu 3 komponenty Edit
Umieść na formularzu przycisk i zmień jego właściwość Caption na OK
Umieść na formularzu komponent RadioGroup; naciśnij w Inspektorze Obiektów właściwość Items i w oknie wpisz jeden pod drugiem: dodawanie, odejmowanie, mnożenie.
Właściwosć Itemindex komponentu RadioGroup ustaw na 1.
Uzupełnij procedure Button1Click następująco:
procedure TForm1.Button1Click(Sender: TObject);
begin
case RadioGroup1.itemindex of
0: edit3.text:=
inttostr(strtoint(edit1.text)+(strtoint(edit2.text)));
1: edit3.text:=
inttostr(strtoint(edit1.text)-(strtoint(edit2.text)));
2: edit3.text:=
inttostr(strtoint(edit1.text)*(strtoint(edit2.text)));
end;
end;
Jeżeli program nie działa prawidłowo porównaj swój kod z
moim.
Teraz możecie już przejść do następnego rozdziału, w którym to zajmiemy
się udoskonalaniem programu "Kółko i Krzyżyk"
[ Powrót ]