Kurs Delphi (1)
Jeżeli macie jakieś doświadczenie w
programowaniu w Turbo Pascalu to na pewno przyswojenie materiału z
tego rozdziału przyjdzie Wam łatwiej niż pozostałym. Jeżeli czegoś
nie rozumiecie - piszcie: programowanie@poczta.onet.pl
Przejdźcie do następnych rozdziałów i rozwiązujcie przykłady.
Zawsze najlepiej nową wiedze przyswoić w praktyce!
Poniżej przedstawiony jest nowo
utworzony moduł Delphi:
unit
Unit1;
interface
uses
Windows,
Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1
= class(TForm)
private
{
Private declarations }
public
{
Public declarations } end;
var
Form1:
TForm1;
implementation
{$R
*.DFM}
end.
WYJAŚNIENIE
Moduł to plik tekstowy, który może
być kompilowany do programu wykonywalnego tzn. kod źródłowy
kompilowany jest na język zrozumiały dla maszyny. Nazwa modułu
wypisana jest w pierwszej linijce kodu i poprzedzona jest słówkiem
Unit (od ang. Moduł).
Słowo uses oznacza początek listy w
której wypisane są nazwy wszystkich dodatkowych modułów które to
zawarte są w naszym module głównym.
Interface – po
tym zwrocie wypisywane są nazwy wszystkich procedur, funkcji, które
mają być widoczne w
naszym module. Na przykład:
unit Unit1;
interface
procedura Moja_procedura1;
implementaion
procedura
Moja_procedura;
begin
{treść procedury}
end;
end.
Słowo implementation oznacza początek
programu; za tym słowem wpisujemy treść procedur, funkcji itp.
Musisz pamiętać o kilku ważnych
sprawach:
·
Każde zdanie (poza
kilkoma wyjątkami jak np. słówko begin i end) kończymy średnikiem.
·
Każdy program zakończony jest słowem end. ( z kropką na końcu!)
·
Pisanie kodu należy
poprzedzić słowem begin.
·
W programach możesz się spotkać z komentarzami, które będą najczęściej
w nawiasach klamrowych ({}). Nie mają one wpływu na działanie
programu.
Słowo type
Deklarowane są tutaj nowe typy danych.
Umieść na formularzu przycisk Button (na palecie Standard; umieszcza
się go klikając pojedynczo myszą a następnie na formularzu).
Przejedź teraz do edytora kodu (naciśnij przycisk F12). Zobaczysz,
że w sekcji type powstała nowa linia:
Button1: TButton;
Po lewej stronie wypisana jest
komponentu (nazwę można modyfikować w polu Name w Inspektorze
Obiektów), a po prawej typ – w tym wypadku Tbutton.
Słowo var
Służy do deklarowania zmiennych w
programie. Spójrz na poniższy kod:
procedure
Moja_procedura;
var
x:integer;
{deklaracja zmiennej; patrz tabelka niżej}
begin
x:=20;
{przypisanie wrtości zminnej x liczby 20}
Label1.caption:=inttostr(x);
{wyświetlenie wartości x jako nazwę komponentu Label; inttostr
oznacza przekonwertowanie wartości Integer na wartość String (patrz
poniżej)}
end;
Zakres
wartości zmiennych
|
Integer
|
-2
147 483 648..2 147 483 647
|
String
|
tekst
|
Byte
|
0..255
|
Boolean
|
True
albo
False
|
Currency
|
-922
337 203 685 477 5808..922 337 203 685 477 5807
|
Word
|
0..
65 535
|
Wyżej
przedstawiłem najczęściej używane typy zmiennych. Uniwersalnym
typem będzie Integer.
Inttostr
– konwertuje zmienną Integer na String
Strtoint
– konwertuje zmienną String na Integer.
Słowo
const
Oznacza
stałą. Spójrz poniżej:
interface
const
name=’Adam
Boduch’; {przypisanie wartości stałej – w tym wypadku
dla imienia I nazwiska}
implementation
procedure
Moja_procedura;
begin
label1.caption:=name;
{przypisanie komponentowi Label tekstu któremu przypisana jest stała:
name}
end;
W
powyższym przypadku stałej możesz używać w każdej innej
procedurze.
Pętla
if, then, else
Pętla
oznacza warunek, który musi być spełniony, aby zadziałał kod, który
zawarty jest w jej wnętrzu. Przykład:
if
x<20 then begin {jeżeli liczba jest mniejsza od 20 następuj
wczytanie warunku poniżej, jeżeli nie to wykonywany zostaje warunek
po wyrażeniu else }
if
x>10 then
if
x=15
th
en
Label1.caption:=’Tak,
tą liczbą jest 15!’;
end
else
label1.caption:=’Przykro
mi, to nie jest prawidłowa liczba.’;
Warunek
if, then, else można przetłumaczyć jako:
Jeżeli
{warunek, który musi zostać spełniony} wtedy {kod procedury}, a jeżeli
nie to {kod procedury}
Pętla
for, to, downto
Działanie
tej pętli najlepiej zrozumieć na przykładzie:
1.
Umieść na formularzu
komponent Gauge (na palecie Samples)
2.
Umieść na
formularzu przycisk Button i kliknij nań dwukrotnie.
3.
Kod procedury
uzupełnij następująco:
procedure
TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for
i:=0 to 100 do begin {odliczaj do stu poczynając od
zera, a...}
sleep(10);
{.. . odstęp między odliczaniem ma wynieść 10 milisekund}
gauge1.progress:=i;
{przypisanie komponentowi wartośći I}
end;
end;
4.
Odpal
program;
Downto
działa podobnie tyle, że odlicza do dołu i słówko downto
wpisujemy zamiast to.
for
i:=100 downto 0 do begin
{kod}
Pętla
repeat, until
Powtarza
daną czynność dopóki nie zostanie spełniony warunek jej zakończenia.
i:=0;
repeat
memo.lines.add(‘Dzisiaj
jes ’+inttostr(i)+’ dzień’);
i:=i+1;
until
i:=10;
Procedury
Jest
to blok kodu, który wykonuje daną czynność:
Budowa
procedury:
procedure
Moja_procedura(x:integer, y:integer)
begin
{treść
procedury}
end;
Funkcje
Jest
to blok kodu, który wykonuje daną czynność tyle, że zwraca wynik.
Budowa
funkcji:
function
Moja_funkcja(x:integer, y:integer):integer;
begin
{treść
funkcji}
end;
PODSUMOWANIE
Sorry,
że rozdział ten opisałem tak krótko. Zdaje sobie sprawę, że
niektóre rzeczy mogą wydać się wam niezrozumiałe. Chętnie
odpowiem na wszelkie pytania:
programowanie@poczta.onet.pl
W
dalszych częściach kursu postaram się bardziej rozwinąć temat języka
Object Pascal. Rzeczy, które tu opisałem są podstawą przy
programowaniu, ale oczywiście to nie jest wszystko, co oferuje,
Delphi.
Adam Boduch
programowanie@poczta.onet.pl
www.programowanie.of.pl