Rozdział 1 – podstawy programowania
[ Powrót ]
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
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:
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.
[ Powrót ]