MENU

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

 
 

Contents copyright © 2000 - 2001, Krzysztof Dziewo±ski. All rights reserved.