Professional Documents
Culture Documents
Li ni u
Visual FoxPro 6.0 (gi tt l VF) l mt h qun tr c s d liu quan h
(QTCSDL) trong b Microsoft Visual Studio 6.0. y l mt h QTCSDL trc
quan, mnh v hng i tng.
Nh VF m bn c th to lp cc CSDL gii quyt mt v n thc t
no , bn c th sp xp, tm kim, truy lc thng tin trong cc bng, t cc
bng trong mt CSDL bn c n c th pht sinh ra cc bo biu, cc nh n
v.v..tm li nh cng c ny (VF) m bn c th gii quyt c cc bi ton
xy ra trong cng vic thng nht mt cch d dng.
Vi VF chng ta va k tha c sc mnh trong mi trng Windows, li
va tn dng c mi tnh nng ca mt h qun tr c s d liu mnh, li va
tn dng c cc iu khin c tnh trc quan v cao hn bn tip cn vi cung
cch lp trnh cu trc v hn ht l lp trnh hng i tng (OOP-Object
Oriented Programming).
Gio trnh c t chc theo 11 chng:
Chng 1: Lm quen vi mi trng VF
Chng 2: Cc loi d liu trong VF
Chng 3: DataBase v Table
Chng 4: Truy vn v hin th thng tin
Chng 5: Form Report
Chng 6: Lp trnh trong VF
Chng 7: Thit k giao din
Chng 8: By trong chng trnh
Chng 9: Mng v chuyn giao d liu
Chng 10: Mt s lnh hiu chnh d liu
Chng 11: Chng trnh con
Chng 12: Ghp d liu
Gio trnh c trnh by r rng, d hiu, ni dung ca cc Tables n gin
gip cho vic lnh hi kin thc d d ng.
V VF l mt h QTCSDL ln, cha ng rt nhiu tnh nng tin ch, ngo i
ra cn cha ng mt lot cc iu khin (controls), lp (Class), cc i t ng
khc v.v.., m gio trnh ny l i ng vi s tit khng nhiu, n n khng th
cp y c.
Khi bin son gio trnh ny chng ti ht sc c gng nhng chc chn
khng th trnh khi nhng thiu st, chng ti mong s ch gip ca cc bn.
H ni ngy 15/2/2008
ELEC
Trang 1
ELEC
Trang 2
ELEC
Trang 3
ELEC
Trang 4
Chn Free Tables (v ta nh chn tp dng bng) v Add, hp thoi Open hin
ra:
Hy chn mt tp bng (Gi s ta chn tp Labels.dbf) v sau chn OK
Nh vy tp Labels.dbf c a vo Project (d n) c tn DuAn1.PJX
phn Free Tables.
ELEC
Trang 5
2. Loi b mt tp trong mt d n
Gi s vi d n m ta va a tp Labels.dbf vo, mun loi b n hy thao
tc:
Trng din hp thoi v chn: Data/Free Tables/Labels.dbf
ELEC
Trang 6
Hy g tn tp vo v chn Save
ELEC
Trang 7
ELEC
Trang 8
Sau ta c hp thoi:
G ch thch: "y l tp nhn dng cho vic in b th" vo v chn OK
c ch
thch ri!
ELEC
Trang 9
Nh thanh cng c
ELEC
Trang 10
Trang 11
ELEC
Trang 12
ELEC
Trang 13
kt ni hai bng trn thnh mt loi thng tin cho mt th sinh bao gm:
Hodem, Ten, Ngaysinh, Sbd, Toan, Ly, Hoa, Tong ta ph i da vo trng SBD,
nh trng ny m hai bng trn c th lin kt c vi nhau nh ra th ng
tin cho mt Th sinh. Ta gi trng ny l trng Kho, ngha l hai bng trn c
mi quan h thng qua trng Kho SBD.
Trong hai bng trn ta cn phi ch mt vn na l kiu trng v di
trng. V d:
1. Trng Hodem c kiu vn bn (Character ) v thng l c di 20 k t,
ngha l s k t dnh cho h v m khng c qu 20 (tt nhin phi cn
c vo thc t nh di cho thch hp)
2. Trng Ten c kiu Character v di nn khai bo l 7 (v tn ng i Vit
nam thng khng qua 7 k t)
ELEC
Trang 14
ELEC
Trang 15
Nt lnh
Trang 16
Trang 17
A.
B.
C.
D.
Cng c Forms
Cng c Reports
Cng c Labels
C 3 cng c trn
Cu 5: to mt ca s Form mi ta l m th no?
A. Chn Form
B. Chn Form /New
C. Chn Form /New/New Form
D. M tp Form c
Cu 6: a mt iu khin ln Form ta lm th no?
A. M tp cha iu khin
B. Chn iu khin cn a ln Form, a tr chut vo Form v r
C. Chn iu khin cn a ln Form, a tr chut vo Form v kch
Cu 7: Trong mt DataBases c th c php c bao nhiu tp bng?
A. Ch 1
B. Hai tp bng
C. Ba tp bng
D. C th c nhiu tp bng
Cu 8: xo mt bng trong DataBases ta l m th no?
A. Chn tp bng
B. Chn tp bng /chn Remove
C. Chn tp bng /chn Remove sau chn Delete
D. Chn Tables /Chn tp bng /chn Remove sau chn Delete
E. Chn Data /Thnh phn d liu /Tables/Chn tp bng /chn Remove sau
chn Delete
Cu 9: a mt tp bng vo Tables ta lm th no
A. Chn Data /Thnh phn d liu /Tables
B. Chn Data /Thnh phn d liu /Tables/Add
C. Chn Data /Thnh phn d liu /Tables/Add/chn tp cn a vo /OK
Cu 10: Mun hin th hp cha cc iu khin ta l m th no?
A. Tao mt Form mi hoc m mt tp Form hp iu khin s hin ra
B. Chn View /Form Controls To olBars
C. Tao mt Form mi hoc m mt tp Form sau chn View /Form Controls
ToolBars
ELEC
Trang 18
Trang 19
Trang 20
Trang 21
Tr v m ASCII ca mt k t:
?ASC("A") <Enter> s cho kt qu 65
?ASC("B") <Enter> s cho kt qu 66
3. Hm AT ()
C php: AT(chui1, chui2 [n])
Tr v v tr xut hin ca chui1 trong chui2, v d:
A="an"<Enter>
B="Hoan"<Enter>
?AT(A,B) <Enter> s cho kt qu 3
v chui A xut hin bt u t v tr th 3 trong chui B
Cn nu:
A="an" <Enter>
B="an nhan"<Enter>
?AT(a,b,2) <Enter> s cho kt qu 6 ( y n =2 - ln xut hin th 2)
3. Hm BETWEEN ()
C php:
BETWEEN (a, b, c)
Xem gi tr a c nm trong khong t b n c hay khng (tt nhi n b <c).
V d:
?BETW(3, 5, 9) <Enter> s cho gi tr .F.
?BETW(8, 5, 9) <Enter> s cho gi tr .T.
?BETW("c", "a", "n") <Enter> s cho gi tr .T. v k t c nm trong khong t
k t a n k t n.
4.Hm Chr ()
Cho bit k t tng ng vi m ASCII
?Chr(65) <Enter> cho kt qu l k t A
5. Hm LEN ()
Cho bit di ca chui.
A="Hong Xun Hn" <Enter>
?Len(a) <Enter> s cho kt qu 14 (c 14 k t tt c, k c du cch)
6. Hm Lower ()
Chuyn cc k t ch hoa sang ch th ng
A=" CHAO"<Enter>
?Lower(A) <Enter> s cho kt qu "chao"
7. Hm UPPER ()
Chuyn cc k t ch thng sang ch hoa
A=" chao"<Enter>
?Upper(A) <Enter> s cho kt qu "CHAO"
8. LTRIM()
Ct cc khong trng pha tri ca chui
A=" Tin hc"<Enter>
?LTRIM(a) <Enter> s cho kt qu "Tin hc"
ELEC
Trang 22
9. RTRIM()
Ct cc khong trng pha phi ca chui
A=" Tin hc
"<Enter>
?RTRIM(a) <Enter> s cho kt qu " Tin hc"
10. Hm PROPER ()
Chuyn cc k t u ca mi t th nh ch hoa
A=" TIN HOC QUAN LY" <Enter>
?Proper(a) <Enter> cho kt qu "Tin Hoc Quan Ly"
11. Hm LEFT ()
C php: LEFT(Xau, n)
Cho kt qu n k t bn tri ca chui
a="Tin hoc" <Enter>
?Left(a,2) <Enter> s cho kt qu "Ti"
12. Hm RIGHT ()
Cho kt qu n k t bn phi ca chui
a="Tin hc" <Enter>
?Right(a,2) <Enter> s cho kt qu "c"
13. Hm Str ()
Chuyn s thnh vn bn
?"Km '+str(12) <Enter> s cho kt qu "Km 12", cn nu vit:
?"Km"+12 <Enter> s bo li v vn bn khng th cng vi s c
14. Hm SUBSTR ()
C php: SUSTR(Xau,m,n)
Cho kt qu n k t trong Xau t k t th m
a="Chao anh" <Enter>
?SubStr(a,2,3) <Enter> s cho kt qu "hao"
2.7 Kiu Date v Date Time
1. Hm Date ()
Hm Date ()cho bit ngyc, thng, nm hin thi:
?Date() <Enter> s cho kt qu 7/28/01
2. Hm Datetime ()
Cho kt qu l ngy v gi hin thi
?Datetime() <Enter> s cho kt qu 7/28/01 08:12:56 AM
3. Hm CTOD ()
Chuyn i biu thc k t sang dngh kiu Date
?CTOD("12/04/76") <Enter> s cho d liu kiu Date 12/03/76
4. Hm DTOC ()
Chuyn i biu thc kiu ngy sang biu thc kiu Character
?DTOC({^1967/11/07}) <Enter> s cho kt qu kiu vn bn 12/11/67. Ch l
kiu ngy c bao trong du { } v theo dng {^YYYY-MM-DD}
V d: ?{^2001-07-12}-{^2001-07-10} <Enter> s cho kt qu 2
ELEC
Trang 23
5. Hm Day5 ()
Tr v ngy ly t i lng Date
?Day(Date()) <Enter> s cho kt qu l 28 (v ngy hin thi l 7/28/01
6.Hm Month ()
Tr v thng ly t i lng Date
?Month(Date()) <Enter> s cho kt qu l 7 (v ngy hin thi l 7/28/01
7. Hm Year ()
Tr v nm ly t i lng Date
?Year(Date()) <Enter> s cho kt qu l 2001 (v nm hin thi l 7/28/01
8. Hm Cmonth ()
Tr v thng (bng vn bn) ly t i l ng Date
?Cmonth(Date()) <Enter> s cho kt qu July (thng 7)
9. Hm CDOW ()
Tr v th trong tun
?CDOW(Date()) <Enter> s cho kt qu Saturday (v ngy hin thi l 28/07/01)
?CDOW({^2001-07-27}) <Enter> s cho kt qu Friday
Ch : Theo thi quen ca ngi Vit nam trong cch vit ng y l: dd-mm-yy,
t c trt t bn dng lnh:
SET DATE FRENCH trc khi dng d liu Date
V d: Ngi M thng theo trt t: mm-dd-yy:
SET DATE AMERRICAN <Enter>
?DATE() <Enter> s cho kt qu 07-28-01 (thng 7 ngy 28 nm 2001)
SET DATE FRENCH <Enter>
?DATE() <Enter> s cho kt qu 28-07-01 (ngy 28 thng 7 nm 2001)
Bn phi ch iu , nu khng s c khi nhm ln tai hi!
2.7 D liu kiu Currency (tin t)
Currency dng biu th tin t. N c khong rt ln t:
-922.339.203.685.477, 5087 ti 922.337.203.685.477,5807
Ngha l n hng trm nghn t ( biu din thu nhp cc n c ln nh M,
nht, v.v... Khi vit cc s ng vi tin t th ng c ch pha trc hoc sau, v
d: 23.560.000 VND, 23.000 $ v.v.. sau y l mt s nguyn tc:
1. Gn gi tr kiu Currency
gn gi tr kiu Currency cho bin ta t du la ($) pha tr c sp, v d:
Tien=$ 1000 <Enter>
?Tien <Enter> s cho kt qu 1000.0000 (t ng t 4 ch s sau du chm
thp phn)
2. Cc lnh SET
Du $ l ngm nh, mi nc c mt k hiu khc, do phi t k hiu m
bn cn, lnh sau:
SET CURRENCY TO "VND" <Enter>
Tien=$1000 <Enter>
ELEC
Trang 24
Trang 25
3.Hm Max ()
Tr v gi tr ln nht trong cc i s ca h m
?Max(3,5,6,-5) <Enter> cho kt qu 6
?Max('a','b','n') <Enter> cho k t qu 'n', v m ca n ln hn m ca a v b
4. Hm Min ()
Tr v gi tr nh nht trong cc i s ca hm
?Min(3,5,6,-5) <Enter> cho kt qu -5
?Min('a','b','n') <Enter> cho k t qu 'a', v m ca a nh hn m ca b v n
5. Hm Mod ()
Tr v s d ca php chia
?Mod(6,4) <Enter> cho kt qu 2
?Mod(6.1,3.2) <Enter> cho k t qu 2.9
6. Hm Round ()
Tr v gi tr sau khi lm trn
C php: Round(X,n).
Trong X l s cn lm trn, n l v tr cn lm trn
?Round(12.345, 2) <Enter> cho k t qu 12.35
(lm trn v tr th 2 sau du chm thp phn)
?Round(12.343, 2) <Enter> cho k t qu 12.34
(lm trn v tr th 2 sau du chm thp phn)
?Round(12.343, 1) <Enter> cho k t qu 12.3
(lm trn v tr th 1 sau du chm thp phn)
?Round(12.343, 0) <Enter> cho k t qu 12
(lm trn v tr hng n v ca phn nguyn)
?Round(12.343, -1) <Enter> cho kt qu 10
(lm trn v tr hng chc ca phn nguyn)
?Round(12.343, -2) <Enter> cho kt qu 0
(lm trn v tr hng trm ca phn nguyn)
7. Hm Val ()
Bin i kiu Character th nh kiu s
a='120' <Enter>
b=Val(a) <Enter>
?b+10 <Enter> s cho kt qu 130
8. Hm SQRT ()
Kt qu l cn bc hai ca mt s dng.
?Sqrt(9) <Enter> cho kt qu 3
9. Hm EXP ()
Tr v kt qu ca exT
?Exp(1) <Enter> cho kt qu 2.72
?Exp(0) <Enter> cho kt qu 1.00
?Exp(2) <Enter>cho kt qu 7.39
10. Hm LOG ()
ELEC
Trang 26
y l hm logarit c s e.
?Log(2.72) <Enter> cho kt qu 1
?Log(1) <Enter> cho kt qu 0.00
?Log(2) <Enter> cho kt qu 0.69
11. Cc hm lng gic
?Sin(3.14) <Enter> cho kt qu 0.00
?Cos(3.14) <Enter> cho kt qu -1.00
?Tan(3.14) <Enter> cho kt qu 0.00
2.9 D liu kiu General
Kiu d liu General cho php ta nhng hay ni kt cc i t ng d liu vo
CSDL. V d ta c th nhng mt bng tnh, mt h nh nh dng Gif, Tif, Jpg.
Bn s hiu iu ny phn to lp CSDL
2.10 D liu kiu MEMO
Dng lu tr khi vn bn c kch thc ln hn 254 k t. Tp d liu cha
vng MEMO c tn trng v i tn ca bng nhng phn ui l FPT. Bn s
hiu kiu MEMO phn to bng
Bi tp chng 2:
1. C nhng loi hng no? cho v d.
2. C nhng loi bin no? cho v d.
3. Nu quy tc t tn bin.
4. Cho v v v php gn.
5. C nhng php ton s hc no? cho v d.
6. C nhng php ton vn bn no? cho v d.
7. C nhng php ton Logic no? cho v d.
8. C nhng php ton so snh no? cho v d.
9. Hy dng lnh? v g biu thc sau vo ca s lnh, xem my bo kt qu
no:
((1>2) or (3<7)) and (4<=9)
10. Dng ca s lnh thc hin cc v d trong phn 2.6
11. Dng ca s lnh thc hin cc v d trong phn 2.7
12. Dng ca s lnh thc hin cc v d tro ng phn 2.8
13. Dng ca s lnh thc hin cc v d trong phn 2.9
14. Dng ca s lnh thc hin cc v d trong phn 2.10
15. Gi s ta phi tnh biu thc:(sin4+cos6) (Log e12+e6), trong ca s lnh bn
g nh sau:
a=sin(4) <Enter>
b=cos(6) <Enter>
c=log(12)<Enter>
d=exp(6)<Enter>
ELEC
Trang 27
s1=a+b<Enter>
s2=c+d<Enter>
Tich=s1*s2<Enter>
?Tich<Enter>
ng hay sai?
16. Bn ch cn lnh? v ca s lnh, bn c th tnh ton c mi cng thc.
V d bn c th gii phng trnh bc hai: 3x 2+5x-7 bng cc thao tc sau:
a=3<Enter>
b=5<Enter>
c=-7<Enter>
Delta=b*b-4*a*c <Enter>
x1=(-b+Sqrt(delta))/(2*a)<Enter>
x2=(-b-Sqrt(Delta))/(2*a)<Enter>
?x1<Enter>
?x2<Enter>
Bn th theo cch gii mt ph ng trnh bc hai khc.
17. Theo cch ca cu 16, bn th gii h p hng trnh bc nht hai n
18. hy tnh tng lng ca 20 nhn vin bng cch dng 4 bin:
Bin a lu tng ca 5 nhn vin u
Bin b lu tng ca 5 nhn vin tin theo
v.v.. Hy dng php gn tnh tng lng ca 20 nhn vin trn.
ELEC
Trang 28
Trang 29
ELEC
Trang 30
ELEC
Trang 31
y l ca s dng to cc Table.
3. To tp bng HoSoKhoiA.dbf
a tr chut vo ca s trn (Database Designer- HoSo), n phm phi
chut ta c:
ELEC
Trang 32
Trang 33
ELEC
Trang 34
ELEC
Trang 35
ELEC
Trang 36
3.3.1 M v sa mt CSDL
T ca s lnh bn g:
Open Database C:\VF60\HoSo.dbc <Enter>
Modify Database <Enter>
Sau bn c th a tr chut vo bng, kch phm phi chut chn:
1. Sa cu trc, hy chn: Modify
2. Hin th d liu chn: Browse
3. Xo bng chn: Delete
v.v..
Chng ta cng c th:
Open Database C:\VF60\HoSo <Enter>
use? <Enter>
ELEC
Trang 37
Sau ta c hp thoi:
Hin th mt s trng
ELEC
Trang 38
Hin th c iu kin
Browse for sbd>=6 <Enter> (nhng bn ghi c sbd ln hn hoc bng 6n)
Trang 39
2. Lnh EDIT
Lnh Edit c c php nh lnh Browse, nh hin th theo ct, v d:
Edit for year(ngaysinh)=1982 <Enter>
3. Lnh Append
Dng ni thm cc bn ghi vo sau bng:
Append <Enter>
Pha sau bng hin ra, bn g d liu vo, g xong hy n t hp: Ctrl + W
4. Lnh Modify Structure
Dng sa cu trc bngD, v d:
Modify Structure <Enter>
Sau cu trc bng hin ra, bn c th sa t n trng, kiu trng, di
trng v.v..nu bn mun.
5. Xo bn ghi
Xo bn ghi th n (n=1,2,3,..)
Go 4 <Enter>
Delete <Enter> (nh du bn ghi th 4)
Pack <Enter> (xo bn ghi th 4)
Nh vy bn ghi th 4 b xo
Xo k bn ghi t bn ghi th m
Go 2 <Enter>
Delete next 3 <Enter>
Pack <Enter>
Nh vy xo 3 bn ghi: 2,3,4
Xo t bn ghi th n n cui tp
Go 7 <Enter>
Delete Rest <Enter>
Pack <Enter>
6. Phc hi bn ghi b nh du xo
Go 3 <Enter>
Delete next 4 <Enter>
Recall all <Enter> (4 bn ghi b nh du, nhng ta li khng mun xo nn
phc hi bng lnh Recall all)
Ch : Bn ghi khi b nh du (delete), c vt en pha u, khi d ng Browse
ELEC
Trang 40
7. m s bn ghi
m xem c bao nhiu bn ghi
Count all <Enter>
m c iu kin
Count for Year(ngaysinh)=1982 <Enter>
m c lu
Count for sbd>=2 To A <Enter>
?A <Enter>
bin A c lu kt qu.
8. Tnh tng trng
V d ta c bng vi cc trng sau:
Hoten, luong, con
Sum luong <Enter> (tnh tng ct luong)
Sum luong to S <Enter>
Sum luong for luong>=400000<Enter>
v.v..
9. Tnh tng trung bnh
Average luong <Enter>
Average luong for year(ngaysinh)=1980 <Enter>
Average luong to X for year(ngaysinh)=1980 <Enter>
v.v..
10. Sp xp bng lnh SORT
Xp theo mt trng no tng dn.
Sort to TepMoi On sbd /A
Nh vy tp TepMoi.dbf s c xp tng dn theo sbd.
Xp theo mt trng no gim dn.
Sort to TepMoi On sbd /D
11. Sp xp bng lnh Index
Lnh Index khng sinh ra mt tp bng mi, m ch sinh ra mt tp ch mc, ghi
trt t tng dn ca cc bn ghi, tp n y kch thc nh, do trong nhiu tr ng
hp ngi ta hay dng lnh ny. V d:
Index on sbd to sbdindex <Enter>
Xp theo trng Sbd, tp ch mc l sbdindex.idx (duuoi l idx). Chng ta c th
sp xp theo mt trng bt k.
12. V u tp, v cui tp
Go Top <Enter> (a tr v u tp)
Go Bottom <Enter>(a tr v cui tp)
13. chuyn dch bn ghi
Skip 1 <Enter> (tin 1 bn ghi)
Skip 3 <Enter> (tin 3 bn ghi)
Skip -1 <Enter>(li 1 bn ghi) v.v..
ELEC
Trang 41
Trang 42
ELEC
Trang 43
ELEC
Trang 44
ELEC
Trang 45
ELEC
Trang 46
ELEC
Trang 47
ELEC
Trang 48
Bn hy chn: Save form for later use (Lu Form va to khng chy th) hoc
Save and run form (lu Form v chy th) hoc Save Form and modify it in
Form Designer (lu Form v chnh sa Form trong Form Designer). v.v..
(gi s bn chn Save and Run Form), chn Next > sau hp thoi Save as
hin ra, hy g tn tp Form (*.Scx) v chn Save ta c kt qu:
ELEC
Trang 49
Chn One -to-Many Form Wizard, sau h p thoi hin ra bn chn bng
"cha" - gi s bn chn bng cha l HoSoKhoiA, v ti cc trng Hodem,
ten, ngaysinh sang bn phi nh hnh sau:
Tip theo bn chn Next > v chn bng c quan h (bng con). Gi s bn
chn bng DiemKhoiA v ti cc trng sang phi nh hnh sau:
ELEC
Trang 50
Chn Next >, sau chn th nh phn ca Style v thnh phn Button Type,
chn Next > sau chn trng sp xp (gi s chn tr ng sbd), li chn
Next >, cui cng chn Save and Run Form v chn Finish, kt qu l:
Trang 51
ELEC
Trang 52
ELEC
Trang 53
Trang 54
ELEC
Trang 55
Trang 56
5.2.2 To Label
Label l dng Report c bit, chng c thit lp trn mt loi giy nhn c
kch c rt khc nhau, phc v cho nhng vn rt khc nhau, v d to a ch
ngi nhn sau in ra v ct dn vo b th, to giy bo im thi i hc
cho th sinh, to th d thi cho th sinh, to cc nh n ct dn ln cc bao b
v.v... Chng ta c th to Label nhanh chng bng Label Wizard hoc bng cng
c Label Designer.
ELEC
Trang 57
Trang 58
2. Sa Label to
ELEC
Trang 59
ELEC
Trang 60
Trang 61
Gi s bn chn File, kch v o nt ba chm (...), sau giao din chn File
hin ra: hy chn File cn chn, chn OK, giao din cui hy chn OK.
3.2.3 V d v to Label
Gi s bn to mt Label c dng sau:
B GD &T
Cng ho x hi ch ngha Vit nam
Trng HQL &KD HN
c lp - T do - Hnh phc
Th d thi
nh
Hoten :
Ngy sinh:
Sbd
:
H ni ngy 25/6/2001
Ch tch HTS
<Ch k in t t y >
Ts. L Khc o
Ngun d liu l bng HoSoKhoiA trong CSDL HoSo (nh cc phn trn)
ELEC
Trang 62
Trang 63
Bi tp chng 5:
1. Hy thao tc li cc cch to Report v Label
2. Cho bng DiemKhoiA trong CSDL HOSO. H y to mt Report in danh
sch , bao gm cc trng SBD v Tong
3. Cho hai bng: HoSoKhoiA v DiemKhoiA c mi quan h qua SBD, hy to
mt Report bao gm cc tr ng Hodem, ten, sbd, Tong (sp xp theo sbd tng
dn)
4. Bn hy t to ra mt Report t 2 bng trong CSDL l: DiemKhoiA v
KvKhoiA - chng lin quan qua s bo danh (sbd). Hy to Report bao gm:
Sbd, kv, Dt, tong theo nhiu dng Style khc nhau.
5. Hy to mt Label bo cho th sinh n thi, bao gm: Hoten (h t n),
ngaysinh (ngy sinh), sbd (s bo danh), phongthi (ph ng thi), noithi (ni thi),
ngaythi (ngy thi) -bng d liu ngun do bn t to.
6. To mt Label, khng cn bng, m ch a nh, s in thoi ca bn v a
ch ca bn.
7. Bn c 1000 gi hng, mi gi hng bao gm: Ngi nhn, a ch. Bn hy
to mt bng c hai trng trn, sau to mt Label sau khi in ra th ct v
dn vo gi hng.
ELEC
Trang 64
Trang 65
Trong ca s ny hy g vo ni dung:
Sau khi g xong hy lu n bng cch chn File /Save v chn th mc C:\
VF60 lu, gi s vi tn Vidu1.prg. Nh vy ta to c mt chng trnh
c tn Vidu1.prg (prg l vit tt ch program =prg)
2. Dng Menu File
ELEC
Trang 66
ELEC
Trang 67
Trang 68
ELEC
Trang 69
ELEC
Trang 70
??A
Ta c kt qu:
12
12
12
V d v lp trnh:
Nu ng trong ca s lnh h y g:
Modify Command C:\VF60\TongTrungBinh.prg <Enter>
Sau khi g <Enter> my chuyn sang ca s chng trnh. Trong ca s ny hy
g cc lnh sau:
Clear && Xo mn hnh
Input "Cho bit tui ca bn?" To TCon
Input "Cho bit tui b ca bn?" To TBo
TuoitrungBinh=(Tcon+TBo)/2
? "Tui trung bnh l:",TuoiTrungBinh
? "Cho bn, hn gp li!"
Thot khi ca s chng trnh, trong ca s lnh hy g:
Do C:\VF60\TuoitrungBinh <Enter>
V bn g vo:
40 <Enter>
20 <Enter>
Kt qu s l:
Tui trung bnh lT: 30
Cho bnC, hn gp li!
2. Lnh iu kin
Lnh ny c hai dng:
Dng 1:
IF <Diu kin >
<Cc lnh >
ENDIF
Hot ng ca lnh ny nh sau:
Nu <iu kin > ng th thc hin <Cc lnh >
Nu <iu kin > sai th b qua lnh IF
V d:
IF x>=3
x=x+1
ENDIF
C ngha nu X ln hn hoc bng 3 th tng X thm 1, nu sai th gi nguyn X
Dng 2:
IF <iu kin >
<Cc lnh 1>
ELSE
<Cc lnh 2>
ELEC
Trang 71
ENDIF
Nu N<iu kin > ng th thc hin <Cc lnh 1> b <Cc lnh 2>
Nu N<iu kin > sai th b <Cc lnh 1> thc hin <Cc lnh 2>
V d:
IF X>=3
x=x+1
ELSE
x=x+10
ENDIF
Ngha l nu x ln hn hoc bng 3 th tng X thm 1, nu khng (ngha l nh
hn 3) th tng X thm 10.
Sau y l mt v d m cc bn ai cng bit cch gii ph thng, l : Gii
phng trnh bc hai: ax 2+bx+c=0, vi a, b, c a vo qua bn p hm.
Chng trnh nh sau:
Modify command C:\VF60\Ptb2 <Enter>
Set Talk off && Tt thng bo hot ng lnh, tng tc x l
Set Decimal to 5 && t 5 ch s sau du chm thp phn
*** Vo 3 s qua bn phm
Input "Vo a =" To a
Input "Vo b =" To b
Input "Vo c =" To c
**Tnh Delta
Delta=b*b-4*a*c
**Dng lnh IF dng 2
IF Delta<0
? "Phng trnh v nghim"
ELSE
X1=(-b+SQRT(Delta))/(2*a)
X2=(-b-SQRT(Delta))/(2*a)
**Dng lnh hin th d liu
?"X1=",X1
?"X2=",X2
Tr v ca s lnh g: Do C:\VF60\Ptb2 <Enter>, sau ta g:
3 <Enter>
5 <Enter>
-9 <Enter>
Kt qu my hin ln mn nh:
X1=1.08876
X2=-2.75542
Ch : Ngm nh l 2 ch s sau du chm thp phn, khi chng ta t 5, vy
chnh xc vl 5 ch s sau du chm thp phn.
ELEC
Trang 72
3. Lnh chn3
Lnh IF ch chn mt nhnh trong 2 nhnh, nu c nhiu nhnh th chng ta
cng c th dng lnh IF, nhng tt hn nn dng lnh CASE.
Gi s c bi ton sau: Vo tui ca bn:
Nu Tuoi <15 th hin th: Bn cha n tui thanh nin
Nu Tuoi <=30 and Tuoi>=15 th hin th: Bn l thanh nin
Nu Tuoi >30 th hin th: Bn ht tui thanh ni n
Ta c on m vi lnh IF nh sau:
IF Tuoi < 15
? " Bn cha phi l thanh nin "
ENDIF
Input "Vo tui ca bn?" To Tuoi
IF Tuoi < 15
? " Bn cha phi l thanh nin "
ELSE
IF Tuoi < =30
? " Bn l thanh nin "
ELSE
? " Bn ht tui thanh nin "
ENDIF
ENDIF
Nhng nu ta dng lnh DO CASE th c v d hiu hn.
on m vi lnh DO CASE nh sau:
Input "Vo tui ca bn?" To Tuoi
DO CASE
CASE Tuoi<15
? " Bn cha phi l thanh nin "
CASE Tuoi <=30
? " Bn l thanh nin "
CASE Tuoi >30
? " Bn ht tui thanh nin ri "
ENDCASE
Tng qut lnh DO CASE nh sau:
Dng 1:
DO CASE
CASE < K1 >
Nhm lnh 1
CASE <K2>
<Nhm lnh 2>
ELEC
Trang 73
......
......
......
CASE <Kn>
<Nhm lnh n >
ENDCASE
Nu <Ki> ng th thc hin <Nhm lnh i > v ra khi lnh DO CASE
Nu khng c mt <Ki> n o ng, th ra khi DO CASE m khng thc hin
mt <nhm lnh i > no c.
Dng 2:
DO CASE
CASE < K1 >
Nhm lnh 1
CASE <K2>
<Nhm lnh 2>
......
......
CASE <Kn>
<Nhm lnh n >
OTHERWISE
<Nhm lnh n +1>
ENDCASE
Nu cc <K1>, <K2>,...<Kn> u sai th thc hin <Kn+1>
Sau y l mt v d v xem lch hc trong tun:
Set talk off
Set date French
Clear
Input "Bn hi th my?" To Thu
Do Case
Case Thu=2
? " Ton, L, Tin"
Case Thu=3
? " Ton, Anh, Vn"
Case Thu=4
? " a, Nhc, S"
Case Thu=5
? " Vn, Vn, Ho"
Case Thu=6
? " a, Chnh tr, Nhc"
Case Thu=7
? " Ton, L, Tin"
Case Thu=8
ELEC
Trang 74
Trang 75
Trang 76
Trang 77
Trang 78
?sbd, tong
EndScan
V d 2: Duyt t bn ghi th 8 n ht tp
Use C:\VF60\DiemKhoiA
Go 8
Scan Rest && duyt t bn ghi th 8 n ht tp
?sbd, tong
EndScan
V d 3: Duyt nhng bn ghi chn
Use C:\VF60\DiemKhoiA
Scan For Mod(Recno(),2)=0 && Recno()l hm cho gi tr bn ghi hin thil
?sbd, tong
EndScan
V d 4: Duyt, chng no gp Tong >20 th dng
Use C:\VF60\DiemKhoiA
Scan While Tong<=20
?sbd, tong
EndScan
V d 5: Duyt, chng no gp s th t bn ghi chia ht cho 3 th thot
Use C:\VF60\DiemKhoiA
Scan
If Mod(Recno(),3)=0
Exit
EndIf
?sbd, tong
EndScan
V d 6: Duyt, chng no gp s th t bn ghi chn th b khng in
Use C:\VF60\DiemKhoiA
Scan
If Mod(Recno(),3)=0
Loop
EndIf
?sbd, tong
EndScan
ELEC
Trang 79
ELEC
Trang 80
Trang 81
EndFor
EndProcedure
**** Chng trnh con c tn Tong2
Procedure Tong2
Parameter T2
For i=1 To 100
T2=T2+i*i*i
EndFor
EndProcedure
R rng lp trnh kiu ny "mm do" hn v trong "Hp en" (Th tc) c th
t ton quyn chn bin cc b m khng h l thuc vo bin ton cc. Hy
hnh dung rng: gi s bn phn cng cho ai y "bc bn cu" lp tr nh th
tc Tong1. Ngi ta "xa" nh vy lm sao m bit bn c bin S1 m dng do nn cho "tng ngoi bin i" t quyt.
Cu lnh: DO Tong1 With S1, c ngha l chy th tc Tong1 v "mang theo"
S1 cha ni dung t T1 trong khai bo c ( Parameter T1) gi sang. Ni nm
na l hp en t quyt nh x l d liu v vo mt bin no y, khi cn th
chng trnh s goi v mang theo bin ly v (ging nh bn mun mua la
th phi mang theo thng ng la cha khng ai bn lun c thng).
Chng trnh con cn c mt dng khc l FUNCTION, c cu trc sau:
FUNCTION <Tn hm > <Cc tham s >
<Cc lnh >
RETURN <Gi tr >
Nh ni phn PROCEDURE, bt k l dng g th nhim v ca chng
trnh con l hon thnh mt cng on v phi to iu kin d dng chng
trnh ly c kt qu ca cng on . FUNCTION cng vy thi, ch c
khc l FUNCTION ch cho ta duy nht mt kt qu nm <T n hm >, cn
PROCEDURE th c th c nhiu kt qu, bi c th khai bo PARAMETER
T1, T2, T3 v.v.. v khi truyn th:
Do <Tn th tc > With X1, X2, X3 v.v..
Vi chng trnh trn, ta c th vit li bng FUNTION nh sau:
Set Talk off
S1=0 && Khai bo S1 l s v v tr ton cc
S2=0 && Khai bo S2 l s v v tr ton cc
S=Tong1(S1) *Tong2(S2) && Gi hm Tong1 v truyn S1, Tong2 truyn S2
?"S=",S
**** Chng trnh con c tn Tong1
Function Tong1(T1)
For i=1 To 100
T1=T1+i*i
EndFor
Return T1 && Gi kt qu T1 cho hm (Tong1)
ELEC
Trang 82
Trang 83
Trang 84
If a(i)>a(j)
Tg=a((j)
a(j)=a(i)
a(i)=Tg
Endif
EndFor
EndFor
Mng hai chiu khai bo nh sau:
Dime a(m,n) trong m l hng v n l c t, v d
Dime a(3,4):
a(1,1) a(1,2), a(1,3), a(1,4)
a(2,1) a(2,2), a(2,3), a(2,4)
a(3,1) a(3,2), a(3,3), a(3,4)
Khi vo d liu bn c th vo theo dng, ht dng n n dng kia.
Cc phn t ca mng c th l s, vn bn, Date, v.v..
ELEC
Trang 85
Bi tp chng 6
1. Nhp vo mt s nguyn, t bn phm hy in ra kt qu l tng cc ch s
ca s .
2. Vit chng trinh tnh tng ca bnh phng cc s t 1 n n (n a vo qua
bn phm)
3. Vit chng trnh nhp s liu cho tp tin bng, c cu trc nh sau:
Name
Type
Width
Gii thch
Hodem
C
20
H v m
Ten
C
8
Tn
MNV
C
4
M nhn vin
BL
N
9,0
Bc lng
PC
N
3,1
Ph cp
TT
N
10,0
Thnh tin
4. T bng bi tp 3, vit chng trnh tnh ct thnh tin (TT) cho ton b
nhn vin
5. Vit chng trnh hin ra mn hnh ngi c lng cao nht
6. Vit chng trnh tnh lng trung bnh ca ca c quan
7. Xem cu 3, 4, 5, 6 l nhng chng trnh con, hy lp trnh cu trc cho
nhng vn
8. Cho tp: DiemKhoiA nh bn bit. Hy lp trnh thc hin cc cng vic
sau:
Tng Toan thm 12%, Ly 15%, Hoa 20%
Tnh li ct Tong
Tnh im trung bnh ca ton (Toan), l (Ly), ho (Hoa) v tng (Tong)
Hin th nhng th sinh c i m tong >=20
Hin th nhng th sinh c im lit (ton =0 hoc l =0 hoc ho=0)
Hin th danh sch cc th sinh vi cc tr ng DiemKhoia.dbf v cc
trng tp HoSoKhoiA.dbf (hai tp)
Hy thit k theo cch lp trnh cu trc!
9. Cho mng s gm 20 phn t nguyn, hy lp trnh thc hin cc cng vic
sau:
Vo mng
Tm Min ca mng
Tnh tng mng
Tnh tch ca mng
Hin th nhng phn t dng
Tnh tng cc cn bc hai ca cc phn t mng
Hin th nhng phn t chn.
ELEC
Trang 86
ELEC
Trang 87
Trang 88
EndFor
?'Tch p =',p
Return
Gii thch:
Dng 1:
Define Menu MemuNgang
ngha:
nh ngha mt Menu Ngang c t n l MenuNgang
Dng 2:
Define Pad Tong Of MenuNgang Prompt ' Tnh tng cc s t 1 n 10' At
00,00
ngha:
nh ngha mt Pad c tn l Tong thuc MenuNgang, ng thi hin th:'Tnh
tng cc s t 1 n 10' ti (At) to c d ng l 0 v ct l 0
Dng 3:
Define Pad Tich Of MenuNgang Prompt ' Tnh tch cc s t 1 n 10' At
00,30
ngha:
nh ngha mt Pad c tn l Tich thuc MenuNgang, ng thi hin th:'Tnh
tch cc s t 1 n 10' ti (At) to c d ng 0 ct l 30
Dng 4:
On Selection Pad Tong Of MenuNgang Do DieuKhien With Pad()
ngha:
Khi vt sng nm Pad c tn l Tong (tng ng vi dng cht: ' Tnh tng
cc s t 1 n 10' v n Enter th chng trnh con c tn TinhTong c
thc hin, ng thi truyn gi tr (t n ca Pad tng ng) cho thng s ng
sau Parameter ca chng trnh con
Dng 5:
On Selection Pad Tich Of MenuNgang Do DieuKhien With Pad()
ngha:
Khi vt sng nm Pad c tn l Tich (tng ng vi dng cht: ' Tnh tch cc
s t 1 n 10' v n Enter th chng trnh con c tn TinhTich c thc
hin, ng thi truyn gi t r (tn ca Pad tng ng) cho thng s ng sau
Parameter ca chng trnh con
Dng 6:
Activate Menu MenuNgang
ngha:
Kch hot Menu c tn MenuNgang- a Menu vo trng thi hot ng
Hm Pad ()tr v tn Pad khi vt sng nm Pad v n Entert
V d: Nu vt sng nm Pad th 2:
Hm Pad ()s cho gi tr TICHs
ELEC
Trang 89
Trang 90
Trang 91
Dng 1:
Define Popup MemuDoc From 5,10
ngha:
nh ngha mt Menu dc c tn l MenuDoc v t dng 5 ct 10
Dng 2:
Define Bar 1 Of MenuDoc Prompt ' Tnh tng cc s t 1 n 10'
ngha:
nh ngha Bar 1 thuc MenuDoc, ng thi hin th:'Tnh tng cc s t 1 n
10'
Dng 3:
Define Bar 2 Of MenuDoc Prompt ' Tnh tch cc s t 1 n 10'
ngha:
nh ngha Bar 2 thuc MenuDoc, ng thi hin th:'Tnh tch cc s t 1 n
10'
Dng 4:
On Selection Popup MenuDoc Do DieuKhien With Bar()
ngha:
Khi vt sng nm Bar 1 hoc Bar 2 v n Enter th chng trnh con c tn
TinhTong hoc TinhTich c thc hin, ng thi truyn gi tr (t n ca Bar
tng ng) cho thng s ng sau Parameter ca ch ng trnh con
Dng 5:
Activate Popup MenuDoc
ngha:
Kch hot Popup c tn MenuDoc- a Popup vo trng thi hot ng
Hm Bar() tr v s Bar khi vt sng nm t ar v n Enter
V d: Nu vt sng nm Bar 2:
Hm Bar() s cho gi tr 2s
Hm Prompt() tr v gi tri xu ng sau Promptt
nh ngha Popup c thm mt s thng s hay dng nh sau:
Define Popup <Popup Name> From <dng1, c t1> [To <Dng2,Cot2>]
[Prompt Field <expR>| Prompt Files[Like <skel>]| Prompt structure]
[Mesage <expC1>]
[Title <expC2>]
[In[Window]<Window Name>| In Screen]
[Color Scheme <expN2> | Color <Color List>]
Trong :
Prompt Field <expR>: khi a tu chn ny vo v ch nh mt tn
trng <expR> t mt tp CSDL ang m th d liu ca trng ny s tr
thnh cc tu chn ca Popup
ELEC
Trang 92
Gi s ta nh ngha mt Menu cha hai Pad (Tht luc =ThitLuoc v Tht kho
=ThitKho)
ng vi ThitLuoc?:
Tht G luc
Tht Ngan luc
Thit B luc
ng vi ThitKho?:
Tht G kho
Tht Ngan kho
Tht B kho
Ta lp trnh nh sau:
Chng trnh 1.2.3.1
Clear
Define Menu MonThit
Define Pad ThitLuoc Of MonThit Prompt ' Day la thit luoc ' At 00,00
ELEC
Trang 93
Define Pad ThitKho Of MonThit Prompt ' Day la Thit kho ' At 00,20
Define Popup Luoc From 02,00
Define Bar 1 Of Luoc Prompt ' Tht G luc '
Define Bar 2 Of Luoc Prompt ' Tht Ngan luc '
Define Bar 3 Of Luoc Prompt ' Tht b luc '
On Selection Popup luoc Do Hien With Bar(),Popup()
Define Popup Kho From 02,20
Define Bar 1 Of Kho Prompt ' Tht g kho '
Define Bar 2 Of Kho Prompt ' Tht ngan kho'
Define Bar 3 Of Kho Prompt ' Tht b kho '
Define Bar 4 Of Kho Prompt ' Tht ln kho '
On Selection Popup Kho Do Hien With Bar(),Popup()
On Pad ThitLuoc Of MonThit Activate Popup Luoc
On Pad ThitKho Of MonThit Activate Popup Kho
Activate Menu MonThit
Procedure Hien
Parameter TsBar,TsPopup
Do Case
Case TsBar=1 and TsPopup='LUOC'
?'y l tht G luc '
Case TsBar=2 and TsPopup='LUOC'
?'y l tht ngan luc '
Case TsBar=3 and TsPopup='LUOC'
?'y l tht b luc '
Case TsBar=1 and TsPopup='KHO'
?'y l tht g kho '
Case TsBar=2 and TsPopup='KHO'
?'y l tht ngan Kho '
Case TsBar=3 and TsPopup='KHO'
?'y l tht b Kho '
Case TsBar=4 and TsPopup='KHO'
?'y l tht ln Kho '
Endcase
Return
V d 2:
Ta nh ngha mt Menu c t n Toan, Menu ny c 2 pad (Lng gic =
LuongGiac v i s =DaiSo). phn lng gic c hai bar l tnh Sin v cos,
phn i s c hai bar l tnh Tng v tnh Tch. Chng trnh nh sau:
Chng trnh 1.2.3.2
ELEC
Trang 94
Clear
Define Menu Toan
Define Pad LuongGiac Of Toan Prompt ' Cc bi tp lng gic ' At 00,00
Define Pad DaiSo Of Toan Prompt ' Cc bi tp i s ' At 00,35
Define Popup LG From 02,00
Define Bar 1 Of LG Prompt ' Tnh sin
'
Define Bar 2 Of LG Prompt ' Tnh Cos
'
On Selection Popup LG Do DieuKhien With Bar(),Popup()
Define Popup DS From 02,35
Define Bar 1 Of DS Prompt ' Tnh tng '
Define Bar 2 Of DS Prompt ' Tnh tch '
On Selection Popup DS Do DieuKhien With Bar(),Popup()
On Pad LuongGiac Of Toan Activate Popup LG
On Pad DaiSo Of Toan Activate Popup DS
Activate Menu Toan
Procedure DieuKhien
Parameter TsBar,TsPopup
Do Case
Case TsBar=1 and TsPopup='LG'
Do TinhSin
Case TsBar=2 and TsPopup='LG'
Do TinhCos
Case TsBar=1 and TsPopup='DS'
Do TinhTong
Case TsBar=2 and TsPopup='DS'
Do TinhTich
Endcase
Return
Procedure TinhSin
For i=1 to 1000
?i,sin(i)
Endfor
Return
Procedure TinhCos
For i=1 to 1000
?i,Cos(i)
ELEC
Trang 95
Endfor
Return
Procedure TinhTong
s=0
For i=1 to 1000
s=s+i
Endfor
?'Tong s=',s
Return
Procedure TinhTich
p=1
For i=1 to 10
p=p*i
Endfor
?'Tich p=',p
Return
Lnh sau:
On Pad LuongGiac Of Toan Activate Popup LG
Gii thch:
Gn Pad LuongGiac ca Menu Toan vi Popup LG v kch hot lun
7.3 Window
Ta nh ngha Window nh sau
Define Window <Window Name> From <dong1, ct1>To<dng2, ct 2>
[Title<expC1>] [Footer <expC2>]
[System | Double |Panel |None |<border string>]
[Close | Noclose]
[Float | Nofloat]
[Shadow | Noshadow] [Fill<exC3>]
[Color scheme<expN | Color<color list]
In[Window] <Name> | In Screen]
ELEC
Trang 96
Trang 97
'
'
Trang 98
?i,Cos(i)
Endfor
Return
Procedure TinhTong
Activate Window WinTong
s=0
For i=1 to 1000
s=s+i
Endfor
?'Tong s=',s
Return
Procedure TinhTich
Activate Window WinTich
p=1
For i=1 to 10
p=p*i
Endfor
?'Tich p=',p
Return
Procedure Thoat
Deactivate Window All
Deactivate Menu All
Return
7.4 Mt s lnh khc
7.4.1 Move Window
Lnh c dng sau:
MOVE WINDOW <Window Name> TO <dng, ct>
Lnh trn cho php dch chuyn ca s n to <d ng, ct>
V d:
CLEAR
DEFINE WINDOW Win1 FROM 1,4 TO 5,34 PANEL
ACTIVATE WINDOW Win1
?'Ti ang ch c'
WAIT WINDOW 'n phm di chuyn ca s'
MOVE WINDOW Win1 TO 10,15
?'Ti n ni mi ri'
for i=1 to 100
ELEC
Trang 99
?i, sqrt(i)
Endfor
RELEASE WINDOW Win1
Trong chng trnh trn ta cn thy hai lnhT:
1. WAIT WINDOW 'n phm di chuyn ca s'
Lnh ny ch n mt phm bt k di chuyn ca s
2. RELEASE WINDOW Win1
Lnh ny xo ca s khi b nh.
7.4.2 Giao din m File bng MEMU POPUP
Gi s trn a th mc hin thi c nhiu tp *.dbf. Ta c th xy dng mt
giao din m tp v x l tp nh sau:
SET TALK OFF
CLOSE DATABASE
CLEAR
DEFINE POPUP ChonFile FROM 2,2 TO 7, 14 PROMPT FILES LIKE *.dbf ;
TITLE 'Cua so File'
ON SELECTION POPUP ChonFile DO MoFile WITH PROMPT ()
ACTIVATE POPUP ChonFile
PROCEDURE MoFile
PARAMETER a
USE &a
BROWSE
RETURN
7.4.3 Giao din thng qua MEMU POPUP xc nh ni dung tr ng
STT
1 Nguyn Th Vn
2 L Th Phng
3 Bi Tun
4 Trn Th Hong
5 Ng Tun
6 Hong
7 Phm Kim
8 Nguyn Qunh
9 Phm Vn
HOTEN
NGAYSINH
Anh
Thanh
Bo
Hoa
Thu
Chu
Th
Hon
Tun
22-06-81
21-06-81
04-04-80
02-02-80
24-05-80
02 -09-80
11-12-81
29-09-78
15-07-79
TINH
Ngh an
Thi bnh
H ni
Hi phng
Thanh ho
Lo cai
Thi nguyn
Qung bnh
Ho bnh
ELEC
Trang 100
Trang 101
Trang 102
?i,sin(i)
EndFor
Return
Sau y l thao tc khi ch y chng trnh:
Bc 1: Chy chng trnh to menu h thng:
DO HeThong <Enter>
Say khi n Enter th mt MENU h thng c to ra v ngay lp tc thot khi
chng trnh, con tr tr v ca s lnh.
Bc 2: n phm ALT hoc F10 kch hot MENU h thng va to, chn
mc Pad tng ng vi chng trnh mun chy v n Enter
Ch : Mun hu b MENU H thng va mi to, thit lp li MENU h thng
ca FoxPro, t ca s lnh ta g : SET SYSMENU TO DEFAULT <Enter>
7.4.7 Lu ca s vo bin nh v phc hi ca s khi cn
SET SAFETY OFF
CLEAR
DEFINE WINDOW CuaSo1 FROM 2,1 TO 13,55 panel TITLE 'C a s'
ACTIVATE WINDOW CuaSo1
WAIT WINDOW '? n phm tip tc'
SAVE WINDOW CuaSo1 TO Bien && Lu c a s vo bin nh c tn Bien
CLEAR WINDOWS && Xo c a s c tn CuaSo1
WAIT 'n phm'
RESTORE WINDOW CuaSo1 FROM Bien
FOR i=1 TO 1000
?i,sin(i)
NEXT
WAIT 'an phim'
DEACTIVATE WINDOW CuaSo1
7.4.8 Lu mn hnh vo bin nh v phc hi ca s khi cn
? 'Cho bn'
? 'Ti l sinh vin khoa Tin h c Qun l'
SAVE SCREEN TO Bien
CLEAR
WAIT 'Mn hnh khng cn g - n phm!'
RESTORE SCREEN FROM Bien
7.4.9 Menu dn xut
Menu dn xut l Menu m mt hoc nhiu thnh phn (cc Barc) ca mt
POPUP li dn n mt hoc nhiu POPUP khc v c th li mt hoc nhiu
thnh phn ca POPUP mi ny li dn n mt hoc nhiu POPUP khc na
v.v..
V d ta thit k mt MENU nh sau:
ELEC
Trang 103
ung
ung
C
Nc
chanh
ph C ph nu c ng
C
ph
nu
khng
ng
Chng trnh nh sau:
CLEAR
ELEC
Trang 104
Trang 105
ELEC
Trang 106
?sin(9
USU Nhansu
Brws
ON ERROR
PROCEDURE ThongBao
PARAMETER a, b, c,d
? 'Sai lnh no?
: ' +a
? 'M ca li
: ' + STR(b)
? 'Sai g?
:'+c
?' Dng no sai
:'+Str(c)
?'----------------------------------------------- '
RETURN
8.2 Lnh ON KEY
Lnh c dng nh sauL:
ON KEY [<Lnh>]
Khi n mt phm bt k th lnh c kch hot v thc hin <Lnh>.
Chng trnh sau ta to mt vng lp, khi chng trnh ang chy nu n mt
phm bt k thi lnh ON KEY c kch hot v chng trnh con c tn
TamDung c thc hin:
SET TALK OFF
USE khoia
ELEC
Trang 107
CLEAR
ON KEY DO TamDung
FOR i=1 to 10000
?i,sin(i),cos(i)
Next
PROCEDURE TamDung
h= INKEY()
?'Bn g phm:',H
WAIT
RETURN
8.3 Lnh ON KEY =
Lnh c dng:
ON KEY [=<ExpN] [<Lnh>]
Trong <ExpN> l m phm hoc t hp phm. Bng m phm nh sau:
M phm
Tn phm khi g
Alt+Q n Alt +P
272-281
Alt+A n Alt +L
286-294
Alt+Z n Alt +M
300- 306
F1 n F10
315-324
HOME
327
328
Up arrow ( )
PgUp
329
331
Left arrow ( )
333
Right arrow ( )
End
335
336
Down arrow ( )
PgDn
337
Ins
338
Ins
339
Shift+F1 n Shift +F10
340-349
Ctrl+F1 n Ctrl +F10
350 - 359
Alt+F1 n Alt +F10
360 - 369
Ctrl+Print+Scrn
370
Ctrl+left arrow
371
Ctrl+right arrow
372
Ctrl+End
373
Ctrl+PgDn
374
Ctrl+Home
375
Alt+1 n Alt +0,Alt+-,Alt+=
376 - 387
Ctrl+PgUp
388
ELEC
Trang 108
V d 1:
CLEAR
ON KEY = 315 DO TroGiup WITH VARREAD()
SET TALK OFF
USE khoia
SCATTER TO temp
DEFINE WINDOW VAO FROM 6,10 TO 20,70 PANEL
ACTIVATE WINDOW VAO
DO WHILE NOT EOF()
@ 1,3 SAY 'Ho va dem: ' GET hodem
@ 3,3 SAY 'Ten : '
GET ten
@ 5,3 SAY 'Diem toan: '
GET toan
@ 7,3 SAY 'Diem ly : '
GET ly
@ 9,3 SAY 'Diem hoa : '
GET hoa
@ 11,8
SAY 'An ESC de thoat hoac an F1 de tro giup'
READ
SKIP
ENDDO
DEACTIVATE WINDOW VAO
RELEASE WINDOW VAO
PROCEDURE TroGiup
PARAMETERS TenTruong
CLEAR
DEFINE WINDOW HelpMe FROM 1,0 TO 5,79
ACTIVATE WINDOW HelpMe
@ 0,20 SAY 'y l tn tr ng c tn: ' + TenTruong+ ' bn ch vo DL hoc
chp nhn'
WAIT
RELEASE WINDOW HelpMe
RETURN
8.4 Lnh ON KEY LABEL
Lnh c dng sau:
Cch vit
Shift+F11 ...
Alt+F1, Alt+F2 ...
Trang 109
Alt+0 n Alt -9
Alt+A n Alt +Z
Alt+PgUp
Alt+PgDn
Ctrl+left arrow
Ctrl+right arrow
Ctrl+Home
Ctrl+End
Ctrl+PgUp
Ctrl+PgDn
Ctrl+A n Ctrl +Z
Right Mouse
Left Mouse
Mouse
Escape
Trang 110
ON READERROR [<Lnh>]
Khi nhp d liu nu gp li th thc hin <Lnh>
V d chng trnh:
CLOSE DATABASES
SET STATUS OFF
SET TALK OFF
USE KhoiA
ON READERROR DO LoiNhap
@ 10,13 SAY 'Vo h v m : ' GET HODEM
@ 12,13 SAY 'Vo Tn
: ' GET Ten
@ 14,13 SAY 'Vo s bo danh : '
@ 14,30 GET SBDC Valid Val(right(sbdc,4))<=3000
READ
PROCEDURE LoiNhap
?'Khng c s bo danh '+sbdc
WAIT 'n phm tip tc'
Clear
RETURN
ELEC
Trang 111
Trang 112
( 4)
L .F.
Hy quan st cc v d sau:
DIMENSION M(4)
STORE 'E' TO M(1)
STORE 'F' TO M(2)
STORE 'G' TO M(3)
STORE 'H' TO M(4)
DISPLAY MEMORY LIKE M
M
Pub A
( 1) C "E"
( 2) C "F"
( 3) C "G"
( 4) C "H"
Cn nu:
DIMENSION M(2,3)
DISPLAY MEMORY LIKE M
M
Pub A
( 1, 1) C "E"
( 1, 2) C "F"
( 1, 3) C "G"
( 2, 1) C "H"
( 2, 2) L .F.
( 2, 3) L .F.
Nh vy khi mng 2 chiu chuyn sang mt chiu, th ni dung ca mng hai
chiu c sao chp t mng mt chiu theo trt t trn.
V d:
DIMENSION ViDu(2,3)
STORE 'Tm bit' TO ViDu(1,2)
STORE 'Hello' TO ViDu(2,2)
STORE 99 TO ViDu(6)
STORE .T. TO ViDu(1)
DISPLAY MEMORY LIKE ViDu
Sau khi chy s c kt qu:
VIDU
( 1,
( 1,
( 1,
( 2,
( 2,
ELEC
1)
2)
3)
1)
2)
Priv A
L .T.
C "Tm bit"
L .F.
L .F.
C "Hello"
Trang 113
( 2, 3)
99 ( 99.00000000)
Trang 114
b. Tm min ca mng
Gi s ta tm phn t nh nht ca mng 20 th nh phn. Ta lp trnh nh sau:
Set talk off
Clear
Dimension A(20)
A=0
For i=1 to 20
Input 'Vo phn t A ( '+Str(i,2)+' )=' To A(i)
Next
Min=a(1)
For i=2 to 20
If min>=a(i)
min=a(i)
next
?'Phn t nh nht l:',max
c. Xp mng
Gi s ta xp gim dn cc phn t ca mng 20 th nh phn, ta lp trnh nh
sau:
Set talk off
Clear
Dimension A(20)
A=0
For i=1 to 20
Input 'Vo phn t A ( '+Str(i,2)+' )=' To A(i)
Next
for i=1 to 20
for j=i+1 to 19
if a(i)>a(j)
tg=a(i)
a(i)=a(j)
a(j)=tg
Endif
9.4 Chuyn bn ghi ra mng hoc bin nh
d trnh by ta nn da vo mt tp CSDL, gi s ta c tp CSDL c t n
KHOIA.DBF nh sau:
STT SBDC
HODEM
TEN
NGAYSINH KV DT
TOAN LY HOA TONG TIEUSU
1 99A0001 Nguyn Th H 171279 1 01 6.5 5.0 5.5 17.0
2 99A0002 Trnh Vnh Anh 280278 2 02 5.0 3.5 4.0 12.5
3 99A0003 Vn
Hng 280679 3 03 7.0 5.5 6.0 18.5
4 99A0004 Trn Thanh Hi 011080 1 01 8.5 7.0 7.5 23.0
ELEC
Trang 115
Trang 116
Trang 117
Copy t mng
MEMVAR
copy vo bn ghi t bin nh
FIELDS <field list>
Ch nhng trng lit k trong <field list> mi nhn d liu vo
FIELDS LIKE <skel> | FIELDS EXCEPT <skel>
V d:
GATHER FROM myarray FIELDS LIKE A*,P*
GATHER FROM myarray FIELDS LIKE A*,P* EXCEPT PARTNO*
ELEC
Trang 118
V d:
SET TALK OFF
USE Khoia
COPY TO Khoia1
USE Khoia1
SCATTER MEMVAR MEMO
&& save old values
DEFINE WINDOW Win1 FROM 5,10 to 20,70 PANEL
ACTIVATE WINDOW Wind1
@ 1,3 SAY 'S bo danh: '
GET m.sbdc
@ 3,3 SAY 'H m
:'
GET m.hodem
@ 5,3 SAY 'Tn
:'
GET m.ten
@ 7,3 SAY 'Ngy sinh : '
GET m.Ngaysinh
@ 7,18 SAY 'Khu vc : ' GET m.KV
@ 9,13 SAY 'Tiu s:'
@ 9,23 EDIT m.Tieusu SIZE 3,26
@ 13,13 SAY 'n Escape thay i'
READ
IF LASTKEY() != 27
GATHER MEMVAR
WAIT WINDOW 'Ct s thay i' NOWAIT
ELSE
WAIT WINDOW 'Khng ct s thay i' NOWAIT
ENDIF
DEACTIVATE WINDOW Wind1
BROWSE
USE
ELEC
Trang 119
Trang 120
Trang 121
USE KHOIA
BROWSE FIELD Hodem, ten, sbdso Font '.VnTime', 14
3. [STYLE <expC2>]
Biu thc k t <expC2> xc nh kiu ca phng (B= Bo, I=nghing v.v..)
USE KHOIA
BROWSE FIELD Hodem, ten, sbdso Font '.VnTime', 14 Style 'B'
4. [FOR <expL1>]
iu kin hin th cc bn ghi, v d:
USE KHOIA
BROWSE FIELD Hodem, ten, TongDiem For TongDiem >=16
5. [FREEZE <field>]
Ch cho php hiu chnh trng C <field>, v d:
USE KHOIA
BROWSE FIELD Hodem, ten, TongDiem FREEZE TongDiem
6. [KEY <expr1> [, <expr2>]]
Mnh KEY c dng gii hn phm vi cc bn ghi c hin th, v d:
USE Khoia
INDEX ON SBDSO TO SBDINDEX
BROWSE KEY 1,40
Ngha l ch hin cc bn ghi c s bo danh t 1 n 40
USE Khoia
INDEX ON Ten TO TenIndex
BROWSE KEY 'A', 'N'
Hin th nhng bn ghi c tn vi ch ci u t A n N
USE Khoia
INDEX ON Ten TO TenIndex
BROWSE KEY 'A''
Hin th nhng bn ghi c tn vi ch ci u t A
7. [LEDIT] [REDIT]
[LEDIT] cho php hin th d liu dng BROWSE
[REDIT] cho php chuyn sang hin th dng lnh EDIT hoc CHANGE
8. [LOCK <expN2>]
Cho php c nh <expN2> trng bn tri trong khi vn di chuyn tr sang
phi. <expN2> phi nh hn s lng cc trng hin ra mn hnh.
USE KHOIA
BROWSE FIELD Hodem, ten, TongDiem LOCK 2
9. [LPARTITION]
a tr sang vng bn tri, v d:
USE KHOIA
BROWSE PARTITION 40 LPARTITION
ELEC
Trang 122
Trang 123
Trang 124
Trang 125
USE KHOIA
BROWSE COLOR SCHEME 5
Hoc:
USE KHOIA
BROWSE COLOR 4
Trang 126
@ <row, column>
SAY <expr>
[FUNCTION <expC1>]
[PICTURE <expC2>]
[SIZE <expN1>, <expN2>]
[FONT <expC3> [, <expN3]]
[STYLE <expC4>]
[COLOR SCHEME <expN4>| COLOR <color pair list>]
GET <memvar> | <field>
[FUNCTION <expC1>]
[PICTURE <expC2>]
[FONT <expC3> [, <expN1>]]
[STYLE <expC4>]
[ENABLE | DISABLE]
[MESSAGE <expC5>]
[[OPEN] WINDOW <window name>]
[RANGE [<expr2>] [, <expr3>]]
[SIZE <expN2>, <expN3>]
[VALID <expL1> | <expN4> [ERROR <expC6>]]
[WHEN <expL2>]
[COLOR SCHEME <expN5> | COLOR <color pair list>]
READ
1. <row, column>
Dng (row) v ct (column) ni bt u hin th d liu, nu d ng SET DEVICE
TO PRINTER a kt xut ra my in th hng c th nm trong phm vi t 0
ddn 32.768 v ct t 0 n 255.
2. <expr>
<expr> l biu thc bt k, v d:
@10,12 SAY 'Cho bn'
@11,12 SAY 12*23
Phn chung cho c SAY v GET
3. [FUNCTION <expC1>]
To khun dng cho d liu, biu thc <expC1> nhn cc k t sau:
a. K t!
Chuyn mi k t vit thng thnh vit hoa:
@2,10 SAY 'Cho bn ' FUNCTION '!'
Khi hin th ch 'Cho bn' s bin thnh 'cho bn'.
b. K t ^
Hin th cc s theo dng ng:
@12,10 SAY 1232*7654 FUNCTION '^'
S hin th dng 12 ct 10 s: .94279E+7
c. K t $
ELEC
Trang 127
Trang 128
k. K t J
Dng thng hng bn phi:
USE KHOIA
@12,10 SAY 'Vo h m ? ' GET Hodem FUNCTION 'J'
@13,10 SAY 'Vo tn
? ' GET Ten FUNCTION 'J'
@14,10 SAY 'Vo im ton?' GET Toan FUNCTION 'J'
READ
l. K t K
Nguyn c trng c chn (bi en)
USE KHOIA
@12,10 SAY 'Vo h m ? ' GET Hodem FUNCTION 'K'
@13,10 SAY 'Vo tn
? ' GET Ten FUNCTION 'K'
@14,10 SAY 'Vo im ton?' GET Toan FUNCTION 'K'
READ
Nn dng K khi ta nh g li ton b ni dung ca trng
m. K t L
Hin th cc ch s 0 u thay v du cch:
A=123
@14,10 SAY 'Vo a =' GET a FUNCTION 'L'
READ
n. K t M <List>
La mt gi tr trong <List>
USE KHOIA
@12,10 SAY 'Vo khu vc? ' GET kv FUNCTION 'M 1,2,3'
@13,10 SAY 'Vo u tin?' GET ut FUNCTION 'M 1,2,3,4,5, 6,7,8,9,10,11'
READ
o. K t S <n>
Cun duyt theo chiu ngang trong khi sa bin sau GET kiu k t:
p. K t T
Ct b du cch trc vo sau ra khi trng k t
2. [PICTURE <expC2>]
a. K t!
Chuyn mi k t vit thng thnh vit hoa:
@2,10 SAY 'cho bn?' PICTURE '!!!!!!!!'
Khi hin th ch 'cho bn' s bin thnh 'cho bn'.
Ch : S k t! bng s k t ca d liu
b. K t #
Ch cho php nhp cc k s, du cch v du +,USE KHOIA
@10,12 SAY 'Vao khu vc?' GET kv PICTURE '#'
READ
c. K t $
ELEC
Trang 129
Trang 130
Trang 131
ELEC
Trang 132
Trang 133
Procedure Vao
Parameter x,y
Input 'Vo x =' To x
Input 'Vo y =' To y
Return
*** Th tc tnh tng hai s *******
Procedure Tong
Parameter Tong,x,y
Tong=x+y
Return
V d 2:
SET CENTURY ON
a={}
Do longdate With a,{11/29/99}
?a
PROCEDURE longdate
PARAMETER c,mdate
c=CDOW(mdate) + ', ' + MDY(mdate)
RETURN
Sau khi chy chng trnh s cho kt qu:
Monday, November 29, 1999
Chng trnh trn cng cn c th vit nh sau:
SET CENTURY ON
?longdate ({11/29/99})
PROCEDURE longdate
PARAMETER mdate
RETURN CDOW(mdate) + ', ' + MDY(mdate)
Ta khng dng DO <Tn chng tr nh con > m dng nh FUNCTION.
V d 3: Truyn mng vo th tc
Clear
Set talk off
Dimension a(10)
Store 0 to a
Do Vao With a
For i=1 to 10
?a(i)
Next
ELEC
Trang 134
** Th tc vo mng ****
Proc Vao
Para c
For i=1 to 10
Input 'vao c('+str(i,1)+')=' to c(i)
Next
Return
V d 4: Gi s ta c tp CSDL c t n KHOIA nh sau:
STT SBDC HODEM TEN NGAYSINH KV DT TOAN LY HOA TONG
1 99A0001 Nguyn Th H 171279 1 01 6.5 5.0 5.5 17.0
2 99A0002 Trnh Vnh Anh 280278 2 02 5.0 3.5 4.0 12.5
3 99A0003 Vn
Hng 280679 3 03 7.0 5.5 6.0 18.5
4 99A0004 Trn Thanh Hi 011080 1 01 8.5 7.0 7.5 23.0
5 99A0005 Phan Trng Thanh 241280 1 5A 9.0 7.5 8.0 24.5
6 99A0006 m Hu
Thng 190581 1 5B 3.0 1.5 2.0 6.5
7 99A0007 L Thanh H ng 171177 2 09 4.5 3.0 3.5 11.0
8 99A0008 Nguyn Phi Chung 020979 2 08 5.5 4.0 4.5 14.0
9 99A0009 Trn Tun Bo 090280 2 07 6.5 5.0 5.5 17.0
10 99A0010 Nguyn nh Thu 151179 2 06 7.0 5.5 6.0 18.5
11 99A0011 Nguyn Vn Hong 100177 2 09 8.5 7.0 7.5 23.0
12 99A0012 inh Vit Hu 020180 2 09 9.0 7.5 8.0 24.5
13 99A0013 Nguyn Chu 071180 2 04 10.0 8.5 9.0 27.5
14 99A0014 L Xun
Thanh 200880 2 04 2.5 1.0 1.5 5.0
Lp mt th tc tnh tng trung bnh ca ct tng, sau chng trnh chnh
truyn tham bin thc vo nhn:
Set Talk off
Clear
Store 0 To Tb
Do TrungBinh With Tb
?'im trung bnh chung l:',Tb
PROCEDURE TBINH
PARAMETER DTB
USE KhoiA
AVERAGE Tong To DTB
RETURN
11.3 Hm (FUNCTION)
Hm c cu trc nh sau:
FUNCTION <Tn hm >
PARAMETER <Tham s 1>[,<Tham s 2] [,<Tham s 3>]...]
<Cc lnh ca hm >
RETURN <Biu thc >
ELEC
Trang 135
Trang 136
Trang 137
Trang 138
Trang 139
c=.T.
Release b,c
Display memo
Khi chy chng trnh ch c bin a c hin th.
Lnh gii phng bin nh cn c cch vit khc:
RELEASE ALL [ LIKE <skel>| EXCEPT <skel>]
V d:
D1=12
D2=11
C=4
RELEASE ALL Like D*
Hoc c th vit:
D1=12
D2=11
C=4
RELEASE ALL EXCEPT C*
Ch : Ch c lnh RELEASE <Danh sch bin > mi xo c bin ton cc.
V d:
PUBLIC a1, a2,a3, b
Store 10 to a1, a2, a3
Store 2 To b
Release all like a*
Display Memory
Sau khi chy chng trnh ta thy bin a1,a2, a3 khng b xo
ELEC
Trang 140
Trang 141
14 Tr Duy
100481
99A123
2
09
15 inh Quang Hi 280479
99A328
2
10
16 Dng Th Lan
230481
99A411
3
10
17 Nguyn Quang Ph 240480
99A565
3
10
18 H Tt Thng
151181
99A689
2
10
19 Bi Duy Thc
100981
99A700
3
10
20 Lm Hng Hip
080180
99A223
3
11
Tp th hai c tn DIEMTHI.DBF c ni dung nh sau:
Record# SBDC
TOAN10 LY10 HOA10 TONGDIEM30
1 99A311
5.5
4.5
6.8
16.8
2 99A669
6.5
4.3
6.4
17.2
3 99A784
7.5
5.9
7.5
20.9
4 99A971
6.5
6.0
7.0
19.5
5 99A483
5.6
7.4
4.6
17.6
6 99A116
4.8
6.2
5.0
16.0
7 99A492
5.8
6.6
5.1
17.5
8 99A806
6.8
6.9
3.7
17.4
9 99A627
6.9
6.1
4.9
17.9
10 99A633
6.9
5.4
5.6
17.9
11 99A171
7.0
5.7
6.6
19.3
12 99A504
7.0
5.4
6.8
19.2
13 99A953
3.0
4.2
5.7
12.9
14 99A123
4.1
4.4
5.3
13.8
15 99A328
4.1
8.7
5.4
18.2
16 99A411
4.1
7.6
4.3
16.0
17 99A565
4.1
6.8
7.3
18.2
18 99A689
5.1
6.2
8.6
19.9
19 99A700
5.1
6.6
3.1
14.8
20 99A223
6.3
6.1
8.8
21.2
V d 1:
Set talk off
Select 1
Use HoSo
Select 2
Use DiemThi
Join With HoSo To TepMoi For sbdc=HoSo.Sbdc
Use TepMoi
Browse
Khi chng trnh chy ta c TepMoi nh sau:
ELEC
Trang 142
Record#
SBDC TOAN10 LY10 HOA10 TONGDIEM30 HOTEN
Trang 143
9 Nguyn Vn Thuyt
10 Bi Th
Thut
11 Nguyn Vn i
12 L Thanh
Nam
13 Nguyn Xun
14 Tr
Duy
15 inh Quang
Hi
16 Dng Th
Lan
17 Nguyn Quang Ph
18 H Tt
Thng
19 Bi Duy
Thc
20 Lm Hng
Hip
99A627
99A633
99A171
99A504
99A953
99A123
99A328
99A411
99A565
99A689
99A700
99A223
17.9
17.9
19.3
19.2
12.9
13.8
18.2
16.0
18.2
19.9
14.8
21.2
Trang 144
5 Hong Thanh
H 191180 99A311 0.00
6 inh Quang
Hi 280479 99A328 0.00
7 Dng Th
Lan 230481 99A411 0.00
8 Hong Vn
Mnh 300680 99A483 0.00
9 V Th
Na 100479 99A492 0.00
10 L Thanh
Nam 170880 99A504 0.00
11 Nguyn Quang Ph 240480 99A565 0.00
12 Nguyn Vn Thuyt 210680 99A627 0.00
13 Bi Th
Thut 180281 99A633 0.00
14 Hong Trung Thnh 231181 99A669 0.00
15 H Tt
Thng 151181 99A689 0.00
16 Bi Duy
Thc 100981 99A700 0.00
17 Nguyn Anh
Tun 250880 99A784 0.00
18 Hong Vn
Tng 260179 99A806 0.00
19 Nguyn Xun
Trang 145
Select 1
Use Diem
Select 2
Use Hoso
Index on sbdc to sbdc1
Update On Sbdc From Diem Replace Tong With Diem.To ngDiem30 Random
Select 2
Browse
Sau khi chy chng trnh ta c kt qu:
Record# HOTEN
NGAYSINH SBDC TONG
1 Hong Th Din 281177 99A116 16.00
2 Tr
Duy 100481 99A123 13.80
3 Nguyn Vn i
020879 99A171 19.30
4 Lm Hng
Hip 080180 99A223 21.20
5 Hong Thanh H
191180 99A311 16.80
6 inh Quang
Hi 280479 99A328 18.20
7 Dng Th
Lan 230481 99A411 16.00
8 Hong Vn
Mnh 300680 99A483 17.60
9 V Th
Na
100479 99A492 17.50
10 L Thanh
Nam 170880 99A504 19.20
11 Nguyn Quang Ph 240480 99A565 18.20
12 Nguyn Vn Thuyt 210680 99A627 17.90
13 Bi Th
Thut 180281 99A633 17.90
14 Hong Trung Thnh 231181 99A669 17.20
15 H Tt
Thng 151181 99A689 19.90
16 Bi Duy
Thc 100981 99A700 14.80
17 Nguyn Anh Tun 250880 99A784 20.90
18 Hong Vn
Tng 260179 99A806 17.40
19 Nguyn Xun
041080 99A953 12.90
20 Vng Vn
Hip 250778 99A971 19.50
Hoc ta c th vit li chng trnh chy nhanh hn nh sau:
Set talk off
Clear
Select 1
Use Diem
Index on SBDC to SbdDiem
Select 2
Use Hoso
Index on sbdc to sbdc1
Update On Sbdc From Diem Replace Tong With Diem.TongDiem30
Select 2
Browse
ELEC
Trang 146