Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wprowadzenie
Zaczynamy
13
Interfejs uytkownika ...............................................................................13
Pierwszy program w Delphi .....................................................................17
Aplikacje konsolowe ................................................................................18
Diagramy skadniowe ...............................................................................25
Rozdzia 2.
Spis treci
Rozdzia 1.
Spis treci
Spis treci
Spis treci
Rozdzia 4.
Programowanie wizualno-obiektowe
145
Pierwsza aplikacja okienkowa ................................................................145
Implementacja prostych operacji wejcia i wyjcia
w programie okienkowym. Komponent TEdit, typ Pchar,
modalne i niemodalne okna dialogowe ...............................................154
Tworzenie dodatkowych okien w programie .........................................161
Przetwarzanie komunikatw Windows.
Metoda ProcessMessages obiektu Application ....................................163
Dynamiczne tworzenie komponentw ...................................................165
Biblioteki DLL w Windows. Dyrektywa external .................................169
Pakiety ....................................................................................................173
Instalacja i deinstalacja dodatkowych komponentw ............................175
Tworzenie wasnych komponentw .......................................................181
191
Dodatek A
Bibliografia
193
Dodatek B
195
Dodatek C
197
Dodatek D
199
Dodatek E
Spis rysunkw
201
Dodatek F
Spis tabel
205
Dodatek G
Spis listingw
207
Skorowidz
213
Spis treci
Zakoczenie
Stae, identyfikatory
i wyraenia
27
Rozdzia 2.
Wskazwki
n Parametry procedur podajemy w Delphi
w nawiasach okrgych.
n Procedura writeln wywietla obliczon
program Project1;
{$APPTYPE CONSOLE}
begin
writeln(2+2);
readln;
end.
Wskazwka
n Zwr uwag, e po sowie kluczowym
const nie ma rednika. Podobnie rednika
Wskazwka
n Pamitaj: jeli chcielibymy, eby nasz
Funkcje: abs, chr, hi, high, length, lo, low, odd, ord, pred, round, sizeof, succ, swap oraz trunc.
Pojcie funkcji zostanie wyjanione w dalszej czci ksiki.
28
29
Typy danych
Rozdzia 2.
W Delphi istnieje rozbudowana hierarchia
typw, z ktrych najwaniejsze s typy proste
(rzeczywiste i porzdkowe), strukturalne
(tablicowe, rekordowe, zbiorowe, plikowe
i obiektowe), wskanikowe, wariantowe,
proceduralne oraz acuchowe. Najprostsze typy,
z ktrymi bdziesz si spotyka, to typ znakowy
deklarowany sowem char (ang. character
znak pisma), oznaczajcy pojedynczy znak
pisma (liter, cyfr, znaki przestankowe itd.),
typ acuchowy string (ang. string sznurek),
uywany do zapisu acucha znakw, typ
cakowitoliczbowy integer (ang. integer
cakowitoliczbowy), uywany do zapisu
liczb cakowitych (dodatnich i ujemnych)
dajcych si zapisa w dwch bajtach pamici
(wliczajc bit znaku), oraz typ rzeczywisty
real (ang. real rzeczywisty), uywany do
zapisu liczb posiadajcych cz uamkow.
Typy danych
Wskazwka
n Mwimy o sekcji definicji staych (gdy tam
30
program Project2;
{$APPTYPE CONSOLE}
var
x:integer;
begin
x:=8;
writeln('wartosc zmiennej i{s
wynosi:');
{8}
writeln(x);
{9}
readln;
{10} end.
program Project1;
{$APPTYPE CONSOLE}
{program oblicza objetosc kuli o promieniu
rownym 2}
var
promien, objetosc:real; {dwie zmienne
rzeczywiste}
begin
promien:=2; {przypisz zmiennej promien
wartosc dwa}
objetosc:=4*3.14*promien*
promien*promien/3;
writeln('Objetosc {uli o promieniu 2
wynosi');
writeln(objetosc);
writeln('Nacisnij ENTER');
readln;
end.
31
Typy danych
Rozdzia 2.
Typy danych
32
program Project2;
{$APPTYPE CONSOLE}
var
x:byte;
begin
x:=255;
x:=x+1;
writeln('wartosc zmiennej i{s
wynosi:');
{9}
writeln(X);
{10}
readln;
{11} end.
Minimum
Maksimum
Liczba cyfr
znaczcych
Rozmiar
w bajtach
Real48
2,91039
1,71038
11 12
Single
45
1,510
3,41038
78
Double
5,010324
1,710308
15 16
Extended
3,6104951
1,1104932
19 20
10
Comp
(263)+1
(263)+1
19 20
Currency
922337203685477,5808
922337203685477,5807
19 20
Real
5,010324
1,710308
15 16
Minimum
Maksimum
Rozmiar w bajtach
Integer
2147483648
2147483647
32 z bitem znaku
Cardinal
4294967295
Shortint
128
127
Smallint
32768
32767
16 z bitem znaku
Longint
2147483648
2147483647
32 z bitem znaku
Int64
(263)
2631
64 z bitem znaku
Byte
255
Word
65535
Longword
4294967295
33
Typy danych
Rozdzia 2.
Aby przekona si, jaki jest numer porzdkowy
elementu w danym typie (listing 2.6),
posugujemy si funkcj ord(element),
poprzednika danego elementu zwraca funkcja
pred(element), a nastpnika succ(element).
Typw okrelajcych liczby rzeczywiste nie
zaliczamy do typw porzdkowych, poniewa
mimo e wrd liczb rzeczywistych mona
zdefiniowa relacj wikszoci nie mona
poda dokadnie okrelonego, jednego
bezporedniego nastpnika ani poprzednika
dowolnej liczby rzeczywistej.
Typy danych
34
zero,
u zmienne typw logicznych wartoci
False.
35
Typy danych
Rozdzia 2.
Typy danych
36
program Project2;
{$APPTYPE CONSOLE}
begin
writeln(char(65));
readln;
end.
program Project2;
{$APPTYPE CONSOLE}
begin
writeln(boolean(0));
readln;
end.
program Project2;
{$APPTYPE CONSOLE}
const
dziwna_stala:byte=3;
begin
writeln(dziwna_stala);
dziwna_stala:=15;
writeln(dziwna_stala);
readln;
end.
Zmienne z wartoci
pocztkow
Jak pamitasz, stae nie wymagaj deklarowania
typw, do ktrych nale. Kompilator, dobierajc
typ staej, wybiera typy o moliwie najmniejszej
liczebnoci. Programista moe umieci w definicji
staej jawn deklaracj typu (na przykad aby
wymusi inn jej reprezentacj). Na przykad:
const liczba_pi:double=3.14;
37
Rozdzia 2.
Operatory
Operator
Operacja
+ (plus)
Dodawanie
- (minus)
Odejmowanie
* (gwiazdka)
Mnoenie
/ (ukonik)
Dzielenie
div
mod
Reszta z dzielenia
Operatory
{1}
{2}
{3}
{4}
{5}
{6}
{7}
{8}
{9}
{10}
{11}
{12}
{13}
{14}
{15}
{16}
{17}
{18}
{19}
{20}
{21}
38
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a,b,c:byte;
r:real;
begin
a:=11;
b:=5;
c:=a div b;
r:=a div b;
writeln('zapisany w postaci liczby
cal{owitej');
writeln('wyni{ dzielenia cal{owitego
11 div 5 wynosi ',c);
writeln('a zapisany w postaci liczby
rzeczywistej');
writeln('wyni{ tego samego dzielenia
wynosi ',r);
writeln('Nacisnij ENTER');
readln;
end.