Professional Documents
Culture Documents
LP TRNH CN BN B
MSMH: TN035
Nm 2010
MC LC
CHNG 1: D LIU V THUT TON................................................................1
I. D liu v thng tin: .............................................................................................1
I.1. Khi nim.......................................................................................................1
I.2. S tng qut ca mt qu trnh x l thng tin.........................................1
II. T bi ton ti chng trnh ................................................................................1
II.1. Cc giai on gii mt bi ton trn my tnh in t..................................1
II.2. Thut ton (Algorithm).................................................................................2
CHNG 2: BORLAND DELPHI .............................................................................5
I. Tng quan v Delphi.............................................................................................5
I.1. Delphi l g.....................................................................................................5
I.2. Cc phin bn ca Delphi ..............................................................................5
II. Mi trng pht trin tch hp (IDE) ca Delphi................................................5
II.1. Ca s chnh ca Delphi...............................................................................6
II.2. Thanh thc n chnh v thanh cng c.......................................................6
II.3. Bng cha cc thnh phn ca Delphi (Component Palette) .......................7
II.4. Ca s thit k biu mu (Form Designer) v Ca s son tho m lnh
(Code Editor) .................................................................................................8
II.5. Ca s thuc tnh v s kin ca i tng (Object Inspector) ...................9
II.6. Ca s lit k cc i tng dng cy (Object TreeView).........................10
III. Cu trc mt d n Delphi ...............................................................................10
III.1. Tp tin d n: (Delphi project file) ...........................................................10
III.2. Cc tp tin cha m lnh (Unit file) ..........................................................11
III.3. Cc tp tin c t biu mu (Form file).....................................................11
III.4. Cc tp tin ti nguyn (Windows Resource File)......................................13
IV. Cc thao tc c bn trn Delphi .......................................................................14
IV.1. M mt d n mi.....................................................................................14
IV.2. Lu d n ..................................................................................................14
IV.3. Lu Form (tp tin unit) vi tn khc.........................................................18
IV.4. Lu d n vi tn khc..............................................................................18
IV.5. ng d n ................................................................................................18
IV.6. Thot khi Delphi .....................................................................................18
CHNG 3: CC THNH PHN C BN CA NGN NG DELPHI (OBJECT
PASCAL).............................................................................................19
I. B ch vit .........................................................................................................19
II. T kha ..............................................................................................................19
III. Tn danh hiu t t .........................................................................................20
IV. Hng .................................................................................................................20
IV.1. Khi nim ..................................................................................................20
IV.2. Hng tr......................................................................................................20
B mn Tin Hc ng Dng Khoa Khoa Hc T Nhin Trng HCT
Trang i
Trang iii
Trang iv
X L
(PROCESSING)
XUT D LIU
(OUTPUT)
LU TR (STORAGE)
Hnh 1:
Thc hin gii bi ton vi s liu thu thp c v ghi nhn kt qu.
Trang 1
Trong cc bc trn, vic thit k thut ton l giai on quan trng nht.
Tnh xc nh: Cc thao tc ca thut ton l r rng v chc chn thc hin c
dn n kt qu no .
Tnh ph dng: Thut ton phi gii c nhiu bi ton c cng cu trc vi cc
d liu khc nhau v u dn n mt kt qu mong mun.
Tnh hiu qu: Thut gii phi n gin, d hiu trong cc bc gii, ti thiu
ho b nh v thi gian thc hin.
Tnh hnh thc: Cc bc trong thut ton l my mc, ngha l n phi thc hin
ng nh quy nh m khng cn bit n mc tiu cui cng.
Bc 2: Xt iu kin a = 0?
Nu ng l a = 0, th i n bc 3, nu khng (ngha l a 0) th i n bc 4.
-
Bc 3: Xt iu kin b = 0?
Nu b = 0, th bo phng trnh c v s nghim. i n bc 5.
Nu b 0, thng bo phng trnh v nghim. i n bc 5.
Trang 2
II.2.3.2 Ngn ng gi
L cch din t cc bc gii ca bi ton thng qua mt s cu lnh c cu trc
(nh cu lnh if..then..else, for..to..do, while..do, repeat..until)
V d 2: M t thut ton theo ngn ng gi ca phng trnh bc nht ax + b = 0
- Bc 1: Nhp vo 2 h s a v b.
-
Bc 2: if (a=0) then
K hiu
Cc k hiu lu
Trang 3
Nhp a,b
x := -b/a
Sai
a=0
ng
Xut nghim x
b=0
Sai
Phng trnh
v nghim
ng
Phng trnh
v s nghim
Kt thc
Hnh 3: Lu thut ton PTB1
Trang 4
I.1. Delphi l g
Delphi l mt ngn ng lp trnh cp cao, c trnh bin dch hon ho, h tr mnh
v cc kiu d liu c cu trc v thit k hng i tng da trn nn tng ngn ng lp
trnh hng i tng (OOP: Object-Oriented Programming) ca Borland Pascal. Ngy
nay, Delphi c pht trin thnh mi trng xy dng ng dng tc thi RAD (Rapid
Application Development). T nhng cng c ca RAD, bn c th gii quyt nhng vn
phc tp trong qua trnh pht trin phn mm nh: lp trnh ng dng v c s d liu
(Database), lp trnh mng v Internet (Internet/Networking), lp trnh Multimedia
(Animation, sound), lp trnh tr chi (Game) cng nh ha (Graphic) hoc lp trnh h
thng, v.v khng nhng trn nn Windows m cn cho c Linux v .NET. Trong gio
trnh ny, chng ti ch gii thiu cc khi nim ca Delphi trong phm vi h iu hnh
Windows. Vi kh nng mnh nh vy ca Delphi, bn an tm khi dng n trin khai
cc ng dng ca bn quy m nh hay ln. iu cn quan tm Delphi l mt ngn ng
rt thn thin vi ngi dng, ph hp cho nhng ngi bt u lm quen vi n cng nh
nhng nh lp trnh chuyn nghip.
V y l gio trnh c son dnh cho i tng l cc sinh vin bt u hc Tin
hc i cng thng qua ngn ng Delphi. Do vy, gio trnh ny ch gii thiu nhng
khi nim cn bn nhm gip cho ngi hc c mt s kin thc nht nh vn dng
vo gii cc bi ton hoc vit nhng chng trnh ng dng nh. Cc chng trong gio
trnh ny s trnh by cc phn t c bn ca Delphi to mt chng trnh chy trn
nn Windows, chnh l mi trng pht trin tch hp IDE (Integrated Development
Environment) v ngn ng hng i tng Borland Pascal. Cc bn s c hc cch
thit k (Design), pht trin (Develop) hay vit m lnh (Code), v kim tra li (Test)
chng trnh ng dng bi vic s dng Delphi.
Trang 5
Hnh 1:
Ca s chnh ca Delphi 7
Ca s thit k biu mu
Trang 6
Hnh 2:
Hnh 3:
Cc thanh cng c
Hnh 4:
Trang 7
TLabel (StdCtrls)
TEdit (StdCtrls)
TButton (StdCtrls)
TMemo (StdCtrls)
Hnh 5:
Trang 8
Hnh 6:
Hnh 7:
Trang 9
Hnh 8:
Object TreeView lit k cc thnh phn trc quan v khng trc quan m bn t
chng trn form hin hnh. Mi thi im ch c mt form duy nht c lit k.
III. Cu trc mt d n Delphi
Hnh 9:
Trang 10
Tp tin d n prjPtb1.dpr
Trang 11
Hnh 10: Chuyn cch hin th t dng Form sang dng Text
Ni dung ca tp tin untPTB1.dfm dng vn bn s c nh hnh sau:
Trang 12
Hnh 12: Chuyn cch hin th dng Text sang dng Form.
Trang 13
IV.1. M mt d n mi
to mt d n mi, bn s dng lnh File/New/Application. Hnh nh mt d n
mi to nh hnh sau:
Hnh 14: D n mi to
IV.2. Lu d n
Mt d n trong Delphi s sinh ra kh nhiu tp tin. Do vy, khi lu d n, bn cn
phi to ra 1 th mc cha cc tp tin trong d n . Qu trnh lu d n nh sau:
lu mt d n, bn s dng lnh: File/Save All hay t hp phm Shift+Ctrl+S.
Thng thng bn phi lu cc form trc (mi form l mt tp tin unit c phn m rng
l pas), ri sau mi lu tp tin d n (phn m rng l dpr).
V d 3: Lu d n hin th cu "Hello world!..." ch c mt form, vo th mc
S:\HelloWorld nh sau:
Trang 14
Trang 15
Trang 17
IV.4. Lu d n vi tn khc
Bn chn lnh File/Save Project As lu d n.
IV.5. ng d n
Bn chn lnh File/Close All ng li ton b d n.
Trang 18
B 26 ch Latin:
o Ch in
: A, B, C, ..., X, Y, Z
o Ch thng : a, b, c, ..., x, y, z
-
K t gch ni
: _
II. T kha
L cc t ring ca Object Pascal, c ng ngha c xc nh, khng c dng
n vo cc vic khc hoc t tn mi trng vi cc t kha.
T kha chung: program, begin, end, procedure, function
-
T kha khai bo: const, var, type, array, string, record, set, file, label, class,...
T kha ca lnh la chn: if ... then ... else,
case ... of
T kha ca lnh lp: for... to... do, for... downto... do, while... do, repeat...
until
T kha iu khin: with, goto, exit, halt
T kha ton t: and, or, not, in, div, mod
for
record
array
function
repeat
begin
goto
set
case
if
to
class
implementation
try
const
interface
type
div
label
unit
do
mod
until
downto
object
uses
Trang 19
of
var
end
procedure
while
finalization
program
with
finally
property
Bng 1: Cc t kho
Chiu di ti a: 256 k t.
V d 1:
-
Danh hiu t t hp l:
x;
s1;
delta;
pt_bac_2;
IV. Hng
IV.2. Hng tr
Trong trng hp ny th biu_thc_xc_nh_gi_tr_ca_hng l mt tr xc nh.
Gi tr ca biu thc ny s c nh tr mt ln v khng thay i.
V d 2:
Const MaxSize = 100;
Const x = Abs(-100)+Length('Chao ban'); // hng x =108
Const St = 'Borland'+ ' Delphi'; // hng St = 'Borland Delphi'
Trang 20
V.1. nh ngha
Ngoi cc kiu nh sn, Delphi cn cho php ta nh ngha cc kiu d liu khc
t cc kiu cn bn theo qui tc xy dng ca Delphi.
V.2.
Cch khai bo
Type
Tn_kiu = M_t_xy_dng_kiu;
V d 4: nh ngha cc kiu d liu ngi dng (kiu d liu mi) v khai bo
bin theo kiu va nh ngha
type //Khai bo kiu ngi dng
SoNguyen = integer;
Diem = single;
Tuoi = 1 .. 100;
Color = (Red, Blue, Green);
Thu = (ChuNhat, Hai, Ba, Tu, Nam, Sau, Bay);
Trang 21
VII.1. nh ngha
Mt biu thc l mt cng thc tnh ton bao gm cc php ton (ton t), hng,
bin, hm v cc du ngoc.
V d 6:
5 + u * sqrt(t) / sin(pi/2) ;
(a=5) and (b<>7) or (c >= 10);
max(x,y);
// gi hm
VII.2. Th t u tin
Ton t:
Trong Delphi gm c cc ton t c phn chia nh sau:
-
Ton t s hc
Trang 22
+, -, *, /, div, mod
Ton t logic
Ton t quan h :
Ton t bitwise :
: +, -, @ , ^, =, <>
Php ton
@, not
u tin 1
u tin 2
+, -, or, xor
u tin 3
u tin 4
// chuyn k t A sang s, t = 65
// chuyn s sang k t, v = 'A'
// chuyn s sang kiu Booblean, b = False
Trang 23
Trang 24
Trang 25
Phm vi
Kch thc
Integer
-2147483648..2147483647
s nguyn c du 32 bit
Cardinal
0..4294967295
Phm vi
Kch thc
Shortint
-128..127
S nguyn c du 8 bit
Smallint
-32768..32767
S nguyn c du 16 bit
Longint
-2147483648..2147483647
S nguyn c du 32 bit
Int64
-2^63..2^63-1
S nguyn c du 64 bit
Byte
0..255
Word
0..65535
Longword
0..4294967295
NUL (k t rng)
1 31
31 k t iu khin
32 47
48 - 57
k s t 0 n 9
58 - 64
cc du : ; < = > ? @
65 - 90
cc ch in hoa t A n Z
91 96
cc du [ \ ] _ `
97 122
cc ch thng t a n z
123 127 :
cc du { | } ~ DEL (xa)
//ch = 'A'
//stt = 65
Trang 27
0
NUL
0
SOH
1
STX
2
6
BEL
7
BS
8
HT
9
LF
10
VT
11
FF
12
CR
13
SO
14
SI
15
1
DLE
16
DC1
17
DC2
18
DC3
19
DC4
20
NAK
21
SYN
22
ETB
23
CAN
24
EM
25
SUB
26
ESC
27
FS
28
GS
29
RS
30
US
31
2
SP
32
!
33
34
#
35
$
36
%
37
&
38
39
(
40
)
41
*
42
+
43
,
44
45
.
46
/
47
3
0
48
1
49
2
50
3
51
4
52
5
53
6
54
7
55
8
56
9
57
:
58
;
59
<
60
=
61
>
62
?
63
4
@
64
A
65
B
66
C
67
D
68
E
69
F
70
G
71
H
72
I
73
J
74
K
75
L
76
M
77
N
78
O
79
5
P
6
`
80
Q
p
96
a
81
87
103
h
88
Y
104
I
89
Z
105
j
90
[
106
k
91
\
107
l
92
117
v
102
g
116
101
86
W
115
100
85
V
114
99
84
U
113
98
83
T
112
97
82
S
108
]
m
93
109
^
n
94
110
_
o
95
111
118
w
119
x
120
y
121
z
122
{
123
|
124
}
125
~
126
DEL
127
Trang 28
128
1
145
130
132
148
133
6
135
8
9
139
C
140
D
157
142
F
173
158
189
174
190
191
207
252
237
222
251
236
221
206
250
235
220
205
175
204
249
234
219
159
188
143
172
248
233
218
203
247
232
217
202
187
186
171
156
141
246
231
216
201
245
230
215
200
185
170
155
184
169
154
199
244
229
214
243
228
213
198
183
168
153
138
B
167
227
212
197
182
152
137
A
166
151
136
181
242
241
226
211
196
165
150
180
149
134
7
164
225
240
210
195
224
209
194
179
208
193
178
163
192
177
162
147
176
161
146
131
4
160
144
129
253
238
254
239
255
223
Trang 29
Trang 30
Phm vi
Kch thc
(byte)
Real48
Single
Double
Extended
10
Comp
-2^63+1 .. 2^63 -1
Currency
-922337203685477.5808..
922337203685477.5807
Phm vi
Kch thc
(byte)
ngha
Cng
integer, real
integer, real
Tr
integer, real
integer, real
Nhn
integer, real
integer, real
Chia thc
integer, real
real
div
Chia nguyn
integer
integer
mod
Ly phn d
integer
integer
// x = 6
y := 15 div 6;
// t = 2
z := 15.5 mod 5;
// li
ngha
V d
+ (unary)
du dng
integer, real
integer, real
+7
- (unary)
du m (ly s i)
integer, real
integer, real
-7
Trang 31
Kt qu ca php chia thc (/) lun lun c kiu Extented, khng quan tm n
kiu ca cc ton hng.
Khi thc hin php chia x/y (hay l x mod y hoc x div y) th y phi khc 0, nu y
c gi tr 0 th chng trnh s pht sinh li.
//Unit: SysUtils
//Unit: SysUtils
//Unit: SysUtils
ngha
abs(x);
|x| : ly gi tr tuyt i ca s x
arctan(x:extended): extended;
arctang(x)
cos(x) : ly cos ca x
ex
frac(x:extended): extended;
inc(var x [ ; n: longint ] );
ln(x);
Tr v s ln hn trong hai s a v b.
odd(n: integer|int64):boolean;
pi: extended;
Tr v gi tr pi=3.1415926535897932385.
sqr(x);
x2 : ly bnh phng tr s x
sqrt(x);
: ly cn bc 2 ca x
sin(x);
succ(x);
Tr v gi tr sau ca x
Trang 32
Ly phn nguyn ca x
Trang 33
Boolean
ByteBool
WordBool
LongBool
4
Bng 8: Kiu logic
Trong , kiu Boolean l kiu tng thch vi kiu Boolean ca Pascal v c a
thch hn c. Mt gi tr kiu ByteBool, LongBool hoc WordBool c xem l true nu
n c gi tr khc 0, ngc li l false.
I.4.2. Php ton Boolean
T kha
ngha
Not
Php ton ph nh
And
Php ton v
Or
Php ton hoc
Bng 9: Cc php ton trn kiu logic
C php:
Php ton and: (x1) and (x2) and ... and (xn) tr v kt qu l true khi tt c cc
ton hng l true, ngc li tr v false.
Php or: (x1) or (x2) or ... or (xn) cho kt qu l false khi tt c cc ton hng l
false, ngc li tr v true.
V d 5: V d: vi x, y, z kiu boolean, ta c:
x := (2<3) and (5<5) and (0<>1);
// x = False
y := (2>3) or (5>5) or (0<>1);
// y = True
z := not (y);
// z = False
hin th gi tr boolean ln mn hnh, bn s dng hm c sn trong Delphi:
function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;
Nu bn mun hin th gi tr ca B l chui k t True hoc False th cho
UseBoolStrs = True; cn nu mun hin th gi tr ca B l '-1' hoc '0' th th cho
UseBoolStrs = False.
II. Cu lnh (statement)
Trong mt chng trnh Delphi, sau phn m t d liu l phn m t cc cu lnh.
Cc cu lnh c nhim v xc nh cc cng vic m my tnh phi thc hin x l cc
d liu c m t v khai bo. Cu lnh c chia thnh cu lnh n gin v cu lnh
c cu trc.
Trang 34
i: integer;
x: real;
p, q: boolean;
th ta c th c cc php gn sau:
c := 'A';
c := chr(90);
i := 35;
i := i div 7;
x := 0.5;
x := i + 1;
q := not p;
ngha:
Bin v cc pht biu gn l cc khi nim quan trng ca mt h cc ngn ng lp
trnh, chng phn nh cch thc hot ng ca my tnh, l:
-
V. Lnh gi th tc v hm
Trong lp trnh OOP, thut ng hm (Function), th tc (Procedure) v phng thc
(Method) l khi nim quen thuc vi ngi lp trnh. cc bn c th nm bt c
kin thc lp trnh trong Delphi, Gio trnh a ra trc khi nim ny mt cch ngn gn
nh sau:
Hm v th tc c gi chung l chng trnh con. Hm c xy dng thng qua
tn hm v danh sch cc tham s hnh thc nu c, mi hm th lun tr v duy nht 1
gi tr. Cn th tc th c tn th tc v danh sch cc tham s hnh thc nu c. Khc vi
Trang 35
//Hin th 5 cu cho
Trang 36
Label Tn_nhn;
Lnh goto l lnh nhy khng iu kin, n chuyn hng thc thi ca chng trnh
n v tr m nhn ang ng.
Trong phong cch lp trnh OOP, lnh goto t ra b li thi v rt t khi c dn lp
trnh s dng.
V d 9: Minh ha lnh goto tnh biu thc a/b.
T File/New/Other, DClick vo Console Application m ra 1 d n mi v nhp
cc dng lnh hon chnh nh hnh sau:
Trang 37
NGI
- M s SV
- Ngnh hc
- v.v...
SINHVIN
- H tn
- Ngy sinh
- Phi
- v.v...
CBCNV
- M cn b
- Bc lng
- v.v...
- v.v...
Hnh 1: M hnh cc lp
C th: Nu xt mt gia nh cng chc gm 4 thc th ngi l ngi A cha, B m: i lm; anh C, ch D: ang i hc chng hn, th nh th ta c 2 i tng A, B c
to ra t lp CBCNV v 2 i tng C, D c sinh ra t lp SINHVIN v c 4 i
tng ny u c nhng tnh cht chung c tha hng t lp NGI, v nh vy 2 lp
SINHVIN v CBCNV l cc lp dn xut t lp NGI.
I.1.1. Lp (Class)
Lp l mt khi nim c s dng rt nhiu trong cch lp trnh OOP. Vic hiu r
cc kin thc v lp th nm ngoi phm vi ca gio trnh ny. Do vy, gio trnh ch a
ra cc khi nim rt c bn v lp, mc ch cc bn d hiu hn v i tng (Object),
l mt thnh phn rt ph bin trong lp trnh ca Delphi. Nh vy, lp c dng nh
ngha ra kiu d liu cu trc m n bao gm 3 thnh phn c bn:
- Cc trng (Fields): l cc bin d liu ca lp.
Trang 38
Trang 39
Tin t
V d
Form
frm
frmWelcome, frmMain
Label
lbl
lblHeSo, lblHoTen
Edit
edt
edt_a, edtHoTen
Button
btn
btnGiai, btnXuLy
SpinEdit:
spe
speNhietDo, speGia1TC
LabeledEdit
lbe
lbeDonGia, lbeThanhTien
ListBox
lbx
lbxBaiHat, lbxFont
CheckBox
chk
chkMatHang, chkDelphi
ComboBox
cbo
cboToanTu, cboPhai
GroupBox
gbx
gbxMonHoc, gbxMatHang
Trang 40
Tin t
V d
CheckListBox
clb
clbTenMH, clbDMVT
ValueListEditor
vle
vleMatHang, vleBaoGia
Memo
mem
memDanhSach, memKQ
RadioButton
rbt
rbtNam, rbtNu
RadioGroup
rgp
rgpGioiTinh, rgpCourses
StringGird
stg
stgAlphabet, stgMaTranA
Panel
pnl
pnlDieuKhien, pnlDrives
PopupMenu
pmu
pmnMauSac, pmnGames
MainMenu
mmu
mmuMainForm, mmuQLSV
MenuItem
mni
mniCopy, mniPaste
Trang 41
Tn lp
Tn i
tng
Trang 43
frmWelcome.Show;
Tn s kin
Tn th tc
s kin s
kin.
Trang 44
tn nt lnh
btnChao
s kin
OnClick
Trang 45
Trang 47
Trang 48
// --------------------------------------------------------------------------------------end.
-----
------------------------------------------------}
B mn Tin Hc ng Dng Khoa Khoa Hc T Nhin Trng HCT
Trang 49
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end;
// --------------------------------------------------------------------------------------end.
// Kt thc Form Unit.
th khi bn bin dch, Delphi s thng bo li nh hnh sau:
Trang 50
G b TTSK
Cha g b TTSK
g b TTSK
Hnh 14: Minh ha tn TTSK Button1Click trong s kin OnClick
- Chn nt lnh No, nu khng g b tn th tc s kin trong s kin tng ng ca
i tng. Trong v d ny, bn vn mun gi li TTSK Button1Click trong s kin
OnClick ca nt lnh Button1.
- Chn nt lnh Cancel th hy b bng thng bo li ny. iu ny cng nh chn
nt lnh No.
C 3 chn la trn vn khng t ng sa ht li cho bn. Nu bn nhn phm
Ctrl+F9 hoc F9, th Delphi s nhy con tr (con nhy) n ng phn ci t TTSK v
thng bo li trong ca s Messages pha di ca s son tho m lnh nh hnh sau:
Trang 51
Trang 52
Trang 53
Trang 54
Trang 55
Trang 56
Trang 57
Trang 58
Trang 59
Trang 61
* Biu tng:
Trang 62
ngha
Name
AutoSize
Caption
BorderStyle
BorderIcons
Cursor
Form style
Trang 63
ngha
Color
Mu nn
Font
Icon
MainMenu
Xc nh thanh thc n chnh cho form thng qua thuc tnh name
ca thnh phn TMainMenu c ln form.
PopupMenu
Position
WindowMenu
Visible
C gi tr True hoc False: C xut hin hay khng khi chy chng
trnh.
WindowState
Cc gi tr c ngha nh sau:
- wsNormal: trng thi thng thng. Cch thc hin th ca s
form s ging nh cc gi tr c thit lp trong thuc tnh
BorderStyle.
- wsMinimized: Ca s form s thu nh v thanh tc v (Task bar).
- wsMaximized: Ca s form s c phng to ton b mn hnh.
Hai chc nng wsMinimized v wsMaximized ch c hiu lc khi
thuc tnh BorderStyle c gi tr l bsNone, bsSingle, hoc bsSizeable.
Bng 2: Cc thuc tnh ca TForm.
Trang 64
S kin s p ng
Xc nh i tng ca thnh phn (Component) no trn form
nhn focus khi form hin th. Bn xem chc nng ny tng
B mn Tin Hc ng Dng Khoa Khoa Hc T Nhin Trng HCT
S kin s p ng
ng vi vic t TabOrder ca i tng ny bng 0.
ObjectMenuItem
OnActivate
OnCreate
OnShow
OnClick
OnContextPopup
OnDblClick
OnKeyDown
OnKeyPress
OnKeyUp
OnMouseDown
Khi ngi s dng Click, RClick, mouse gia (hay Scroll mouse).
OnMouseMove
OnMouseUp
OnMouseWheel
Khi ngi s dng cun mouse gia theo hng ln hoc xung.
OnMouseWheelDown Khi ngi s dng cun mouse gia theo hng xung.
OnMouseWheelUp
Trang 65
Tn thuc
tnh
Gi tr ca
thuc tnh
Nu bin dch thnh cng, nhn phm chc nng F9 hoc chc nng Run/Run
hoc Click nt
Click nt Close
trn Form.
Chn chc nng Run/Program Reset
S dng t hp phm Ctrl+F2
Trang 66
Trang 67
Biu tng:
Mt s thuc tnh thng dng:
Tn thuc tnh
ngha
Name
AutoSize
Caption
Trang 68
ngha
Visible
C gi tr True hoc False: c hin th hay khng khi chy chng trnh.
Color
Mu nn
Font
Tranparent
WordWrap
C gi tr True hoc False: cho php hin th nhiu dng hay ch 1 dng
trong i tng Label.
Bng 4: Cc thuc tnh ca TLabel
Tn s kin
OnClick
OnContextPopup
Khi ngi s dng nhp chut phi (RClick) vo i tng, hoc thc
hin vic bt ln menu i tng (PopupMenu)
OnDblClick
- Mt s hm c s dng trong v d:
+ Hm tr v thi gian hin hnh ca h thng my tnh:
function Time: TDateTime;
+ Hm tr v ngy thng nm hin hnh ca h thng my tnh:
function Date: TDateTime;
+ Hm chuyn i kiu thi gian (time) sang kiu chui (string)
function TimeToStr(Time: TDateTime): string; overload;
+ Hm chuyn i kiu ngy thng nm (date) sang kiu chui (string)
function DateToStr(Date: TDateTime): string; overload;
To mt d n mi File/New/Application
Gi tr
Name
frmMain
Caption
Position
poDestopCenter
Trang 69
Gi tr
Name
lblDateTime
Caption
( rng)
Align
alClient
Color
clSkyBlue
BorderStyle
bsDialog
unit untDateTime;
//tn unit file: untDateTime.pas
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls;
type
TfrmMain = class(TForm)
lblDateTime: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.FormCreate(Sender: TObject);
begin
lblDateTime.Font.Color := clPurple;
lblDateTime.Font.Size:=15;
lblDateTime.Caption:=' - The curent time is ' +
TimeToStr(time);
lblDateTime.Caption:=lblDateTime.Caption + Chr(10)+' - Today is
' + DateToStr(Date);
end;
end.
Trang 70
Lu d n vo th mc S:\ViDuLabel
Bin dch d n: Ctrl + F9
Chy chng trnh: F9
Kt qu chng trnh nh hnh sau:
IV.2. Hp vn bn (TEdit)
L mt component chun nhp hay xut mt chui k t trong n khi chy
chng trnh. Ch hp vn bn ch nhp hoc xut c 1 dng duy nht.
Biu tng:
Tn thuc tnh
ngha
Name
Xc nh tn cho hp vn bn.
AutoSize
Text
Chui k t trong hp vn bn
CharCase
Font
Visible
C gi tr True hoc False: c xut hin hay khng khi chy chng
trnh.
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
ReadOnly
S kin s p ng
OnClick
OnContextPopup
OnDblClick
Trang 71
Tn s kin
OnEnter
OnExit
OnKeyDown
OnKeyPress
ngha
Show;
Hide;
Clear;
Th tc xa ht gi tr trong TEdit
Bng 10: Cc phng thc ca TEdit
Ta c th s dng cc hm chun trong Delphi nhp hoc xut d liu thay cho TEdit.
- Hm InputBox:
C php:
function InputBox(const ACaption, APrompt, ADefault: string): string;
Trong :
ACaption : l mt hng chui k t lm tiu ca hp hi thoi nhp.
APrompt : l mt chui k t lm cu nhc cho ngi nhp liu
ADefault : l mt chui k t lm gi tr mc nh ban u
ngha: Dng nhp d liu vo thng qua hp thoi, kt qu tr v ca hm l
kiu chui k t (String)
V d 10: Nhp m s sinh vin t hp thoi nh sau:
mssv := InputBox('Hop nhap lieu', 'Nhap ma so sinh vien','7962343');
Vi bin mssv kiu string, ta c hp hi thoi nh sau:
Trang 72
Trang 73
Hm InputQuery:
C php:
function InputQuery(const ACaption, APrompt: string; var Value: string):
boolean;
Trong :
ACaption: l mt hng chui k t lm tiu ca hp hi thoi nhp.
APrompt: l mt chui k t lm cu nhc cho ngi nhp liu
Value: l mt tham bin nhn gi tr nhp ca hm.
Trang 74
Trang 75
Bn chn Cancel
Bn chn OK
Hnh 49: B nhp x, nhp y=7
Trang 77
Biu tng:
Mt s thuc tnh thng dng:
Tn thuc tnh
ngha
Name
Xc nh tn cho nt lnh.
Caption
Cancel
Visible
Enabled
C gi tr True hoc False: Cho hay khng cho php ngi s dng truy
xut n n.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m nt lnh
c nhn focus khi bn nhn phm Tab. Chc nng ny ch c tc ng
khi thuc tnh TabStop c gi tr True.
Bng 11: Cc thuc tnh ca TButton
Tn s kin
OnClick
OnContextPopup
OnEnter
OnExit
OnKeyDown
OnKeyPress
- Mt hm c s dng trong v d:
+ Hm th chuyn i mt chui, S, sang kiu s nguyn, out. Nu thnh cng hm
tr v gi tr True, cn nu i b tht bi th hm s tr v tr False.
function TryStrToInt(const S: string; out Value: integer): Boolean;
Trang 78
To mt d n mi File/New/Application
Thit lp cc thuc tnh ca form nh sau:
Thuc tnh
Gi tr
Name
frmTong
Caption
Edit th ba:
Button
Thuc tnh
Gi tr
Name
edt_a
TabOrder
Name
edt_b
TabOrder
Name
edtKQ
TabOrder
ReadOnly
True
Name
btnTong
Caption
Tinh &tong
TabOrder
Trang 79
- Lu d n vo th mc S:\ViDuEdit
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Biu tng:
Mt s thuc tnh thng dng:
Tn thuc tnh
ngha
Xc nh tn cho i tng LabeledEdit.
Name
Text
Visible
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m nt lnh
c nhn focus khi bn nhn phm Tab. Chc nng ny ch c tc
ng khi thuc tnh TabStop c gi tr True.
Bng 15: Cc thuc tnh ca TLabeledEdit
Tn s kin
OnClick
OnContextPopup
OnEnter
OnExit
OnKeyDown
OnKeyPress
Biu tng:
Mt s thuc tnh thng dng:
Trang 81
ngha
Name
Caption
Checked
State
Visible
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m nt lnh
c nhn focus khi bn nhn phm Tab. Chc nng ny ch c tc ng
khi thuc tnh TabStop c gi tr True.
Bng 17: Cc thuc tnh ca TCheckBox
Tn s kin
OnClick
OnContextPopup
OnEnter
OnExit
OnKeyDown
Khi c phm bt k c g
OnKeyPress
Ch : thun tin trong vic thit k cng nh lp trnh, bn nn dng thnh phn
TGroupBox (c biu tng
Trang 82
To mt d n mi File/New/Application
Gi tr
Name
frmMain
Caption
Gi tr
Name
gbxDanhSach
Caption
Danh sach:
Thuc tnh
Gi tr
Name
chkPascal
Caption
Pascal
Name
chkDelphi
Caption
Delphi
Name
chkVC
Caption
C++/Visual C
Name
chkVB
Caption
Visual Basic
Name
chkVisualFox
Caption
Visual Fox
Name
chkAssembler
Caption
Assembler
Name
chkCOBOL
Caption
COBOL
Name
chkJava
Caption
Java
Trang 83
Edit
Name
edt_KQ
Text
( rng)
ReadOnly
True
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
Graphics,
type
TfrmMain = class(TForm)
Trang 84
Trang 85
+ Lu d n vo th mc S:\ViDuCheckBox
+ Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 86
ngha
Name
Caption
Checked
Visible
C gi tr True hoc False: C xut hin hay khng khi chy chng
trnh.
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m nt lnh
c nhn focus khi bn nhn phm Tab. Chc nng ny ch c tc
ng khi thuc tnh TabStop c gi tr True.
Bng 22: Cc thuc tnh ca TRadioButton
Trang 87
Tn s kin
OnClick
OnContextPopup
OnDblClick
OnExit
OnKeyDown
OnKeyPress
ngha
Name
Items
Items[i]
ItemIndex
Items.Count
p ng ca s kin
OnClick
OnContextPopup
OnExit
Trang 88
ngha
Items.Append(const S: string);
Items.Delete(Index: Integer);
Th tc xa mt phn t ch s index
trong Items.
Items.Clear;
Gi tr
Name
frmMain
Caption
Gi tr
Name
rgpCourses
Caption
Courses:
Items
Click vo
(phn t):
Level A
Level B
Level C
IELTS
TOEFL
chn vo 5 dng
Trang 89
+ Lu d n vo th mc S:\ViDuRadioGroup
+ Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 90
ngha
Name
Align
Alignment
Font
Lines
Lines[i]
Lines.Count
SelText
Tr v khi vn bn c chn.
WantReturns
C gi tr True v False: Cho hoc khng cho php vic s dng phm
Enter xung hng (k t Carry Return) khi son tho vn bn trong
Memo.
WantTabs
C gi tr True v False: Cho hoc khng cho php vic s dng phm
Tab khi son tho vn bn trong Memo.
ReadOnly
Trang 91
ngha
ScrollBars
Visible
C gi tr True hoc False: C xut hin hay khng khi chy chng
trnh.
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m Memo
c nhn focus khi bn nhn phm Tab. Chc nng ny ch c tc
ng khi thuc tnh TabStop c gi tr True v WantTabs l False.
WordWrap
Tn s kin
OnChange
OnClick
OnContextPopup
OnDblClick
OnExit
OnKeyDown
OnKeyPress
ngha
Lines.Append(const S: string);
Lines.Delete(Index: Integer);
Th tc xa mt dng ch s index
trong Lines.
Trang 92
ngha
CopyToClipboard;
CutToClipboard;
Th tc ct khi vn bn c chn v
lu vo vng nh Clipboard ca
Windows.
PasteFromClipboard;
Th tc dn vng vn bn trong
Clipboard vo Memo.
Clear;
ClearSelection;
Th tc xa vng vn bn c chn
trong Memo.
Bng 31: Cc phng thc ca TMemo
Gi tr
Name
frmNotePad
Caption
Thuc tnh
Gi tr
Name
memNotePad
Lines
TabOrder
Trang 93
Thuc tnh
Gi tr
Name
btnClear
Caption
Clea&r
Name
btnCopy
Caption
&Copy
Name
btnCut
Caption
C&ut
Name
btnPaste
Caption
&Paste
- Lu d n vo th mc S:\ViDuMemo
B mn Tin Hc ng Dng Khoa Khoa Hc T Nhin Trng HCT
Trang 95
ngha
Name
Align
Columns
S ct trong ListBox
Font
Items
Items[i]
ItemIndex
Count
SelCount
MultiSelect
C gi tr True hoc False: Cho php Click chn cng lc nhiu phn
Trang 96
ngha
t (kt hp vi phm Ctrl hoc Shift) hay ch 1 phn t.
Sorted
Visible
C gi tr True hoc False: c xut hin hay khng khi chy chng
trnh.
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m ListBox
c nhn Focus khi bn nhn phm Tab. Chc nng ny ch c tc
ng khi thuc tnh TabStop c gi tr True.
Bng 34: Cc thuc tnh ca TListBox
Tn s kin
OnClick
OnContextPopup
OnDblClick
OnExit
OnKeyDown
OnKeyPress
ngha
Items.Append(const S: string);
Items.Delete(Index: Integer);
Th tc xa mt phn t ch s index
trong Items.
Trang 97
ngha
Clear;
Th tc xa ht cc phn t trong
ListBox.
ClearSelection;
Th tc xa cc phn t chn.
Bng 36: Cc phng thc ca TListBox
Gi tr
Name
frmMain
Caption
ListBox
Edit
Button 1:
Button 2:
Thuc tnh
Gi tr
Name
lbxSo
Items
rng ( 0 line)
Columns
MultiSelect
True
Name
edt_pt
Text
rng
TabOrder
Name
btnThem
Caption
Name
btnDem
Caption
Trang 99
IV.10. TSpinEdit
Thnh phn ny nm trong th Sample. N cho php bn nhp vo mt s nguyn
bt k nh thnh phn TEdit. Tuy nhin, TSpinEdit cn cho php bn thay i (tng, gim)
gi tr ny theo mt bc nhy (step/increment) no bng cch Click vo nt
(nt
UpDown) tng hoc gim.
* Biu tng:
* Mt s thuc tnh thng dng:
Tn thuc tnh
ngha
Name
Xc nh tn cho i tng.
Value
MinValue
MaxValue
Increment
MaxLength
Text
ReadOnly
Trang 100
ngha
Visible
Enabled
Kiu boolean: C gi tr True hoc False: Cho php hay khng ngi
s dng truy xut n cc thnh phn m n cha hay khng.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m SpinEditl
c nhn Focus khi bn nhn phm Tab. Chc nng ny ch c
tc ng khi thuc tnh TabStop c gi tr True.
Bng 39: Cc thuc tnh ca TSpinEdit
Tn s kin
OnClick
OnContextPopup
OnExit
OnKeyDown
Khi bn g phm bt k
OnKeyPress
OnChange
ngha
Show;
Hide;
Clear;
Th tc xa ht gi tr trong TSpinEdit
Bng 41: Cc phng thc ca TSpinEdit
Trang 101
ngha
Name
Align
Columns
Items
Items[i]
Checked[i]
ItemIndex
Count
SelCount
MultiSelect
C gi tr True hoc False: Cho php Click chn cng lc nhiu phn
t (kt hp vi phm Ctrl hoc Shift) hay ch 1 phn t.
Sorted
Visible
C gi tr True hoc False: c xut hin hay khng khi chy chng
trnh.
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m
CheckListBox c nhn Focus khi bn nhn phm Tab. Chc
nng ny ch c tc ng khi thuc tnh TabStop c gi tr True.
Bng 42: Cc thuc tnh ca TCheckListBox
p ng ca s kin
OnClick
OnContextPopup
Trang 102
Tn s kin
OnDblClick
OnExit
OnKeyDown
OnKeyPress
ngha
Items.Append(const S: string);
Items.Delete(Index: Integer);
Th tc xa mt phn t ch s index
trong Items.
Clear;
Th tc xa ht cc phn t trong
TCheckListBox.
ClearSelection;
Th tc xa cc phn t chn.
Bng 44: Cc phng thc ca TCheckListBox
Gi tr
Name
frmVidu
Caption
Vi du ve CheckListBox
Bng 45: Thit lp thuc tnh Form.
Thuc tnh
Name
Gi tr
clbTenMH
Trang 103
Thuc tnh
Gi tr
Gm 15 phn t nh sau:
Items
Name
lbxSoTC
Gm 15 phn t nh sau:
ListBox
SpinEdit
Memo
Button 1
Button 2
Items
2
3
2
3
2
2
3
3
5
4
5
5
3
Name
5
speGia1TC
MinValue
15000
MaxValue
30000
Value
15000
Increment
1000
Name
memTienHP
Lines
0 line (rng)
Name
btnTinhTien
Caption
Name
btnThemMH
Caption
Trang 104
Trang 105
- Lu d n vo th mc S:\ViDuCheckListBox
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 106
ngha
Name
TitleCaptions
DisplayOptions
Trang 107
ngha
ValueListEditor nn c ch s hng l 0.
Strings
RowCount
ColCount
Tr v s ct trong ValueListEditor.
Strings.Count
Keys[i]
Values[i]
Strings[i]
Row
Col
Cell[i,j]
Tr v gi tr trong ch s ct i v hng j.
KeyOptions
Cc tu chn trn ct kho (Key): Cho php (True) hay khng cho
php (False): sa tn kho - keyEdit, thm tn kho - keyAdd, xo tn
kho - keyDelete, kim tra tn kho duy nht (khng trng kho) keyUnique.
Options
Visible
C gi tr True hoc False: c xut hin hay khng khi chy chng
trnh.
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
Hint
Trang 108
ngha
c nh th t bt u t 0, 1, 2,... xc nh th t m i tng
ny nhn Focus khi bn nhn phm Tab. Chc nng ny ch c tc
ng khi thuc tnh TabStop c gi tr True.
Bng 46: Cc thuc tnh ca TCheckListBox
Tn s kin
OnClick
OnContextPopup
OnDblClick
OnExit
OnKeyDown
OnKeyPress
OnSelectCell
ngha
DeleteRow(ARow: Integer);
Th tc xo mt hng bt k.
Strings.Append(const S: string);
Strings.Delete(Index: Integer);
Th tc xa mt hng/phn t ch s index
trong Items.
Strings.Clear;
Trang 109
Gi tr
Name
frmMain
Caption
Vi du ve ValueListEditor
Bng 49: Thit lp thuc tnh Form.
Thuc tnh
Name
TitleCaptions
Gi tr
vleMatHang
2 lines tng ng l Key v Value:
Ten Giao Trinh:
Don Gia:
Key
ValueListEditor
Strings
LabeledEdit th 1
LabeledEdit th 2
LabeledEdit th 3
Button th 1
Trang 110
Ly thuyet Access
Thuc hanh Access
Ly thuyet Delphi
Thuc hanh Delphi
Value
150
145
165
140
KeyOptions
Name
lbeTenHang
lpAbove
Text
(rng)
Name
lbeDonGia
lpAbove
Text
(rng)
Name
lbeKQTK
lpBelow
Text
(rng)
Name
btnThem
Button th 2
Thuc tnh
Gi tr
Caption
Name
btnTimKiem
Caption
Tim &kiem
Trang 111
Trang 112
Trang 113
ngha
Name
AutoDropDown
Items
Items[i]
ItemIndex
Xc nh ch s phn t c chn, ch s ny c gi tr bt t 0, 1,
2,... Nu ItemIndex = -1 th cha c phn t no c chn.
Items.Count
DropDownCount
Style
C 2 gi tr m bn cn phn bit l:
- csDropDown Cho php bn nhp trc tip thm mt phn t mi
vo trong TComboBox.
- csDropDownList ch cho bn chn t danh sch cc phn t c sn
trong ComboBox.
Text
Sorted
Visible
C gi tr True hoc False: C xut hin hay khng khi chy chng
trnh.
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m
ComboBox c nhn Focus khi bn nhn phm Tab. Chc nng
ny ch c tc ng khi thuc tnh TabStop c gi tr True.
Bng 50: Cc thuc tnh ca TComboBox
Tn s kin
OnClick
OnContextPopup
OnDblClick
Trang 114
Tn s kin
OnExit
OnKeyDown
OnKeyPress
ngha
Items.Append(const S: string);
Items.Delete(Index: Integer);
Th tc xa mt phn t ch s index
trong Items.
Clear;
Th tc xa ht cc phn t trong
ListBox.
Bng 52: Cc phng thc ca TComboBox
case <bin> of
Gi_tr_i: cng_vic_i;
end;
Gi tr
Name
frmMain
Caption
BorderIcons
[]
Position
poDesktopCenter
Trang 115
ComboBox
Edit th 1
Edit th 2
Edit th 3
Button
Thuc tnh
Gi tr
Name
cboToantu
Items
+
*
/
Div
Mod
Style
csDropDownList
ItemIndex
-1
Name
edt_ToanHang1
Text
TabOrder
Name
edt_ToanHang2
Text
TabOrder
Name
Edt_Kq
Text
ReadOnly
True
Name
btnKetThuc
Caption
&Ket thuc
Trang 117
ngha
Name
FixedCols
FixedRows
Trang 118
ngha
ny c th bt u t 0, 1, 2,... Mc nh c gi tr l 1.
ColCount
Xc nh s ct trong li, s ct c nh ch s bt u t 0 n
ColCount-1
RowCount
Col
Ch s ct ca hin hnh
Row
Cells[i,j]
Gi tr trong ch s ct i v hng j
Options
ScrollBars
Visible
C gi tr True hoc False: C xut hin hay khng khi chy chng
trnh.
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n n.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m StringGrid
nhn Focus khi bn nhn phm Tab. Chc nng ny ch c tc ng khi
thuc tnh TabStop c gi tr True.
Bng 55: Cc thuc tnh TStringGrid
p ng ca s kin
OnClick
OnContextPopup
OnDblClick
OnExit
OnKeyDown
Khi bn g phm bt k
OnKeyPress
Trang 119
Tn s kin
OnSelectCell
Nu tr_cui >= tr_u thc hin cng_vic vi (tr_cui - tr_u +1) ln.
V d 23: Hin th bng 26 k t ch ci. Click vo tng ng trong li hin
th k t trong bn va chn.
- To mt d n mi File/New/Application
- Thit lp cc thuc tnh ca form nh sau:
Thuc tnh
Gi tr
Name
frmAlphabet
Caption
Position
poDesktopCenter
Bng 57: Thit lp cc thuc tnh cho Form.
Thuc tnh
Gi tr
Name
stgAlphabet
Name
lblAlphabet
Caption
Font.Size
12
// Ct tri nht
FixedRows:=0;
ColCount:=5;
RowCount:=6;
Trang 121
- Lu d n vo th mc S:\ViduStringGrid
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Gi tr
Name
frmBangASCII
Caption
Bang ma ASCII
Position
poDesktopCenter
Bng 59: Thuc tnh ca frmBangASCII
Trang 122
StringGrid
Thuc tnh
Gi tr
Name
grdASCII
DefaulColWidth
24
DefaulRowHeight
124
FixedCols
FixRows
Trang 123
grdASCII.Cells[i,j]:=chr(k);
end.
- Lu d n vo th mc S:\ViduStringGrid2
- Bin dch v chy chng trnh, ta c kt qu nh sau:
ngha
Name
Align
Alignment
Caption
Tiu ca TPanel
Trang 124
ngha
BorderStyle
Visible
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n cc thnh phn m n cha hay khng.
Hint
TabOrder
c nh th t bt u t 0, 1, 2,... xc nh th t m Panel
c nhn Focus khi bn nhn phm Tab. Chc nng ny ch c tc
ng khi thuc tnh TabStop c gi tr True.
Bng 61: Cc thuc tnh ca TPanel
Tn s kin
OnClick
OnContextPopup
OnDblClick
OnExit
OnKeyDown
OnKeyPress
ngha
Show;
Hide;
Trang 125
ngha
Name
Items
Images
Danh sch cc hnh nh (thng qua thnh phn TImageList trn tab
Win32) c gn vo cc thc n ca thanh menu. Bn cng c th
gn tng hnh nh vo tng thc n thng qua thuc tnh Bitmap ca
mi thc n (TMenuItem)
Bng 64: Cc thuc tnh ca TMainMenu
ngha
Name
AutoCheck
Checked
Bitmap
Gn hnh nh vo thc n
Caption
Tiu ca thc n
ImageIndex
Enabled
C gi tr True hoc False: Cho php hay khng ngi s dng truy
xut n cc thnh phn m n cha hay khng.
Hint
Trang 126
ngha
ShortCut
Visible
Tn s kin
OnClick
Gi tr
Name
frmMain
Caption
Position
poMainFormCenter
i
tng
Thuc
tnh
Gi tr
Name
mmuMainForm
C 5 TMenuItem nh sau:
Th
MainMenu
Items
Name
Caption
Shortcut
Bitmap
mniTienIch
&Tien ich
mniMayTinh
&May tinh
Ctrl+M
Calculator.bmp
mniXemngaygio
Xem
gio
Ctrl+D
Clock.bmp
mniN1
mniThoat
&Thoat
Ctrl+Q
Close.bmp
&ngay
Trang 127
Thuc tnh
Gi tr
Name
frmCalculator
Caption
i tng
Thuc tinh
Name
Gi tr
Edit th 1
Name
rgpPhepToan
Cong
Tru
Nhan
Chia
Div
Mod
edt_a
Edit th 2
Name
edt_b
Edit th 3
Name
edt_Kq
RadioGroup
Items
Label
Thuc tnh
Gi tr
Name
frmDateTime
Caption
Position
poMainFormCenter
Name
lblDateTime
Trang 129
Trang 131
Trang 132
Trang 133
* Biu tng:
* Mt s thuc tnh thng dng:
Tn thuc tnh
ngha
Name
Alignment
AutoPopup
Items
Images
Danh sch cc hnh nh (thng qua thnh phn ImageList trn tab
Win32) c gn vo cc thc n ca thanh thc n. Bn cng c
th gn tng hnh nh vo tng thc n thng qua thuc tnh Bitmap
ca mi thc n (TMenuItem)
Bng 72: Cc thuc tnh ca TPopupMenu
p ng ca s kin
Khi bn RClick, ch rng s kin ny s xy ra trc khi PopupMenu
bt ln.
Bng 73: S kin ca TPopupMenu
Trang 134
Gi tr
Name
frmMain
Caption
PopupMenu
{c xc lp bc sau}
Thuc tnh
Name
Gi tr
pmuMauSac
C 6 TMenuItem nh sau:
Th
PopupMenu
Items
Name
Caption
mniMauXanh
Mau &Xanh
mniMauDo
Mau &Do
mniMauTim
Mau &Tim
mniMauVang
Mau &Vang
mniN1
Trang 135
- Lu d n vo th mc S:\ViduPopup
- Bin dch v chy chng trnh, RClick ln Form, ta c kt qu nh sau:
Trang 136
Trang 137
II.1. Lnh if ... then ... v lnh if ... then ... else..
II.1.1. Lnh if ... then
* Lu din t cc lnh v ngha:
* C php:
iu_kin
false
true
Nu iu_kin c gi tr ng th s thc
hin cng_vic ri kt thc lnh.
cng_vic
Trang 138
iu_kin
false
true
cng_vic_1
cng_vic_2
kt thc
Hnh 3: lnh if ... then ... else
Ch :
- iu kin l mt biu thc Boolean (c gi tr ng: True hoc sai: False).
- Nu cng vic sau then hoc sau else c nhiu hn mt lnh th ta phi gi li
trong ghp begin ... end;
- Ton b lnh if ... then ... else xem nh 1 lnh n.
- Lnh ng trc t kha else th khng c du chm phy (;) cui lnh.
Trang 139
//khng c du ;
Trang 140
type
TfrmPTB1 = class(TForm)
lbl_a: TLabel;
lbl_b: TLabel;
edt_a: TEdit;
edt_b: TEdit;
lbl_KQua: TLabel;
memKQua: TMemo;
pnlLine: TPanel;
btnXuLy: TButton;
btnKetThuc: TButton;
procedure btnXuLyClick(Sender: TObject);
procedure btnKetThucClick(Sender: TObject);
Trang 141
var
frmPTB1: TfrmPTB1;
implementation
{$R *.dfm}
//a <>0
begin
memKQua.Lines.Add('Phuong trinh co nghiem:');
x:=-b/a;
memKQua.Lines.Add('
x= '+ FloatToStr(x));
end;
end
else
begin
memKQua.Lines.Text:='Nhap sai! Nhap lai he so a va b.';
edt_a.Clear;
edt_b.Clear;
edt_a.SetFocus;
end;
end;
Trang 142
- Lu d n vo th mc S:\ViduPTB1
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 143
Trang 144
- Lu d n vo th mc S:\ViduPTB2
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 145
//end case
* Lu :
case
of
BIU THC
else
GT1
cng_vic_1
GT2
cng_vic_2
GT...
....
GTn
cng_vic_n
GT0
cng_vic_0
end;
Trang 146
Hnh 10:
Trang 147
- Lu d n vo th mc S:\ViduCaseOf
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Hnh 11:
m ln,
m xung.
* C php m ln:
for <bin_m := tr_u> to <tr_cui> do cng_vic;
Trang 149
* ngha lu :
Sai
tr u <= tr cui
ng
bin m := tr u
Sai
bin m <= tr cui
{lp}
ng
cng vic
tng bin m ln 1
Hnh 12:
Kt thc
Hnh 13:
Trang 150
Hnh 14:
Classes,
Graphics,
type
TfrmMain = class(TForm)
Label1: TLabel;
edt_n: TEdit;
btnXemKQ: TButton;
btnKThuc: TButton;
Trang 151
- Lu d n vo th mc S:\ViduTongS1
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Hnh 15:
Trang 152
an
a * a * ... * a
X =
n!
1 * 2 * ... * n
Hng dn:
- To d n mi: File/New/Application
- t thuc tnh name cho cc i tng ca chng trnh nh ca s Object
TreeView, v thit k form nh hnh sau:
Hnh 16:
Trang 153
Trang 154
- Lu d n vo th mc: S:\ViduTinhX
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Hnh 17:
Kt qu chng trnh
iu_kin
{lp}
ng
cng_vic
Hnh 18:
Kt...thc
do
Lu lnh lp while
Trang 155
V d 12:
//bnh phng
Hng dn:
- To d n mi: File/New/Application
- t thuc tnh name cho cc i tng ca chng trnh nh ca s Object
TreeView, v thit k form nh hnh sau:
Trang 156
Hnh 19:
Trang 157
- Lu d n vo th mc S:\ViduWhile
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Hnh 20:
Tm s dng k ln nht
n = 356789107
n = 1257
=> S = 3 + 5 + 6 + 7 + 8 + 9 + 1 + 0 + 7
S = 46
=> S = 1 + 2 + 5 + 7
S = 15
Hng dn:
- To d n mi: File/New/Application
- t thuc tnh name cho cc i tng ca chng trnh nh ca s Object
TreeView, v thit k form nh hnh sau:
Trang 158
Hnh 21:
Classes,
Graphics,
type
TfrmViDu = class(TForm)
edtN: TEdit;
Label1: TLabel;
btnTinh: TButton;
edtKQ: TEdit;
Label3: TLabel;
procedure btnTinhClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmViDu: TfrmViDu;
implementation
{$R *.dfm}
procedure TfrmViDu.btnTinhClick(Sender: TObject);
var n, s: integer;
begin
if TryStrToInt(edtN.Text,n) and (n>=1) then
begin
s:=0;
while (n>0) do
begin
s:=s + n MOD 10;
n:=n DIV 10;
end;
Trang 159
- Lu d n vo th mc: S:\ViduTachSoHang
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Hnh 22:
Vi n = 356789107
Hnh 23:
Vi n = 1257
repeat
cng_vic;
{lp}
until iu_kin;
sai
iu_kin
ng
Kt thc
Hnh 24:
Trang 160
Trang 161
Hnh 25:
Trang 162
- Lu d n vo th mc S:\ViduRepeat
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Hnh 26:
Trang 163
Trang 164
II. Hm
function Tn_hm[(danh_sch_tham_s_hnh_thc)]: kiu_tr_v; [cc_ch_dn;]
[Khai_bo_cc_b]
begin
// Cc cu lnh trong thn ca function.
end;
Trong :
- Tn_hm c t tn theo ng quy cch ca danh hiu t t trong Delphi.
- Kiu_tr_v l mt kiu v hng, biu din kiu ca gi tr tr v ca hm.
- Cc_ch_dn (directives) l cc ch th v quy c gi hm nh register, pascal,
cdecl, stdcall, v safecall; hoc ch th khai bo trc forward; hoc khai bo ngoi
external,... Do s gii hn ca ca gio trnh, nn phn ny khng c trnh by y.
Nu cc bn no mun tm hiu thm, cc bn hy truy cp vo trang web ca Delphi l
http://delphi.about.com/ hoc xem phn help ca b Delphi.
Trang 165
//sai c php.
Ta c th sa li nh trong v d sau:
Trang 166
//ng c php.
//ng c php.
//ng c php.
// c pht sinh li
Trang 167
Gi tr
Name
frmGiaiThua
Caption
Vi du ve ham Function
Position
poScreenCenter
Bng 1:
Thuc tnh
Gi tr
Name
lblKetqua
Caption
Ket qua n!
Name
edt_Kq
Text
Rng
Name
btnNhap
Caption
&Nhap n
Name
btnKetThuc
Caption
&Ket thuc
- v d ny, gio trnh mun trnh by vi bn cch s dng bin chung: khai
bo mt bin chung c tn bin l num_str v kiu l string th t ca s thit k form,
bn nhn phm chc nng F12 chuyn sang ca s m lnh. Bn chuyn con nhy ln
pha u unit v ngay sau phn khai bo bin bin chung l:
var
frmGiaiThua: TfrmGiaiThua;
//bin chung
implementation
{$R *.dfm}
Trang 168
kqtg: extended;
// bin ring
begin
kqtg :=
1;
if n <= 0
then Giai_thua := 1
else
begin
for i := 1 to n do kqtg := kqtg * i ; //kt qu trung gian
Giai_thua
:=
end ;
end;
Classes,
Graphics,
type
TfrmGiaiThua = class(TForm)
edt_Kq: TEdit;
lblKetqua: TLabel;
btnKetThuc: TButton;
btnNhap: TButton;
procedure btnKetThucClick(Sender: TObject);
procedure btnNhapClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmGiaiThua: TfrmGiaiThua;
num_str:string;
//bien chung
implementation
{$R *.dfm}
B mn Tin Hc ng Dng Khoa Khoa Hc T Nhin Trng HCT
Trang 169
* Ch : Bn c th thay cu lnh try ... except ... end; bng cu lnh TryStrToInt
nh cc v d trnh by phn trn.
Trang 170
Hnh 1: Kt qu tnh n!
Nu bn nhp lm gi tr l n= 2o, th chng trnh s bt li v thng bo cho bn nh
sau:
Trang 171
//Li cho
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls;
type
TfrmLoiChao = class(TForm)
btnNhap: TButton;
procedure btnNhapClick(Sender: TObject);
Trang 172
- Lu d n vo th mc S:\ViduLoiChao
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Ban u, chng trnh s ngh bn nhp h tn ca bn vo, nh V Phm Minh
Chu chng hn:
Trang 173
Trang 174
Trang 175
kieu - casting
so = '+
kieu - casting
so = '+
- Lu d n vo th mc S:\ViduKhongDinhKieu
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 176
Trang 177
- Lu d n vo th mc S:\ViduThamTri
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 178
Trang 179
- Lu d n vo th mc S:\ViduThamBien
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 180
{a l mt tham s hng}
begin
a := a*a*a;
// li c php
end;
V d 13: Xy dng hm so snh chui, nu 2 chui bng nhau th hm tr v gi tr
0, chui th nht ln hn chui thi 2 th hm tr v 1, cn li hm tr v
gi tr -1
Hng dn:
- To d n mi: File/New/Application
B mn Tin Hc ng Dng Khoa Khoa Hc T Nhin Trng HCT
Trang 181
Trang 182
- Lu d n vo th mc S:\ViduThamSoHang
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 183
- Lu d n vo th mc S:\ViduThamSoXuat
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 185
f(k) = 2 + 21 + 22 + + 2k
g(k) = 0! + 1! + 2! + + k!
Trong :
Hng dn:
- To d n mi: File/New/Application
- t thuc tnh name cho cc i tng ca chng trnh nh ca s Object
TreeView, v thit k form nh hnh sau:
interface
uses
Windows, Messages, SysUtils, Variants,
Controls, Forms, Dialogs, StdCtrls;
Classes,
Graphics,
type
TfrmTinhTong = class(TForm)
edt_n: TEdit;
Label1: TLabel;
btnTinh: TButton;
edt_KQ: TEdit;
Label3: TLabel;
procedure btnTinhClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmTinhTong: TfrmTinhTong;
implementation
Trang 186
- Lu d n vo th mc: S:\TongS
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 187
// Hm n!
// Hm an
Trang 189
- Lu d n vo th mc: S:\TongCoDK
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 191
- Lu d n vo th mc S:\ViduDeQuy
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 192
3*2 = 6
Giaithua(3)
2*1=2
3*Giaithua(2)
1*1=1
2*Giaithua(1)
1
1*Giaithua(0)
Ch :
- u im ca thut ton quy l ngn gn. N c kh nng nh ngha mt tp
hp rt ln cc i tng bng mt s cc cu lnh hu hn. Thut ton quy c v thch
hp cho cc bi ton m t thn cu trc d liu ca n c nh ngha theo li
quy.
- C mt s thut ton quy s dng cho cc bi ton n gin c th c thay
th bng mt thut ton khc khng t gi chng, s thay th c gi l kh quy.
- Trong mt s bi ton ta c th gii theo 2 cch: thut ton khng quy v thut
ton quy. Thng thng, cch gii theo thut ton khng quy th tt hn so vi thut
ton quy v quy i hi thm b nh v thi gian. Khi cc thanh ghi c s dng
cho lu tr v khi quay tr v phi khi phc li trng thi c trong mi ln gi n
chng trnh con. Mc phc tp c th gia tng khi trong chng trnh con theo thut
ton quy c cha nhng chng trnh con khc. V vy, khi dng quy ta cn thn
trng, nht l thut ton ny thng khng cho ta thy r trc tip ton b qu trnh gii
cc bc. Ni chung, ch khi no khng th dng thut ton lp ta mi nn s dng thut
ton quy.
Trang 193
I.2. Cch khai bo: C hai cch khai bo l gin tip v trc tip
I.2.1. Khai bo gin tip
S dng t kha type nh ngha ra kiu d liu mi, ri khai bo bin thng qua
kiu d liu mi va nh ngha ra.
type
Tn_kiu_lit_k = (danh_sch_gi_tr_lit_k);
var
danh_sch_bin: tn_kiu_lit_k;
V d 1:
type
Days = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ;
Colors = (Red, Yellow, Green, White, Blue, Black);
var
Ngay : Days;
Mauve: Colors;
Vi cc khai bo trn chng ta c nh ngha hai kiu lit k c tn l Days v
Colors. Kiu lit k Days cha 7 phn t c gi tr c lit k nh trn. Sau chng ta
khai bo bin Ngay c kiu l kiu lit k Days.
I.2.2. Khai bo trc tip
Kiu d liu ca bin c khai bo trc tip sau tn bin.
var
danh_sch_bin: (danh_sch_gi_tr_lit_k);
V d 2:
var
Ngay : (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
Mauve : (Red, Yellow, Green, White, Blue, Black);
Ta c th gn cho bin cc gi tr ca kiu tng ng:
Trang 194
Theo v d trn, ta c:
Ord (Sun) = 0
l ng v Sun c th t l 0
Ord (Mon) = 1
l ng v Mon c th t l 1
Ord (Green) = 3
l sai v Green c th t l 2
Ord (n) = n
* Hm Pred (x)
Hm ny tr v gi tr ng trc x ca kiu v hng lit k.
V d 4:
Theo v d trn, ta c:
Pred (Mon)
= Sun
Pred (Green)
= Yellow
Pred (n)
=n-1
* Hm Succ (x)
Hm ny cho gi tr ng sau x trong nh ngha kiu ca x.
V d 5:
Theo v d trn, ta c:
Succ (Mon)
= Tue
= n+1
Trang 195
Theo v d trn, ta c:
Days(2)
= Tue
Colors(3)
= White
Longint (n)
= n
type
TuoiTho = 0 .. 150;
GioiTinh = 0..1;
// n = 0, nam =1
var
tuoi: TuoiTho;
phai: GioiTinh;
Trang 196
V d 8:
var
tuoi : 0 .. 150;
phai: 0..1;
// n = 0, nam =1
V d 9:
type
Day100 = 1..100; //nh ngha mt dy con dng lm kiu c bn
TapSoNguyen = Set of Day100;
var
TapHop1, TapHop2: TapSoNguyen;
III.2.2. Khai bo trc tip
var
danh_sch_bin : Set of kiu_c_bn;
// khai bo ng
Trang 197
// khai bo ng
So
: Set of 0 .. 9;
// khai bo ng
: Set of integer;
: Set of real;
III.3. M t tp hp
Mt tp hp c m t bng cch lit k cc phn t ca tp hp, chng cch nhau
bng mt du phy (,) v c t gia hai du mc vung [ ], cc phn t c th l hng,
bin hoc biu thc.
V d 11: Cc v d tp hp trong Delphi
[]
[5 .. 15]
// tp hp cc ch s nguyn t 5 n 15
[1, 3, 5]
// tp hp 3 s 1, 3 v 5
[i, i + j*2, 4, 5]
// tp rng
TapHop1 := [0,1,3,5,7,9];
TapHop2 := [0,2,4,6,8,9];
TapNguyenAm:=['A', 'a', 'E', 'e', 'I', 'i', 'O', 'o', 'U', 'u']; // tp cc nguyn m
III.4.2. Php hp
Hp ca 2 tp hp A v B l mt tp hp cha tt c cc phn t ca tp A hoc B
hoc c A v B.
K hiu ca php hp l du cng (+). Php hp c tnh giao hon:
A + B = B+A
Ta c th m t php hp qua hnh nh sau :
Hnh 1:
Trang 198
Hp 2 tp
// C = [0,1,2,3,4,5,6,7,8,9]
Hnh 2:
Giao 2 tp
Lu : A - B th khc B - A.
V d 15: Hiu ca 2 tp:
A := [3 .. 7] ;
B := [1.. 6, 10, 15] ;
Th: A - B = [7], cn B A = [1, 2, 10, 15]
III.4.5. Php thuc IN
Php thuc in cho php th (kim tra) xem mt gi tr no thuc v mt tp hay
khng? Php thuc in cho kt qu c kiu boolean. Nu ng th n s cho kt qu l true,
ngc li l false.
V d 16: Php ton thuc
var
Kytu : char;
NguyenAm : Set of char;
B mn Tin Hc ng Dng Khoa Khoa Hc T Nhin Trng HCT
Trang 199
Trang 200
Hnh 3:
Trang 201
Trang 202
Trang 203
- Lu d n vo th mc S:\ViduTapHop
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 204
Hnh 4:
Hnh 5:
Trang 205
Hnh 6:
+ Hp ca 2 tp:
Hnh 7:
Trang 206
Kt qu hp ca 2 tp.
Hnh 8:
Kt qu giao ca 2 tp.
+ Kt qu so snh gia 2 tp A v B.
Hnh 9:
Kt qu so snh
Trang 207
List[0]
List[1]
List[2]
List[3]
n-1
List:
.........
List[n-1]
V d 2:
Khai bo trc tip
var
a, b
:
array [1 .. 100] of integer;
c
:
array [1 .. 100] of integer;
KyTu :
array [1 .. 20 ] of char;
Chon :
array [0 .. 9 ] of boolean;
- Bin a v b c gi l cng kiu. Bin a v b l khc kiu vi bin c.
Lu : nu nh chng ta khai bo to ra mt mng tnh nhng khng gn tr cho cc
phn t ca mng th cc phn t mng vn c cp pht trong b nh, tuy nhin chng
s cha cc gi tr ngu nhin, ging nh cc bin cha c khi to gi tr.
II.1.3. Truy xut cc phn t ca mng
Mi phn t ca mng c truy xut thng qua Tn bin mng cng vi ch s th
i ca mng trong du ngoc vung []. V d tn bin mng l A, khi vit A[7], ta hiu n l
phn t c ch s th 7 ca mng A.
V d, chng ta c th thc hin php gn gi tr 10 cho phn t th by ca A nh
sau: A[7]:=10;
Ta c th gn hai bin mng cng kiu cho nhau.
V d 3:
Khai bo hai mng x, x nh sau:
var
x,y : array[0..10] of integer; // x, y cng kiu
Ta c php gn sau l hon ton hp l: y[0]:=50; x:=y;
Lc ny cc gi tr ca x s hon ton ging nhau. Chng ta cn ch l: nu ta thay
i cc gi tr ca bin y th diu khng lm nh hng n x v ngc li.
Tuy nhin, nu ta c khai bo:
var
x, y : array[0..10] of integer;
z
: array[0..10] of integer;
Th lnh gn: x:=z; l khng hp l v Delphi xem bin x v z trong trng hp ny
l khc kiu.
B mn Tin Hc ng Dng Khoa Khoa Hc T Nhin Trng HCT
Trang 209
Hnh 2: Tn cc i tng
- Thit k giao din form:
Trang 211
- Lu d n vo th mc S:\ViduMang1C
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 212
Trang 213
Triet
7
6
0003
........
8
...
TinHoc
8
10
9
...
Ly
5
6
...
...
...
3
...
...
...
AnhVan
10
7
Mn
9
...
M SV
Hnh 8: Minh ha mng hai chiu
Vi v d trn, mun nhp im mt sinh vin no ta phi khai bo hai tham s l
M s sinh vin v mn hc.
Tng t, cng vi cc kha k tip theo hc nhng mn nh vy, ta s to ra mng
nhiu chiu nh hnh v minh ha sau:
K32
K
K30
SVK30\
MASV
Hnh 9: Minh ha mng ba chiu
Trong trng hp ny, mun bit im mt sinh vin no ta phi khai bo 3 tham
s: Kho hc, sinh vin v mn hc, chng hn:
ghi_diem[K31,0001,AV] nhp im 10,...
II.2.1. Khai bo gin tip
type
Kiu_mng = array [tp_ch_s_1, tp_ch_s_2, ...,
tp_ch_s_n] of kiu_phn_t;
var
Danh_sch_bin : Kiu_mng;
Trang 214
Hoc:
type
Kiu_mng = array [tp_ch_s_1] of array [tp_ch_s_2] of kiu_phn_t;
var
Danh_sch_bin : Kiu_mng;
V d 5:
type
Trang 215
Trang 216
Trang 217
Trang 218
stgA.ColCount :=n;
stgB.ColCount :=n;
stgC.ColCount :=n;
stgSX.ColCount :=n;
Trang 219
- Lu d n vo th mc S:\ViduMang2C
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 220
Trang 221
Trang 222
Trang 223
Trang 224
- Lu d n vo th mc: S:\MangDong1C
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 225
Hnh 19:
Trang 226
V d 10:
Khai bo gin tip hai mng ng 2 chiu v 3 chiu:
type
Mang2C = array of array of single;
// mng ng 2 chiu
Mang3C = array of array of array of integer;
// mng ng 3 chiu
var
a: Mang2C; b: Mang3C;
III.2.2. Khai trc tip
var
Danh_sch_bin: array of array of .. array of kiu_phn_t;
V d 11:
Khai bo trc tip hai mng ng 2 chiu v 3 chiu:
var
a: array of array of single;
b: array of array of array of integer;
B mn Tin Hc ng Dng Khoa Khoa Hc T Nhin Trng HCT
Trang 227
SetLength(DaySo[2],5);
Kt qu cp pht ca v d bn trn:
0
1
2
3
4
MaTran[0,1] = 3
MaTran[1,0] = 4
MaTran[1,1] = 5
Trang 228
// ng c php
// li c php
Trang 229
diachi: string;
hoten: string[30];
// ng c php, di khai bo l 30
// ng c php
// li c php
// bt ch th s dng AnsiString
GhiChu: String;
Trang 231
Trang 232
'A' >''
v chr(32)> ''
Hnh 5: Chui s1 = S2
+ Vi gi tr nhp nh gi tr mc nh, ta c kt qu nh sau:
Trang 233
Trang 234
Hnh 9: Kt qu v d xa chui
II.3.3. Th tc chn chui
C php: procedure Insert(Source: string; var S: string; Index: Integer);
ngha: Chn chui Source vo chui S ti ch s Index.
V d 9: Minh ha th tc chn chui
var s: string;
begin
s := 'Mat troi con';
ShowMessage('Chuoi ban dau: ' + s);
Insert(' be',s,9);
ShowMessage('Chuoi sau chen: ' + s);
end;
Hnh 10:
Kt qu v d chn chui
Trang 235
Code: integer;
begin
S := InputBox('Nhap chuoi','Chuoi ky so hop le s: ','345.6789');
Val(S,V,Code);
ShowMessage('Voi chuoi S= ''' + S +''' thi gia tri bao loi Code = ' +
IntToStr(Code) + ', va gia tri so V = '+FloatToStr(V));
S := InputBox('Nhap chuoi','Chuoi ky so KHONG hop le s: ','345A.6789');
Trang 236
Hnh 13:
II.3.6. Hm xc nh di ca chui k t
C php: function Length(S): Integer;
ngha: Cho kt qu l mt s nguyn ch di ca chui k t St.
V d: Minh ha hm Length
var S: String;
begin
S := 'Vet chan tron tren cat';
ShowMessage('Do dai cua chuoi ''' + s + ''' la: ' + IntToStr(Length(S)));
end;
Hnh 14:
Kt qu hm Length
Trang 237
Hnh 15:
Kt qu hm Copy
Hnh 16:
Kt qu hm Concat
II.3.9. Hm xc nh ch s ca chui
C php: function Pos(Substr: string; S: string): Integer;
ngha: Cho kt qu l v tr u tin ca chui Substr trong chui S. Nu khng
tm thy th hm s tr v gi tr 0.
Trang 238
Hnh 17:
Hnh 18:
Trang 239
Hnh 19:
uses
Windows, Messages, SysUtils, Variants,
Controls, Forms, Dialogs, StdCtrls;
Classes,
Graphics,
type
TfrmCatTu = class(TForm)
edtChuoi: TEdit;
Label1: TLabel;
btnCat: TButton;
edtN: TEdit;
Label2: TLabel;
edtKQ: TEdit;
Label3: TLabel;
btnDong: TButton;
btnChuyen: TButton;
Trang 240
Trang 241
- Lu d n vo th mc: S:\ViduCatPhai
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Hnh 20:
Kt qu chng trnh
V d 16: Thit k form v vit code gii bi ton: Nhp vo mt chui s. Cho
bit chui c bao nhiu t. Nhp vo mt t mi, xt xem t mi ny xut
hin bao nhiu ln trong chui s?
Hng dn:
- To d n mi: File/New/Application
- t thuc tnh name cho cc i tng ca chng trnh nh ca s Object
TreeView, v thit k form nh hnh sau:
Trang 242
Hnh 21:
Trang 243
- Lu d n vo th mc: S:\ViduDemTu
- Bin dch v chy chng trnh, ta c kt qu nh sau:
Trang 244
Hnh 22:
Hnh 23:
Trang 245
PH LC
Phn ny gii thiu mt s thnh phn thng dng v chng trnh hin th nh n
gin Simple view picture:
1. Th System
ngha
Name
t tn i tng
Enable
Interval
S kin OnTimer: S kin c kch hot khi ht khong thi gian xc nh trong Interval
2. Th Additional
ngha
Name
t tn i tng
Picture
ngha
Name
t tn i tng
Mask
Cursor
Trang 246
Ph lc v Chng trnh Simple view picture ---V mt s s kin quen thuc nh: OnClick, OnContextPopup, OnChange...
b. TFilterComboBox: Hp lit k th lc kiu tp tin. Biu tng:
Thuc tnh
ngha
FileList
Cursor
Filter
ngha
FileList
TextCase
Cursor
DirLabel
ngha
DirList
TextCase
Cursor
Trang 247
Ph lc v Chng trnh Simple view picture ---Trong tng lai, B mn Tin hc ng Dng - Khoa Khoa Hc T Nhin c th s
vit thm phn Delphi nng cao gip cc bn khai thc sc mnh ca Delphi nh lp
trnh v C s d liu, lp trnh Mng, lp trnh Web, Tr chi,...
Chng trnh hin th hnh nh n gin - Simple view picture, hin th cc tp tin
hnh nh dng .jpg, .wmf, .bmp. Ngoi ra chng trnh cng to dng ch chy (Marquee)
trn thanh tiu ca form theo hng t phi sang tri theo hng nhn (tri sang phi
theo hng mn hnh), v c hin th ng h chy.
Chng trnh hin th hnh nh n gin - Simple view picture:
frmViewPics
grbPics
dcbPics
dlbPics
flbPics
fcbPics
lblClock
pnlPics
:
:
:
:
:
:
:
:
TForm
TGroupBox
TDriveComboBox
TDirectoryListBox
TFileListBox
TFilterComboBox
TLabel
TPanel
imgView
TImage
tmrClock
TTimer
Tn ca cc i tng
Trang 248
Trang 249
Ph lc v Chng trnh Simple view picture ---- Lu vo trong th mc S:\Simple view picture
- Bin dch v chy ta c hnh nh nh sau:
Trang 251
BN QUYN TC GI
Ti liu ny c vit nhm phc v cho vic hc tp ca sinh vin giai on u
lm quen v hc cch lp trnh s kin nh th no thng qua ngn ng lp trnh Delphi,
mi trng xy dng ng dng tc thi RAD. Tc gi s upload ti liu ny ln internet
trong thi gian gn thng qua file: Giao trinh lap trinh can ban B Delphi 7.pdf. Mi
thng tin cn trao i, xin lin h tc gi thng qua a ch email: vdlinh@ctu.edu.vn.
Cn th, 19 November 2010, V Duy Linh.
Trang 252