[PL tutrial] Delphi - Kurs programowania _Boduch.doc

(278 KB) Pobierz

ROZDZIAŁ 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. Możecie teraz przejść do następnego rozdziału.

 

ROZDZIAŁ 2

 

Dobrze, możemy zaczynać.                                          Napiszemy teraz pierwszy program; postępuj według poniższych wskazówek.

1.       Otwórz program.   

2.       Kliknij komponent Label, a następnie umieść go na formularzu pojedynczym kliknięciem

3.       W Inspektorze Obiektów w polu Caption wpisz tekst, który ma być umieszczony w komponencie

4.       Umieść na formularzy komponent Button; zmień jego tekst (również w polu Caption) na Pokaż tekst.

5.       Kliknij podwójnie na przycisku, a następnie wpisz w treści procedury taki oto tekst:

 

   procedure TForm1.Button1Click(Sender: TObject);

begin

if label1.visible=true then begin  {label1 oznacza nazwe komponentu label, ktora

mozemy edytowac w polu 'Name'. Visible oznacza czy dany komponent ma byc po uruchomieniu

programu widoczny (True),  czy tez nie (False)}

label1.visible:=false; {po nacisnieciu komponent staje sie niewidoczny}

end else {W przeciwnym wypadku (jezeli komponent jest niewidoczny) komponent sie pojawia}

label1.visible:=true;

end;

6.       Zaznacz komponent Label, a następnie w Inspektorze Obiektów zmień pole Visible na False.

To już praktycznie wszystko – uruchom program naciskając klawisz F9 lub wybierz polecenie: Run-> Run.

Ok., należy Ci się wyjaśnienie niektórych funkcji Inspektora Obiektów.

Funkcja

Opis

Active Control

Ustawia domyślny komponent tj. w wypadku przycisku będzie on aktywny i po naciśnięciu Enter’a zostanie wykonany kod w funkcji OnClick przycisku.

Align

...
Zgłoś jeśli naruszono regulamin