Kurs Delphi cz. I
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 then
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. Mo┐ecie teraz przej╢µ do nastΩpnego rozdzia│u.
Autor:
Adam Boduch
boduch@poland.com
Kurs udostΩpni│ :
http://www.programowanie.of.pl
|