|
Delphi #3
Gdy zapiszecie swój program na dysku to zapewne zwrócicie uwagę
na sporą liczbę plików powstałych wraz z programem. Oczywiście nie musisz
dawać kumplom tych wszystkich plików - wystarczy tylko ten z rozszerzeniem *.exe.
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:
- Z menu Project wybierz Options.
- Wybierz zakładkę Packages
- Zaznacz opcje Bulid with runtime packages
- Naciśnij OK i z menu Project wybierz Bulid
Okno Options zawiera inne pożyteczne zakładki takie
jak:
- application - dzięki tej zakładce możemy wybrać ikonę
i wpisać tytuł naszego pliku wykonywalnego.
- version info - po zaznaczeniu opcji Include version
information in project możesz sprawić iż do twojego pliku
wykonywalnego w zakładce Właściwości pojawi się okno o wersji produktu.
Możesz wpisać w nim podstawowe dane jak: Nazwa firmy, wersja, komentarz
itd. Po zaznaczeniu opcji Auto-Increment bulid number wersja pliku będzie
się zwiększała o jedną tysięczną przy każdym budowaniu (Bulid) programu.
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"
Adam Boduch
programowanie@poczta.onet.pl
http://www.programowanie.of.pl
|