Upload
zacknguyen
View
285
Download
4
Embed Size (px)
Citation preview
Mc lc
CHNG 1: GII THIU V H QUN TR CSDL VISUAL FOXPRO
CHNG 2: THAO TC VI BNG D LIU
CHNG 3: SP XP-TM KIM-THNG K
CHNG 4: LP TRNH TRN VISUAL FOXRO
CHNG 5: FORMS
CHNG 6: REPORTS
CHNG 7: TO MENU V QUN L N
www.Updatesofts.com 2006
Chng 1:
GII THIU V H QUN TR CSDL VISUAL FOXPRO
1.1 Tng quan v FoxPro v Visual FoxPro
1.1.1 Gii thiu
Foxpro l h qun tr c s d liu dng gii quyt cc bi ton trong cc lnh vc qun l.
FoxPro c tha k v pht trin trn phn mm DBASE III PLUS v DBASE IV, nhng sn
phm ni ting ca hng ASTON-TATE. Khi cc cng c lp trnh v cc ng dng trn mi
trng Windows ngy nhiu th Microsoft cho ra i cc phin bn FoxPro 2.6, chy c trn
hai mi trng DOS v Windows. Visual Foxpro l sn phm ca hng Microsoft, n c k
tha t Foxpro for Windows, l mt trong nhng cng c tin li gii quyt cc bi ton
trong lnh vc qun l cho nhng ngi chuyn nghip v khng chuyn nghip. T khi pht
trin n nay, Hng Microsoft cho ra i nhiu phin bn Visual Foxpro 3.0, 4.0, 5.0, 6.0.
1.1.2 Khi ng Visual Foxpro.
Sau khi ci t Visual FoxPro, ta c th khi ng n bng cch thc hin file
FoxProw.exe hoc file vfp.exe i vi Visual Foxpro theo cc cch sau:
+ Kch chut vo biu tng ca FoxPro hoc Visual Foxpro trn Desktop
+ Chn menu Start/Program, chn Microsoft Visual Foxpro v kch chut vo .
Mn hnh Visual Foxpro sau khi khi ng:
Mn hnh Visual FoxPro sau khi khi ng:
1.1.3 Cc ch lm vic
Thanh Menu
Ca s lnh
Thanh tiu Thanh cng
Visual FoxPro c 2 ch lm vic; ch tng tc (interactive) v ch chng trnh
(program).
Ch tng tc: L ch tr li tng cu lnh mt ca ngi s dng, trong ch ny c 2
hnh thc a cu lnh:
* a cu lnh qua menu h thng (system menu).
* a cu lnh t ca s lnh (command window).
Ch chng trnh: Cc cu lnh trong ca s lnh c th tp trung thnh mt file v lu trn
a (gi l file chng trnh ngun). Khi mun thc hin cc lnh trong chng trnh ny, ti
ca s lnh a vo cc cu lnh: DO < tn chng trnh >
thot khi Visual FoxPro, ti ca s lnh s dng lnh QUIT
1.2 Cc khi nim c bn
1.2.1 Kiu d liu
i tng x l ca V. FOXPRO l d liu, qun l v khai thc tt cc d liu ny, tu
theo tnh cht, V.FOXPRO phi chia d liu thnh nhiu kiu d liu khc nhau: kiu s
(numberic), kiu chui (character), kiu ngy thng (date), kiu l lun (logical), kiu b nh
(memo), kiu hnh nh (picture).
a. Kiu s - Numeric (N): dng biu din cc s liu mang gi tr s hc v c nhu cu
tnh ton nh trong k ton, qun l, .... Mi d liu kiu s chim ti a 20 ch s gm c phn
nguyn, phn thp phn v du chm thp phn.
b. Kiu s - Float (F): Dng biu din s l cc s c du chm ng nh: 2.03e5 (2.03 x
105), thng c s dng trong cc chng trnh thuc lnh vc khoa hc k thut, ...
c. Kiu chui - Charater (C): Cha cc s liu l t hp mt s bt k cc k t ASCII
nh tn, h hoc l s nhng khng c nhu cu tnh ton nh s chng minh, a ch, s phng,
... Mi d liu kiu chui c di ti a 255 k t (mi k t chim 1 byte trong b nh).
d. Kiu ngy thng - Data (D): Dng cho nhng s liu dng ngy thng nh ngy sinh,
ngy n,.... l nhng s nguyn dng "yyyymmdd" khi hin th ra bn ngoi s c chuyn
thnh dng ngy thng bnh thng nh mm-dd-yy, dd-mm-yyyy,... tu theo yu cu ca ngi
lp trnh. di c nh ca d liu kiu ngy l 8 k t.
e. Kiu logic - Logical (L): Dng cho nhng d liu ch c mt trong hai trng hp hoc
ng (T) hoc sai (F) nh gii tnh, i tng u tin, ... di c nh ca d liu kiu l lun
l 1 k t.
f. Kiu ghi nh - Memo (M): D liu kiu ghi nh l mt on vn bn c di ln hn
255 k t, nh khen thng, l kch, qu trnh cng tc,... di khai bo l 10 nhng ni dung
thc s ca kiu ghi nh l tu , chng c lu tr trong mt tp tin khc c cng tn nhng
phn m rng l .FPT (FoxPro Text).
g. Kiu tng qut - General (G): Dng cha d liu nh bng tnh, m thanh,...
h. Kiu hnh nh - Ficture (P): D liu lu di dng hnh nh .BMP, thng c dng
trong cc chng trnh "qun l nh s", "nhn dng",...
1.2.2 Cc php ton
a. Php ton s hc: c thc hin trn cc d liu kiu s, gm cc php ton:
Php ton ngha V d
-, + du m v dng +5, -7
** hay ^ lu tha 5**2,5^2
, / nhn, chia 25, 5/7
% phn d (modulo) 25%5
+, - cng, tr 10-2, 45+4
u tin cc php ton theo th t nu trn, c th thay i th t tnh ton bng cch
t chng trong 2 du ngoc n ( ) nh cc quy tc tnh ton s hc thng thng.
b. Php ton chui: Dng x l cc d liu kiu chui.
Php ton ghp ni (+): dng ghp 2 chui cnh nhau, kt qu ca php ton l mt
d liu kiu chui.
V d: Trung tm' + 'Tin hc' -----> 'Trung tm Tin hc'
Php ton ghp ni (-): dng ghp 2 chui cnh nhau v di chuyn cc du cch
chui th nht (nu c) ra cui chui to thnh.
V d: 'Trung tm ' - ' Tin hc' -----> 'Trung tm Tin hc '
Php ton $: kim tra chui bn tri c nm trong chui bn phi khng. Kt qu ca
php ton c kiu logic.
V d: 'ab' $ "ABab" cho gi tr .T. nhng 'ab $ "AaBb" cho gi tr .F.
c. Php ton ngy: Hai d liu kiu ngy c th tr (-) cho nhau cho khong cch i s
gia 2 ngy.
V d: {01/08/2003} - {05/09/2003} -------> - 35
{01/08/2003} - {05/07/2003} -------> 25
Mt d liu kiu ngy c th cng (+) hay tr (-) mt s nguyn cho kt qu l mt d liu
kiu ngy.
V d: {01/08/2003}+ 10 -------> {11/08/2003}
{01/08/2003}- 20 -------> {12/07/2003}
Ch : Hai d liu kiu ngy khng th cng (+) cho nhau.
Mt s khng th tr (-) vi mt d liu kiu ngy.
Vic din t th t ngy (D), thng (M), nm (Y) trong mt d liu kiu ngy cn ph thuc vo
thi im hin ti ang theo h thng ngy thng no.
(1) Lnh SET DATE FRENCH |AMERICAN| JAPAN: Cho php thit lp d liu dng ngy
theo kiu Php|M|Nht.
(2) SET CENTURY ON|OFF: Quy c nm c mt d liu dng ngy c biu din theo dng
hai s (mc nh) hay dng bn s. Nu SET CENTURY ON th nm c biu din theo dng
bn con s, nu SET CENTURY OFF (dng mc nh) th nm c biu din theo dng hai
con s.
(3) Lnh SET MARK TO : n nh k t phn cch ngy thng, nm l . Dng lnh SET MARK TO tr v k t phn cch ngy thng mc nh.
d. Php ton quan h: dng so snh hai gi tr ca hai biu thc cng kiu
Php ton ngha Php ton ngha
< nh hn , ! khc
> ln hn ln hn hay bng
= = bng chnh xc
Hai d liu kiu s c so snh da theo biu din ca chng trn trc s.
Hai d liu kiu ngy c so snh da theo biu din ca chng theo chiu ca thi gian.
Trong kiu logic, Visual FoxPro quy c: .T. .T. 'a' < 'A' ------------> .F.
Trng hp hai chui c di khc nhau, th vic so snh da vo vic thit lp mi trng
SET EXACT ON/OFF, ngha l:
Nu SET EXACT ON th 'AB' = 'AB ' -----------> .F.
Nu SET EXACT OFF th 'ABCD' = 'AB' -----------> .T.
e. Php ton logic: Visual FoxPro c 3 php ton logic: NOT; AND; OR
NOT hay ! : ph nh ca ton hng theo sau.
AND : cho gi tr .T. nu c hai ton hng u .T.
OR : cho gi tr .F. nu c hai ton hng u .F.
1.2.3 Ton hng
Ton hng l cc d liu tham gia vo cc php ton.
V d: del=b^2 - 4*a*c th b,2,4,a,c l cc ton hng.
1.2.4 Hng
L i lng c gi tr khng i trong thi gian chng trnh thc hin. Tr kiu d liu
memo th mi kiu d liu u c hng ca n.
Hng kiu s: nh -2.5, 100, 4.14
Hng kiu chui: hng loi ny phi trong hai du "..." hoc '...' hoc [...], c di ti a
khng qu 253 k t.
V d: "abc"; tng hp', '123',.......
Hng kiu ngy: phi c t trong cp du {...}
V d: {01/01/96}; {}: ngy rng.
Hng logic: ch c 2 gi tr .T. v .F.
1.2.5 Bin
Bin l i lng dng lu tr d liu trong qu trnh tnh ton. Bin c hai c trng
chnh: tn bin v gi tr ca bin. Tn bin c t theo nguyn tc: di khng qu 10 k t,
bt u phi l ch ci hoc du _ phn cn li l t hp ca bt k cc ch ci, ch s hoc du
_. Tn bin khng nn t trng tn cc t kho ca Visual FoxPro, tn bin c th vit bng
ch in hoa hay ch thng. Visual FoxPro hiu kiu ca bin l kiu ca gi tr m n ang
mang. S lng ti a ca bin c php s dng l 2048 bin.
Visual FoxPro chia bin lm 3 loi:
a. Bin b nh: Gi chung l bin, do ngi s dng to ra trong b nh, khi khng s dng
na c th gii phng tit kim b nh.
V d: hsl = 3.12
ngaysinh = {01/01/88}
b. Bin h thng: c to ra ngay t khi khi ng Visual FoxPro. C tn bt u bng
du gch ni ( _ ) thng c s dng trong vn in n, ngi s dng khng th gii phng
bin loi ny.
c. Bin trng: Tn cc trng trong tp tin CSDL , n ch c ngha khi tp tin cha n
c m ra s dng.
Nu c mt bin t trng vi mt bin trng th bin trng c u tin thc hin trc.
Nu tn hi hai bin trng v bin b nh trng tn nhau, truy nhp n chng m khng
s nhm ln, bn s dng quy cch sau cho bin b nh:
M. hay M ->
1.2.6 Hm
Hm l nhng on chng trnh c vit sn nhm thc hin mt cng vic no . Cc
hm ny thng cho ra mt gi tr, nhng cng c hm ch thi hnh mt vic no m khng
cho ra mt tr no c. V hnh thc hm c c trng bi tn hm v theo sau l cp du ( )
dng bao cc i s, cc i s ny t cch nhau bi du phy. Mt hm c th c nhiu i
s hoc khng c i s no c nhng phi c ( ) theo sau.
V d: Date ( ): cho bit ngy thng nm h thng.
Sqrt(x): cn bc 2 ca x.
C 2 loi hm: Hm c sn ca Visual FoxPro v hm t to do ngi s dng to ra. Chng ta s nghin cu vn ny k hn chng sau.
1.2.7 Biu thc
Biu thc l tp hp ca mt hay nhiu thnh phn nh hng, hm, bin, php ton, du ngoc trn. Sau khi tnh ton biu thc s cho mt tr duy nht. Tr ca biu thc thuc v mt trong 4 kiu: N, C, D, L. Mt biu thc c th rt phc tp, tr ca biu thc c tnh theo nguyn tc sau:
* Trong ( ) tnh trc, ngoi ( ) tnh sau,
* Php ton u tin cao tnh trc.
* Bn tri tnh trc, bn phi tnh sau.
1.2.8 T kho
T kho l nhng t c Visual FoxPro s dng vo mt mc ch ring, ngi s dng khng c t tn trng vi cc t kho ny. Thng thng t kho l nhng ng t ng t ca lnh thc hin. Nu t kho c nhiu hn 4 k t th khi s dng ch cn ghi 4 k t u.
V d: Cu lnh MODIFY COMMAND LUONG.PRG c 2 t kho l MODIFY v
COMMAND c th vit gn l: MODI COMM LUONG.PRG
1.2.9 Lnh v chng trnh
Lnh l nhng yu cu thc hin mt nhim v no . Lnh trong Visual FoxPro thng l mt ng t, cng c trng hp l mt k hiu nh: !. ?, ... Tp hp cc lnh nhm t c mt mc tiu ra gi l chng trnh.
Trong Visual FoxPro c 3 cch ban hnh lnh:
a. Dng ca s lnh:
Lnh c a vo ca s lnh, sau khi n Enter lnh c thi hnh ngay. Thi hnh xong
mt lnh th lnh c c lu li trn ca s lnh c th s dng cho ln sau. Cch ny thng
dng trong nhng tnh ton n gin kim tra kt qu ca lnh.
b. Dng menu:
Lnh c ban hnh bng cch kch hot menu tng ng, sau khi thi hnh xong cu lnh
cng c lu li trn ca s lnh. Cch ny ch hn ch trong mt s lnh thng thng trn
tp tin CSDL.
c. Dng chng trnh: Son tho trc mt chng trnh gm nhiu lnh thch hp.
Chng trnh c lu trn a di tn mt tp tin c phn m rng PRG. thc hin
chng trnh ny, ti ca s lnh a cu lnh DO . Sau khi n Enter chng
trnh c np vo b nh v tng lnh c thc hin theo th t.
Bi thc hnh chng 1
1. Gi s c tp tin HSNV.DBF (c cu trc nh m t bi 1, thc hnh hai) trong c t nht 15 mu tin.
a. Dng lnh SORT sp xp li tp tin HSNV.DBF sang mt tp tin mi HSNVSX.DBF theo ch tiu: Cc mu tin c sp xp theo tng n v (gim dn), trong mi n v th t tn, h c sp xp tng dn.
b. M tp tin HSNVSX.DBF
S dng lnh LIST lit k cc trng HOLOT, TEN, NGSINH, M_LUONG, MADV.
S dng lnh USE ng tp tin li.
c. Lp 3 tp tin ch mc: FMASO.IDX theo trng MASONV, FDONVI.IDX theo trng MADV, FLUONG.IDX theo trng M_LUONG gim dn.
- Bng cch thay th tp tin ch mc ch, hy lit k cc mu tin theo MASONV tng dn, theo MADV tng dn, theo M_LUONG gim dn.
2. Trong tp tin HSNV.DBF
a. Dng lnh LOCATE:
- Tm ngi c h tn l LE VAN NAM (gi s c h tn ny trong tp tin HSNV.DBF). Dng lnh DISPLAY cho hin ni dung ca mu tin ny, ri dng lnh EDIT sa li.
- Tm nhng ngi phng Hnh chnh (MADV=HC), cho hin y thng tin ca nhng ngi ny.
- Tm nhng ngi c mc lng > 310.
b. Dng lnh SEEK tm kim ngi c MASONV=TCH01 (gi s m ny c trong tp tin HSNV.DBF). Cho hin ni dung ca mu tin ny.
c. Cho bit a ch ca ngi c H tn l HO VAN HAO, sinh ngy 10/11/58 (bng hai cch: LOCATE v SEEK).
--------------------------------------------------------------------------
1. CHNG 2: THAO TC VI BNG D LIU
1.1. 2.1. KHI NIM
Bng d liu cha d liu theo dng dng v ct, mi dng c gi l mt mu tin (record),
mi ct c gi l mt trng (field) ca bng.
Mi bng d liu c lu tr trn a vi tn file c phn m rng mc nh l DBF, mi bng
d liu c hai phn: cu trc v ni dung ca bng.
V d: bng nhn vin (nhanvien.dbf) c cu trc sau:
Fieldname Type Width Decimal
Hoten Character 30
Gioitinh Logic 1
Ngaysinh Date 8
NamLV Numberic 4
Lylich Memo 10
Ni dung ca NHANVIEN.DBF
Hoten Gioitinh Ngaysinh NamLV Lylich
Nguyen van A .T. 10/15/75 1999 Memo
Le thi Nhan .F. 06/15/70 1995 Memo
................ ........ .......... ......... .........
1.2. 2.2 FILE V KIU FILE TRONG VISUAL FOXPRO
2.2.1 Cc kiu file chnh ca Foxpro
FoxPro c cc kiu file sau:
*.dbf: File d liu
*.idx: File ch mc
*.prg: File chng trnh
*.dbc: File c s d liu
*.dll: File th vin lin kt ng
*.pjx: File d n
*.scx: File Form
*.vcx: File th vin
2.2.2. Cch t chc mt file d liu
a. File d liu: L tp hp d liu phn nh v mt tp hp cc i tng qun l thng qua cc
thuc tnh ca n.
b. Bn ghi (Record): L mt b gi tr cc thuc tnh phn nh v mt i tng qun l.
c. Trng (Field): L mt thuc tnh trong file d liu, mi trng c xc nh bi tn
trng, kiu trng v kch thc trng.
+ Tn trng (Field name): Tn trng di ti a 10 k t bao gm ch ci, ch s, k t gch
di, k t u tin ca tn trng phi l ch ci.
+ Kiu trng (Field type): Kiu trng c cc dng sau:
C: Charater N:Numberic L:Logic
D:Date M:Memo G:General
.......................
+ Kch thc trng (Field Width): L khong b nh cn thit lu tr cc gi tr ca
trng, kch thc ca trng ph thuc vo kiu trng:
Kiu C: Ti a 254 Byte
Kiu N: Ti a 20 Byte k c du thp phn
Kiu L: Chim 1 Byte
Kiu D: Chim 8 Byte
Kiu M: di tu , chim 10 Byte khi khai bo
Currency: Chim 8 byte
+ Cu trc file: Mi t hp trng sp xp theo th t nht nh gi l cu trc ca file d
liu, mi file d liu ch c mt cu trc c th.
2.2.3. Nguyn tc hot ng
Chng ta ch c th truy nhp n cc phn t ca mt file DBF nu file c m bng
lnh USE .
mi thi im bt k, mi file DBF ang m s c mt mu tin hin thi, mu tin hin thi
l mu tin c th truy nhp vo thi im . Mu tin hin thi c tr n b con tr mu tin
(record pointer). Mi mu tin ang m c 2 v tr c bit ch : u file v cui file. bit
c con tr mu tin u hay cui file ta dng cc hm logic sau:
. Hm BOF( ) (begin of file) cho gi tr .T. nu con tr mu tin cui file DBF ang m, ngc
li hm cho gi tr .F.
. Hm BOF( ) (end of file) cho gi tr .T. nu con tr mu tin cui file DBF ang m, ngc li
hm cho gi tr .F.
. S th t ca mu tin (record number - recno): m t s th t vt l ca mu tin trong tp tin
c s d liu DBF. S th t ny do FoxPro qui nh mt cch tun t, c nh s t 1 n
mu tin cui cng. Trong khi lm vic, nu xo mt mu tin th s th t ny cng t ng c
cp nht theo cho ph hp.
. Hm RECOUNT( ) dng bit s mu tin ca mt tp tin DBF ang m.
. Hm RECSIZE( ) dng bit c kch thc ca mt mu tin.
. Hm RECNO( ) cho bit s th t ca mu tin hin thi.
. Kch thc ca cc mu tin ca mt file DBF u bng nhau.
1.3. 2.3. CC LNH C BN TRN FILE DBF
1.4. 2.3.1 Dng lnh tng qut
Lnh l mt ch th cho my thc hin mt thao tc c th. Mt lnh trong Foxpro ni chung c
c php tng qut nh sau:
Lnh [phm vi] [FIELDS ] [FOR ] [WHILE ] [FROM
/ ARRAY ] [TO print/tn file/dsch bin]
Trong ,
Lnh: mt t kho, cho bit mc ch ca cng vic, phi vit u tin v c th vit 4 k t u
nu lnh c nhiu hn 4 k t.
V d: DISPLAY FIELDS HOTEN, HSLUONG
DISP FIEL HOTEN, HSLUONG
Phm vi (Scope): ch nh phm vi cc mu tin chu s tc ng ca lnh, phm vi c th l:
ALL: tt c cc mu tin trong file d liu u b tc ng ca lnh (nu c s
dng FOR th phm vi c hiu l ALL).
NEXT : n mu tin tip theo tnh t mu tin hin thi b tc ng ca lnh.
RECORD Lnh ch tc ng n mu tin th n
REST Lnh s tc ng t mu tin hin thi cho n ht.
FIELDS : lnh ch c tc dng trn nhng trng c tn c nu trong .
FOR : mu tin no tho mn mi b tc ng bi lnh.
WHILE : chng no cn ng th lnh cn hiu lc. Ngha l, lnh s tc ng
ln cc bn ghi tho mn biu thc logic i km (c gi tr l .T.) cho n khi gp mt bn ghi
khng tho mn biu thc logic (c gi tr .F.) hoc n ht file d liu. Nu iu kin sai th
lnh c dng ngay. Trong lnh nu va c FOR va c WHILE th mnh WHILE u tin
thc hin trc.
FROM : tn ca file m t lnh ly s liu s dng cho file DBF ang m.
TO PRINT/tn file/dsch bin: chuyn kt qu sau khi thc hin lnh n my in/file/bin.
Cc mnh theo sau lnh c mt hay khng tu trng hp v khng cn phi vit theo th t
nh nu.
1.5. 2.3.2 To bng d liu
C php: Create hoc
Chn File/New/
V d: create nhanvien && to bng nhanvien
Lc ny, mn hnh s xut hin hp thoi ta to cu trc bng
Chn thm trng
Xa trng
Trong : Name: Tn trng
Type: Kiu trng
Width: rng ca trng
Decimal: S ch s l sau phn du chm thp phn, phn ny ch s
dng cho d liu kiu s.
Ch : - Cc tn trng khng c trng nhau, khng c trng vi t kho.
- i vi d liu kiu s nu c phn thp phn th rng ca phn thp phn phi nh
hn rng ca trng t nht l 2 n v.
kt thc vic nhp cu trc ta n ng thi phm
Ctrl+W, lc ny s nhn c hp thoi
Lc ny: tr li th s quay li ca s lnh, tr
li tin hnh nhp cc bn ghi. Khi chn Yes s tip tc xut hin hp thoi nhp
d liu.
Khi kt thc vic nhp d liu, nhn t hp lu file d liu ln a. Khi file d
liu s c dng .DBF
Ch : nhp d liu cho trng MEMO, ta a con tr n hp memo ri nhn t hp phm
Ctrl_PgUp, lc s xut hin ca s nhp d liu cho trng ny. Sau khi kt thc vic nhp
d liu cho n, ta n t hp Ctrl+W ghi li.
1.6. 2.3.3 nh v con tr n mt bn ghi
a. nh v tuyt i
C php: GO |[TOP]|[BOTTOM]
Tc dng: Dng chuyn con tr bn ghi n bn ghi c s hiu c chi nh trong cu
lnh.
+ GO TOP: Dng chuyn con tr bn ghi v u file d liu.
+ GO BOTTOM: Dng chuyn con tr bn ghi v cui file d liu.
b.nh v tng i
C php: Skip [+|-] []
Tc dng: Di chuyn con tr bn ghi v trc (-) hay sau (+) so vi bn ghi hin thi.
Ch : Khi ch g lnh Skip th con tr bn ghi s c di chuyn v sau bn ghi hin thi
mt n v.
1.7. 2.3.4 Ly d liu t bng
a. Lnh Display
C php: display [] [fields]
[For] [While] [on|off]
Tc dng: Hin th ni dung ca cc bn ghi trong c ch nh v tho mn iu
kin ca cc biu thc logic i sau FOR v WHILE nu c.
Theo mc nh th tt c cc trng trong bng d liu s c hin th, nu c [field] th nhng trng c ch ra trong danh sch ny mi c hin th ln mn
hnh. mc nh l bn ghi hin thi.
V d: 1. Hin th tt c cc bn ghi ca bng d liu nhanvien:
Use nhanvien
Display all
2. Hin th tt c nhng ngi c nm lm vic (namlv) trc 1980
Display for namlv
C php: List [] [fields] [For] [While] [on|off]
Tc dng: Hin th ni dung ca cc bn ghi nh lnh Display nhng mc nh ca lnh ny l
ALL
V d:1. Hin th tt c cc bn ghi ca bng d liu nhanvien:
Use nhanvien
List
2. Hin th tt c nhng ngi c nm lm vic (namlv) trc 1980
List for namlv
V d: chn mt bn ghi vo sau bn ghi th 3:
Go 3
Insert
b. B sung bn ghi
C php: APPEND [BLANK]
Tc dng: chn 1 bn ghi vo cui bng d liu (gi tr c nhp vo), nu c tham s
[BLANK] th s b sung mt bn ghi trng.
2.3.6 Sa cha ni dung bn ghi
a. Lnh BROWSE:
C PHP: BROWSE [FIELD] [FREEZE][NODELETE]
[NOEDIT] [FOR]
TC DNG: HIN TH NI DUNG CA BNG D LIU, MI BN GHI C TH HIN
TRONG MT HNG (DNG), TA C TH XEM V DI CHUYN HP SNG T
TRNG NY QUA TRNG KHC, BN GHI NY SANG BN GHI KHC V C
TH SA I NI DUNG CA TNG MU TIN TRONG BN GHI.
V D:
USE NHANVIEN
BROWSE
[FIELD]: CHO PHP CC TRNG TRONG DANH SCH
NY C HIN TH TRN MN HNH, NU KHNG C THAM S NY TH TT
C CC TRNG TRONG BNG D LIU S C HIN TH.
[FREEZE]: CHO PHP CC TRNG TRONG DANH
SCH NY LUN C HIN TH TRN MN HNH.
[NODELETE]: KHNG CHO PHP XO
[NOEDIT]: KHNG CHO PHP SA I.
V D: HIN TH NI DUNG CA CC TRNG HOTEN, NAMLV TIN HNH
SA I.
BROWSE FIELD HOTEN,NAMLV FREEZE NAMLV
[FOR]: CH CHO PHP NHNG BIU THC THO MN IU
KIN CA BIU THC LOGIC MI C HIN TH.
b. Lnh Edit
C PHP: EDIT [] [FIELD][
NOAPPEND][NODELETE] [NOEDIT]
[FOR] [WHILE]
TC DNG: TNG T NH LNH BROWSE NHNG CC BN GHI C XUT
HIN NH LNH APPEND.
c. Lnh REPLACE
C PHP: REPLACE []WITH[ADDITIVE]
[, WITH [ADDITIVE]...][FOR]
[WHILE]
TC DNG: DNG THAY TH NI DUNG CC TRNG C CH RA CA CC
BN GHI NM TRONG V THA MN IU KIN CA I SAU FOR HOC WHILE BI CC BIU THC TNG NG. PHM VI
MC NH L BN GHI HIN THI.
CH : KIU D LIU CA V CA TNG NG PHI
TNG NG NHAU, NU KHNG TH FOX S THNG BO LI KIU D LIU
"DATA TYPE MISMATCH".
V D: 1. THAY TH H TN CA NHN VIN TRONG FILE NHANVIEN BNG CH
IN
REPLACE ALL HOTEN WITH UPPER(HOTEN)
2. NNG LNG CA NHNG NHN VIN N LNH THM 50000 NG
REPLACE LUONG WITH LUONG+50000 FOR !GIOITINH
1.9. 2.3.7 Xo bn ghi
VIC XO MT BN GHI TRONG BNG D LIU C THC HIN THEO HAI
BC:
BC 1: NH DU BN GHI MUN XO:
C PHP: DELETE [] [FOR] [WHILE]
TC DNG: LNH NY NH DU TT C CC BN GHI THO MN IU KIN
C NU, MC NH L BN GHI HIN THI.
KHI THC HIN LNH NY CC BN GHI C CH NH NH DU XO S
XUT HIN DU * TRC CC BN GHI. LC NY TA C TH PHC HI LI
CC BN GHI C.
V D: NH DU XO NHNG NHN VIN C NM LM VIC TRC 1951.
DELETE FOR NAMLV
C PHP: RECALL [] [FOR] [WHILE]
TC DNG: PHC HI LI CC BN GHI M TRC C NH DU
XO BI LNH DELETE. PHM VI MC NH CA LNH NY L BN GHI HIN
THI.
C. LNH XA D LIU TRN FILE DBF.
C PHP: ZAP
TC DNG: XA TT C CC BN GHI TRONG MT FILE DBF ANG M.
1.10. 2.3.8 Lc d liu
HN CH S LNG CC BN GHI THAM GIA VO QU TRNH X L, TA C
TH LC CC BN GHI TRONG BNG D LIU THO MN IU KIN CHO
TRC.
C PHP: SET FILTER TO
SAU KHI THC HIN LNH LC TH CC LNH TIP THEO SAU LNH NY CH
C TC DNG I VI CC BN GHI THO MN IU KIN LC.
MUN HU B VIC LC D LIU TA THC HIN LNH: SET FILTER TO
V D:
1. CH HIN TH NHNG NHN VIN N:
SET FILTER TO !GIOITINH
LIST
.....
2. CH XT NHNG NHN VIN C QU QUN L HU
SET FILTER TO QUEQUAN=="HUE"
LIST
.........
1.11. 2.3.9 THAO TC VI CU TRC BNG:
a. Xem cu trc bng (List|Display structure)
C PHP: LIST | DISPLAY STRUCTURE
TC DNG: HIN TH CU TRC CA BNG D LIU ANG C M, BAO GM:
TN TRNG, KIU V RNG CA TRNG.
V D:
USE NHANVIEN
LIST STRUCTURE
b. Sa i cu trc bng d liu
C PHP: MODIFY STRUCTURE
TC DNG: HIN TH V CHO PHP SA I CU TRC BNG D LIU, KT
THC LNH NY NHN T HP PHM CTRL+W.
V D: USE NHANVIEN
MODIFY STRUCTURE
c. Sao lu cu trc bng d liu
C PHP: COPY STRUCTURE TO [FIELDS]
TC DNG: SAO CHP CU TRC CA BNG D LIU ANG C M SANG
MT BNG MI C TN C CH RA TRONG VI CC
TRNG C CH RA TRONG MC [FIELD]. MC NH
CA LNH NY L TT C CC TRNG C TRONG BNG D LIU ANG C
M.
V D: SAO LU CU TRC CA NHANVIEN THNH FILE C TN L LUU.DBF
NHNG CH GM CC TRNG: HOTE, GIOITINH, NMLV.
USE NHANVIEN
COPY STRUCTURE TO LUU FIELDS HOTEN, GIOITINH, NAMLV
CH : BNG MI C TO RA CH C CU TRC, KHNG C NI DUNG.
1.12. 2.3.10 Sao chp bng
C PHP: COPY TO [] [FIELDS ] [FOR] [WHILE]
TC DNG: LNH DNG TO BNG MI C TN C CH RA VI NI DUNG C LY T BNG D LIU ANG C M. MC NH
LNH NY L TT C CC BN GHI U C SAO CHP, NU C PHM VI V
CC BIU THC LOGIC TH NHNG BN GHI THO MN IU KIN MI WOCJ
SAO CHP. DANG SCH TRNG CH NH CC TRNG C SAO CHP.
V D: TO BNG D LIU C TN L NU.DBF T FILE NHANVIEN.DBF GM CC
TRNG HOTEN, NGAYSINH, NAMLV.
USE NHANVIEN
COPY TO NU FIELDS HOTEN, NGAYSINH, NAMLV FOR !GIOITINH
USE NU &&M XEM KT QU
LIST
1.13. 2.4. MT S HM THNG DNG
2.4.1. Cc hm v ngy thng
A. HM DATE(): CHO NGY, THNG, NM HIN TI CA H THNG. TH T
NGY, THNG, NM CA LNH NY PH THUC VO LNH SET DATE.
V D:
NU TA THC HIN LNH: SET DATE FRENCH
RI THC HIN LNH DATE() TH NGY HIN HNH CA H THNG S C
HIN RA THEO TH T L NGY, THNG, NM.
B. HM YEAR(): CHO NM (C 4 CH S) CA .
V D: YEAR(DATE()) CHO NM HIN TI CA NGY H THNG.
C. HM MONTH(): CHO THNG HIN TI CA BIU THC NGY
V D: MONTH(DATE()) CHO THNG CA NGY H THNG.
D. HM DAY(): CHO NGY CA BIU THC NGY.
V D: DAY(DATE()) CHO NGY HIN TI.
2.4.2. Cc hm v chui
A. HM LEN(): CHO CHIU DI CA BIU THC, TNH BNG BYTE CA
, CHUI RNG C CHIU DI L 1.
B. HM LEFT(, ): TRCH RA MT CHUI T GM
K T TNH T BN TRI SANG.
V D: ?LEFT("NGUYEN VAN AN", 6) CHO KT QU L "NGUYEN".
C. HM RIGHT(, ): TRCH RA MT CHUI T GM
K T TNH T BN PHI SANG.
D. HM SUBSTR (, , ):TRCH RA MT CHUI CON CA
T V TR V GM ) K T.
V D: ? SUBSTR ("NGUYEN VAN AN", 8, 3" KT QU CHO CHUI "VAN".
E. HM ALLTRIM (): CHO KT QU L MT CHUI SAU KHI LOI B
CC K T TRNG HAI BN (NU C) CA.
V D: ?ALLTRIM("NGUYEN VAN AN ") "NGUYEN VAN AN"
F. HM UPPER(): CHO KT QU L CHUI IN HOA CA .
V D: ?UPPER ("NGUYEN VAN AN") "NGUYEN VAN AN"
G. HM LOWER : NGC LI CA HM UPPER.
2.4.3. Cc hm s hc
A. ASB(X): CHO GI TR TUYT I CA X.
B. INT(X): CHO PHN NGUYN CA X.
C. ROUND(X,): LM TRN X VI N S L.
E. SIN(X): CHO GI TR SIN X
F. COS (X): CHO GI TR COS X.
Bi thc hnh chng 2
1. To tp tin DBF.
Dng lnh Create t ca s lnh to cu trc cho tp tin HSNV.DBF nh sau: (Ch to cu trc, khng nhp d liu).
2. Field Name Field Type Width Dec Phn ghi ch
MASONV
HOLOT
TEN
PHAI
DIACHI
NGSINH
TDVH
M_LUONG
NGAYLL
Character
Character
Character
Logic
Character
Date
Numeric
Numeric
Date
5
20
7
1
30
8
2
3
8
M s nhn vin
H lt
Tn
Phi (Nam, N)
a ch
Ngy sinh
Trnh vn ho
Mc lng
Ngy ln lng
Ghi ch: Trnh vn ho c nh gi qua cc m sau:
0: M ch, 1-12: Ph thng, 13: i hc, 14, Cao hc, 15: Tin s
b. Cho bit cng dng ca phm F5 v F6
c. Thm vo tp tin va to ra hai trng mi.
3. Field Name Field Type Width Dec Phn ghi ch
MADV
HOHANG
Character
Memo
2
10
M n v
H hng
d. trng PHAI sa li tn l NU c kiu Logic.
e. Nhp s liu 10 nhn vin vo tp tin HSNV.BDF ny.
Ghi ch: nhp d liu vo vng HOHANG (kiu Memo) dng phm Ctrl_Home v kt thc bng Ctrl_W.
2. Dng menu h thng to cu trc tp tin HOCVIEN.DBF sau y:
4. Field Name Field Type Width Dec Phn ghi ch
MASONV
HO
TEN
NAM
NGSINH
NOISINH
DIACHI
MALOP
MAGV
DIEMLT
DIEMTH
UUTIEN
GHICHU
Character
Character
Character
Logic
Date
Character
Character
Character
Character
Numeric
Numeric
Logic
Date
4
20
7
1
8
2
20
4
3
5
5
1
10
5
2
2
M s nhn vin
H lt
Tn
Nam: .T., N: .F.
Ngy sinh
Ni sinh
a ch
M lp
M gio vin
im l thuyt
im thc hnh
u tin
Ghi ch
Nhp s liu 10 hc vin u tin
b. Dng lnh DIR ca s lnh xem tp tin c trn a hay khng, s mu tin va nhp v dung lng a cn trng?
c. G lnh: Use ng tp tin HOCVIEN.DBF ri thot khi FoxPro.
Cp nht d liu
1. M tp tin HOCVIEN.DBF
- Dng lnh LIST hay DISPLAY ALL xem ni dung cc mu tin ca tp tin HOCVIEN.DBF v ch xem cc vng tin MAHV, HO, TEN, NAM, MALOP, MAGV, DIEMLT, DIEMTH, nu c sai st hy iu chnh cho ng.
2. G lnh SET STATUS ON xem thanh trng thi.
- Nu thanh trng thi b che khut bi ca s lnh th n Ctrl_F7 di chuyn ca s n v tr khc.
- Nu bng m di ca s lnh che lp thanh trng thi th g SET SHADOW OFF tt i.
3. Dng lnh APPEND thm hai mu tin mi ri n Ctrl_W ghi li.
4. Dng hm RECNO() cho bit s hiu ca mu tin hin hnh di con tr n u tp tin.
5. S dng lnh EDIT sa ni dung cc mu tin tu thch ca bn, sa xong n Ctrl_W ghi li.
6. G lnh: BROWSE. Quan st mn hnh ri th cc ng tc sau:
a. a vt sng n mu tin th nht ti vng ghi ch, ri n Ctrl_Home xem phn ghi ch c nhng ni dung g? G thm mt ghi ch tu ri n Ctrl_W ghi li.
b. n Alt+B gi MENU ca BROWSE, sau gi APPEND, nhp thm 1 mu tin ri n Ctrl_W ghi li.
c. G li lnh BROWSE ln na, n Ctrl_N, FoxPro s thm mu tin trng cui, nhp s liu cho mu tin ny.
d. a vt sng n vng DIEMLT, n Alt+B gi MENU ph, sau chn Move ri chuyn vt sng n vng DIEMTH, n Enter. Kt qu hai ct DIEMLT v DIEMTH s c chuyn cho nhau.
e. a vt sng n vng NOISINH, n Alt+B gi menu SIZE, dng mi tn tri thu hp ct ny cn 10 Bytes thi, sau g: Vnh li-Hu vo mu tin th t.
7. G lnh DELETE ALL FOR DIEMTH < 7 ri xem c bao nhiu mu tin b nh du xo?
8. G lnh BROWSE quan st, sau a vt sng n mt mu tin b nh du xo ri n Ctrl_T xem du xo c cn hay khng, n li Ctrl_T ln na xem iu g xy ra, sau n Ctrl_W thot ra.
9. G lnh RECALL ALL phc hi cc mu tin b nh du xo ri ng tp tin HOCVIEN.DBF li.
10. M tp tin HSNV.DBF
a. Dng lnh REPLACE tng lng gp i cho tt c nhn vin, sau tng thm ring cho cc n nhn vin 10% na.
b. Thm vo cu trc tin HSNV.DBF mt trng LOAIBC (loi bin ch: BC/HD) v dng BROWSE nhp d liu cho vng tin ny, n Ctrl_B thot khi BROWSE.
c. G lnh DISPLAY STRUCTURE (hay F5) xem li cu trc.
d. nh du xo cc nhn vin m ch v trnh ph thng cho lit k trn mn hnh nhng mu tin khng b nh du xo.
e. Nhp thm hai mu tin vo gia tp tin HSNV.DBF.
- Mt mu tin sau mu tin c STT=5
- Mt mu tin trc mu tin c STT=3
f. G lnh RECALL ALL phc hi cc mu tin b nh du xo.
g. Lit k danh sch cc nhn vin theo dng.
MNV HOLOT TEN NU NGSINH HSL TDVH
h. Lit k theo ng cu g nhng nhn vin nam.
i. Lit k theo dng cu g nhng nhn vin nam t 18 n 30 tui.
j. Lit k theo dng cu g nhng nhn vin n c trnh i hc.
k. Lit k theo dng cu g nhng nhn vin c tn bt u bng vn H
l. G lnh Use ng tp tin HXNV.DBF ri thot khi FoxPro.
5. CHNG 3: SP XP-TM KIM-THNG K
5.1. 3.1. SP XP
3.1.1. Khi nim
Trong mt bng d liu, chng ta c th sp xp cc mu tin theo mt tiu chun no tu theo yu cu ca vic khai thc thng tin.
3.1.2. Sp xp theo ch mc
a. Khi nim v ch mc
Ta bit mi bng d liu cha cc bn ghi v mi bn ghi u c nh s hiu theo
s th t t 1 n n.
V d: bng NHANVIEN.DBF c dang sau:
Record# HOTEN NGAYSINH GIOITINH NAMLV
1
2
3
4
NGUYN VN A
L th nhn
Nguyn An
Trn Hnh
02/10/75
05/23/75
10/26/80
09/25/70
.T.
.F.
.T.
.T.
1985
1980
1982
1981
Khi x l thng tin trong bng d liu, ta truy xut chng theo trt t ca s hiu
bn ghi.
V d: use NHANVIEN
list
Kt qu in ra s nh sau:
Record# HOTEN NGAYSINH GIOITINH NAMLV
1
2
3
4
NGUYN VN A
L th nhn
Nguyn An
Trn Hnh
02/10/75
05/23/75
10/26/80
09/25/70
.T.
.F.
.T.
.T.
1985
1980
1982
1981
S hiu cc bn ghi
Sp xp bng d liu theo ch mc l to ra mt file mi (c phn m rng mc nh l
.IDX) ch c hai trng: trng kho sp xp v trng s hiu bn ghi. Th t ca bn ghi
y l th t sp xp.
V d: file ch mc ca bng nhanvien theo th t tng dn ca nm lm vic nh sau:
Namlv Record#
1980
1981
1982
1985
2
4
3
1
Lc ny, khi truy xut d liu ca bng, th t ca cc bn ghi l th t c quy nh
trong file ch mc ny.
V d: Trong bng nhanvien, s dng ch mc theo trng namlv.idx ta c th t truy xut:
Record# Hoten ngaysinh gioitinh namlv
2 L th nhn 05/23/75 .F. 1980
4 Trn Hnh 09/25/70 .T. 1981
3 Nguyn An 10/26/80 .T. 1982
1 Nguyn vn A 02/10/75 .T. 1985
b. Lp ch mc IDX cho bng d liu
C php: INDEX ON TO
[FOR] [UNIQUE]
Tc dng: Lnh sp xp file d liu theo chiu tng dn ca ca cc bn
ghi tho mn sau FOR, mc nh l tt c cc bn ghi. Nu c t kho
[UNIQUE] th cc bn ghi no c trng nhau s b b qua trn file ch mc.
V d 1: Hin th theo th t tng dn ca namlv ca cc nhn vin.
use NHANVIEN
index on NAMLV to CMNAMLV
list
file ch mc theo namlv
V d 2: Hin th theo th t tng dn ca hoten
index on HOTEN to CMHOTEN
list
Ch : Lnh lun sp xp theo th t tng dn ca , do vy khi la chn
th phi chn cho ph hp.
V d 1: Hin th theo th t gim dn ca namlv ca cc nhn vin.
use NHANVIEN
index on -NAMLV to CMNAMLVG
list
V d 2: Hin th theo th t gim dn ca ngaysinh.
use NHANVIEN
index on date()-NGAYSINH to CMNSINHG
list
c. Mt s lnh lin quan
+ SET INDEX TO : Dng m file ch mc sau khi m mt bng d
liu.
+ SET INDEX TO: Dng ng file ch mc.
+ REINDEX: Dng cp nht li file ch mc sau khi c s sa i trn bng
d liu.
5.2. 3.2. TM KIM
3.2.1. Tm kim tun t
a. Lnh Locate:
C php:
LOCATE [] FOR [WHILE]
Tc dng: Lnh s duyt tun t cc bn ghi trong bng d liu v tm n bn ghi u
tin trong tho mn iu kin ca . Nu tm c, hm FOUND() s
cho gi tr .T., hm EOF() c gi tr .F.
V d: Tm nhn vin u tin trong bng d liu sinh nm 1970 trong bng nhanvien
use NHANVIEN
Locate for year(NGAYSINH) = 1970
Display
b. Lnh continue
C php : CONTINUE
Chc nng : Theo sau lnh LOCATE, dng tm bng ghi k tip sau tha mn iu
kin nu.
V d : Tm 2 nhn vin u tin sinh nm 1970
use NHANVIEN
locate for year ( NGAY SINH) = 1970
display
continue
display
3.2.2. Tm kim sau khi lp ch mc
C php : SEEK
Chc nng : sau khi lp ch mc theo tm bn ghi no tha mn mt
iu kin da vo
Ta s dng lnh SEEK theo sau l ca biu iu kin cn tm. nu tm thy th
hm FOUND() c gi tr .T. v hm EOF () c gi tr .F.
V d: 1. Sp xp theo th t tng dn ca H Tn, tm nhn vin c tn Nguyen Van
AN.
use NHANVIEN
index on upper(HOTEN) to CMHOTEN
seek Nguyen Van An
disp
2. Sp xp theo th t gim dn ca NAMLV, tm nhn vin c nm lm vic 1981.
use NHANVIEN
index on - NAMLV to CMNAMLVG
list
seek -1981
disp
3.3. THNG K
3.3.1. m s lng bn ghi
C php
COUNT [][FOR] [WHILE] [TO]
Chc nng :lnh dng m s mu tin trong bng d liu hin hnh tha mn iu kin cc
nm trong phm vi c ch ra. Kt qu c a ra mn hnh hay a vo
nu c TO.
V d: Cho bit c bao nhiu nhn vin c NAMLV l 1980
use NHANVIEN
count for NAMLV = 1980 to songuoi
? c songuoi: , songuoi, lm vic nm 1980
3.3.2. Tnh tng gi tr cc trng kiu s
C php: SUM [] [] [TO ]
[FOR ] [WHILE ]
Chc nng : Lnh s ly tng theo cc biu thc c xy dng da trn cc trng kiu
s, ca cc bn ghi trong bng d liu; nm trong v tha mn iu kin ca cc
. Nu khng c th cc trng kiu s u c ly tng.
Mc nh, kt qu c a ra mn hnh; nu c TO th kt qu ca cc s c a vo cc tng ng.
Ch : Phi tng ng 1-1 gia v .
V d: Da vo bng NHANVIEN, cho bit tng LUONG phi tr v tng PHUCAP l
bao nhiu.
use NHANVIEN
sum LUONG, PHUCAP to tongluong, tongpc
? tong luong la: , tong luong
? tong phu cap la: , tongpc
3.3.3. Tnh trung bnh cng cc trng kiu s
C php: AVERAGE [] [] [TO ] [FOR ]
[WHILE ]
Chc nng : ging nh lnh SUM trn nhng sau khi ly tng, lnh s ly gi tr
em chia cho tng s bn ghi tham gia vo cu lnh.
V d: da vo bng NHANVIEN, cho bit trung bnh mi nhn vin nhn c bao
nhiu LUONG, PHU CAP.
use NHANVIEN
average LUONG, PHUCAP to tbluong, tbphucap
? trung binh luong: , tbluong
? trung bnh phu cap: , tbphucap
3.3.4. Tnh tng cc trng s theo nhm
C PHP: TOTAL ON TO []
[FIELD ][FOR ][WHILE < bi thc L>]
Chc nng: Lnh s cng dn cc trng kiu s theo tng nhm bn ghi c ging nhau v a vo bng mi c tn c ch ra . Mc nh th tt
c cc trng kiu s u c cng dn, nu c FIELDS th ch c cc
trng lit k mi c cng. Lnh ch tc ng n cc bn ghi nm trong (phm vi) v tho
mn iu kin i sau cc mnh FOR, WHILE.
Ch : Trc khi dng lnh ny, bng d liu phi nh sp xp theo kho.
V d: Da vo bng VATTV, hy thng k xem mi mt hng xut hay nhp mt s
lng l bao nhiu.
use VATTV
index on MAXN + MAVT to CMTK
total on MAXN + MAVT to THONGKE fields SOLUONG
use THONGKE
? chi tiet la :
list MAXN, MAVT, SOLUONG, DONGIA
Gi s bng VATTU sau khi sp xp l:
MAXN SOCT MAVTU SOLUONG DONGIA
N 9 A01 145 5
N 4 A01 203 500
N 1 F01 123 200
N 2 F01 345 200
N 10 F01 654 180
Kt qu ca bng THONGKE.DBF l:
MAXN SOCT MAVTU SOLUONG DONGIA
N 9 A01 348 500
N 1 F01 469 200
N 10 F01 654 180
6. CHNG 4: LP TRNH TRN VISUAL FOXRO
6.1. 4.1. CHNG TRNH
4.1.1 Khi nim
L mt dy lnh lin tip c t chc vo 1 file chng trnh, file chng trnh mc
nh c phn m rng l *. PRG.
Trong mt chng trnh, mi lnh c vit trn mt hng v mi hng ch cha mt lnh ti
mt ct bt k.
4.1.2. Son tho chng trnh
son tho chng trnh, t ca s lnh a vo lnh;
MODIFY COMAND < tn file chng trnh >
Lc ny xut hin ca s chng trnh ta c th a cc lnh vo cho n.
Mt chng trnh foxpro thng c 3 phn.
a) To mi trng lm vic : thng cha cc lnh sau:
SET DATE FRENCH: t ngy thng nm theo dng DD-MM-YY
SET CURENCY ON : t nm c 4 ch s
SET TALK OFF/ON : n hin cc kt qu thc hin lnh
SET DEFAULT TO : t ng dn hin thi
CLEAR: xo mn hnh hin th kt qu
CLOSE ALL: ng cc bng d liu, cc file c s d liu,...
b) Phn thn chng trnh:
Thc hin cc cng vic m chng trnh yu cu nh :
+ Cp nhp d liu
+ x l, tnh ton
+ Kt xut thng tin
c) Kt thc chng trnh
+ ng cc tp tin CSDL, cc bng d liu ang s dng
+ Gii phng bin nh
+ Tr li cc ch cho h thng.
d) Ch thch trong chng trnh
L cc gii thch c thm vo lm r cho chng trnh, phi c bt u bi du * hay
&&
* : Bt u mt dng
&& : Vit sau mt lnh
6.2. 4.2. BIN NH
4.2.1. Khai bo bin
a) Lnh gn =
C php: =
V d: a = 5
ngay = Date()
b) Lnh STORE
C php: STORE to
Cng dng: Gn gi tr cho ; nu cha tn ti n s khai bo,
nu c th thay th bi gi tr mi.
V d: STORE 0 To a, b, c
4.2.2. Nhp gi tr cho bin t bn phm
a) Lnh ACCEPT
C php ACCEPT to
Chc nng : Dng nhp mt chui t bn phm, kt thc bi phm , gi tr nhn c
s a cho .
V d:
ACCEPT nhap ho ten to bhoten
? Ho ten vua nhap', bhoten
l mt cu nhc nh ngi s dng.
b. Lnh INPUT
C php: INPUT to
Tc dng: Tng t lnh trn nhng c th nhn d liu theo tng kiu:
Kiu Charater: Phi c t trong cp du ' ... ' hay "... ".
Kiu Numberic: Nhp d liu kiu s.
Kiu Date: Phi c trong du {}.
Kiu Logic: Nhp gi tr .T. hay .F.
V d:
INPUT 'Nhap ngay sinh' TO bngaysinh
INPUT 'Nhap diem" TO bdiem
Ch : Trong hai lnh trn, nu bin cha c th n s t khai bo, nu c th n s
thay gi tr ca bin bi gi tr va nhp.
4.3. CC CU TRUC IU KHIN CHNG TRNH
4.3.1. Cu trc tun t
Bthc L .F.
Cc lnh
.T.
Quy c: Chng trnh c thc hin t trn xung di.
4.3.2. Cu trc r nhnh
Cn gi l cu trc chn la. Cu trc r nhnh c hai
dng: dng khuyt v dng y :
a. Dng khuyt:
C php:
IF
ENDIF
Tc dng: Khi gp cu trc ny, s c tnh, nu c gi tr .T. th s c thc hin, ngc li thc hin cc lnh tip theo sau.
V d: Vit chng trnh nhp vo hai s, cho bit s ln nht
set talk off
clear
Input :Nhap so thu nhat' to so1
Input :Nhap so thu hai' to so2
max=so1
If max < so2
max=so2
Endif
? "So lon nhat la:', max
set talk on
return
b. Dng y :
Bthc L .F. .T.
Cc lnh
Cc lnh
C php:
IF
ELSE
ENDIF
Tc dng: Khi gp cu trc ny, s c tnh. Nu c gi tr .T. th s c thc hin, ngc li (c gi tr .F.) th s thc hin . Sau tip tc thc
hin cc lnh tip theo trong chng trnh.
V d: Da vo bng nhanvien, hy nhp vo mt h tn nhn vin, tm xem c ng l
nhn vin ca cng ty hay khng, nu ng th thng bo nm sinh v nm lm vic, ngc li
th thng bo l khng phi nhn vin ca cng ty.
set talk off
clear close all
use NHANVIEN
accept 'nhap ho ten nhan vien:' to bhoten
locate for HOTEN =bhoten
if found()
? ' ngay sinh l:', ngaysinh'
?'nam lam viec:', namlv
else
?'khong phai la nhan vien cua cong ty'
endif
set talk on
return
4.3.2.1. La chn mt trong nhiu trng hp
C php
DO CASE
CASE
CASE
......................
CASE
[OTHERWISE
]
ENDCASE
Tc dng: Khi gp cu trc DO CASE, cc iu kin s c tnh. Nu
iu kin no c gi tr .T. th nhm lnh tng ng s c thc hin v kt thc
cu trc ny, ri tip tc thc hin cc lnh sau ENDCASE. Trong trng hp khng c no t 1 n n c gi tr .T. th (nu c) s c thc hin.
V d: Vit chng trnh nhp vo mt nm (c 4 ch s), sau nhp thm mt thng,
cho bit thng ny c bao nhiu ngy.
set takl off
clear
input 'nhap vao mot nam' to bnam
input 'nhap vao mot thang' to bthang
do case
case bthang=4 or bthang = 6 or bthang = 9 or bthang=11
songay=30
case bthang=12
if (mod(bnam, 4)=0 and (mod(bnam, 100)0)
songay=29
else
songay=28
endif
otherwise
songay=31
endcase
? 'thang', bthang, 'nam', bnam, 'co', so ngay, 'ngay'
set talk on
return
4.3.3. Cu trc lp
4.3.3.1. Cu trc DO WHILE
C php:
DO WHILE
[LOOP]
[EXIT]
ENDDO
Tc dng: Khi gp cu trc ny th s c tnh, nu c gi tr .F. th s dng
v thc hin cc lnh sau ENDDO. Nu c gi tr .T. th cc lnh trong thn vng lp s c
thc hin v li quay v kim tra iu kin trong v c th tip tc.
[LOOP]: Khi gp lnh ny, Foxpro s quay v kim tra iu kin logic m b qua cc
lnh pha sau [LOOP].
[EXIT]: Khi gp lnh ny th s thot ra khi chng trnh.
V d: Cho bit dang schh tn ca cc nhn vin trong cng ty.
set takl off
clear
close all
use NHANVIEN
? 'danh sach ho ten hoc vien la:'
do while !eof()
?HOTEN
skip
enddo
set talk on
return
Ch : Khi s dng cu trc ny, cc lnh trong thn vng lp phi thay i c gi tr
ca m bo tnh kt thc.
V d: Nhp vo mt nm, hy thng bo danh sch h tn, ngy sinh ca nhng nhn
vin lm vic trong nm , nu khng c th thng bo l khng c.
set takl off
set date french
clear
close all
use NHANVIEN
input 'nhap nam lam viec" to bnam
set filter to NAMLV = bnam
count to dem
if dem = 0
? ' khong co nhan vien nao'
else
go top
? 'danh sach nhan vien lam viec nm', bnam
? "HO TEN NGAY SINH'
do while !eof()
?HOTEN, NGAYSINH
skip
enddo
endif
set filter to
set talk on
return
4.3.3.2. Cu trc SCAN
C php
SCAN [] [FOR] [WHILE]
[LOOP]
[EXIT]
END SCAN
Tc dng: Dng duyt ln lt cc bn ghi trong bng d liu hin hnh nm trong
c ch ra v tho mn iu kin ca cc sau FOR hoc WHILE. Tng
ng vi mt bn ghi tm c. s c thc hin.
Cu trc SCAN s dng khi no duyt n bn ghi cui cng ca bng d liu ang xt.
V d: Vit chng trnh nhp nm (bn ch s), hin th nhng n nhn vin sinh nm .
set takl off
set date french
clear
close all
use NHANVIEN
input 'nhap nam lam viec" to bnam
input 'nhap nam:' to bnam
? 'DANH SACH CAC NU NHAN VIEN, SINH NAM', bnam
scan for !GIOITINH and year(NGAYSINH)=bnam
?HOTEN, NGAYSINH
endscan
set talk on
return
-------------------------------------------------------------------
Bi thc hnh chng 4
7. Field Name Field Type Width Dec Phn ghi ch
MASV
HOLOT
TEN
Character
Character
Character
5
20
7
M s nhn vin
H lt
Tn
NGSINH
QUEQUAN
DOS
VRES
FOX
DTB
XEPLOAI
Date
Character
Numeric
Numeric
Numeric
Numeric
Character
8
20
2
2
2
4
4
2
Ngy sinh
Qu qun
im mn Dos
im VRER
im FoxPro
im trung bnh
Xp loi
Nhp vo 10 mu tin cho cc vng: MASV, HOLOT, TEM, NGSINH, QQUAN, DOS, VRES, FOR theo mu di y. Cc vng tin cn li s tnh sau:
MASV HOLOT TEN NGSINH QQUAN DOS VRES FOR
CK001
NT001
NT002
CK002
KT001
KT002
CK003
CK004
NT003
NT004
Le Van
Ho Thi
Tran Van
Le
Ng. Thi
Le Van
Vo
Ho Duc
Vo Thi
Le Van
Hung
Lan
Long
Tung
Hoa
Chau
Anh
Tuan
Lan
Huy
12-04-1972
10-05-1969
06-12-1968
05-06-1967
10-10-1967
05-04-1968
02-10-1969
10-02-1968
02-01-1969
05-06-1968
Da Nang
Hue
Da Lat
TP.HCM
TP.HCM
Da Nang
Hue
Da Nang
Hue
Da Nang
8
7
5
7
8
7
9
7
8
8
9
6
4
7
4
6
9
6
9
5
10
9
5
6
7
9
10
9
9
2
2. Dng lnh COPY FILE chp tp tin KETQUA1.DBF thnh KQ1.DBF. Sau c th dng lnh USE KQ1 m tp tin KQ1 khng? ti sao?
3. M tp tin KETQUA1.DBF
a. Tnh (im trung bnh), bit rng DOS c h s hai, VRES c h s 1, FOX c h s 3.
b. Xp loi, bit rng:
DTB>=9 : Xp loi GIOI
7
5
HD02 10-10-1998 N 12 13000000
HD02 01-01-1998 N 10 16000000
XD01 01-01-1998 X 30 1200000
2. Tp tin TONKHO98.DBF c cu trc nh sau:
9. Field Name Field Type Width Dec Phn ghi ch
MAVT
TONDAU
SLN
SLX
TONCUOI
Charater
Numeric
Numeric
Numeric
Numeric
5
10
10
10
10
M s vt t
Tn u k
S lng nhp
S lng xut
Tn cui k
Nhp vo cc mu tin sau:
MAVT TONDAU
TV01
TL01
ML01
BU01
QB01
MG01
ND01
HD02
HD02
XD01
12
30
50
40
50
55
100
50
45
100
3. To tp tin DMVTU.DBF c cu trc sau:
10. Field Name Field Type Width Dec
MAVT Charater 5
TENVT Charater 20
- Ly MAVT trong tp tin TONKH98.DBF thay th vo trng MAVT
- Nhp vo trng TENVT cc d liu sau:
MAVT NGAYNHAP
TV01 Tivi mau SHAP 14
TL01 Tu lanh TOSHIBA 1401
ML01 May lanh 1.5 HP
BU01 Ban ui Philip
QB01 Quat ban Hitachi
MG01 May giat SANYO 40
ND01 Noi com dien SANYO
HD02 Xe cub 86
XD01 Xe dap NHAT
4. Tnh gi tr trng THANHTIEN ca tp tin NHAPVT.DBF
5. Tnh tng s tin nhp ca mi loi vt t c ch ci u tin bn tri ging nhau.
6. Tnh SLN, SLX, TONCUOI, sau thi gian nhp xut trn.
7. To tp tin TONKHO99.DBF c cu trc ging nh TONKHO98.DBF. Ly TONCUOI ca tp tin TONKHO94.DBF b vo TONDAU ca TONKHO99.DBF
8. Lit k danh sch Nhp vt t gm cc mc sau:
MAVT TENVT NGAYNHAP MANX SL
9. Lit k danh sch TONKHO gm cc mc sau:
MAVT TENVT TONDAU TONCUOI
11. CHNG 5: FORMS
11.1. 5.1. KHI NIM V LP TRNH HNG !I T"NG:
Thit k v lp trnh hng i tng l mt s thay i i vi phong cch lp trnh c,
lp trnh hng th tc. y thay v ngh n cc chc nng ca chng trnh ta ch cn ngh
n cc i tng ang to: l cc thnh phn c lp ca mt ng dng ci chc nng ring
ca n. Mi mt i tung u c mt b thuc tnh m t i tng; cc phng thc l nhng
on trnh cha trong iu khin, cho iu khin bit cch thc thc hin mt on cng vic
no ; v tp hp nhng s kin l nhng phn ng ca i tng.
Trong Visual Foxpro, cc form v control l cc i tng c dng xy dng cc
ng dng
5.1.1. Thuc tnh ca i tng (Properties)
ch n mt thuc tnh ca i tng no ta dng c php sau:
.
V d: Myform.caption= Chng trnh ng dng
Cc thuc tnh thng dng:
- Left: V tr cnh tri ca i tng so vi vt cha n.
- Top: V tr trn ca i tng so vi vt cha n.
- Height: Chiu cao ca i tng.
- Width: Chiu rng ca i tng.
- Name: Tn ch i tng.
- Enable: Gi tr logic:
True: c quyn lm vic.
False: Khng c quyn lm vic.
- Visible: Gi tr logic:
True: Thy c i tng;
False: Khng thy c i tng.
5.1.2. Phng thc ca i tng (Methods)
gi n phng thc ca mt i tng, ta dng c php:
.
V d: Myform.show
Mt s phng thc thng dng:
- Refresh: Lm ti li i tng.
- Show: Hin i tng.
- Hide: n i tng.
- Release: Gii phng i tng.
- SetFocus: Thit lp tm ngm cho i tng.
5.1.3. S kin ca i tng
ch n s kin ca i tng, ta dng c php sau:
.
Mt s s kin thng dng:
- Click: c gi khi kch chut vo i tng.
- DbClick: c gi khi kch p chut vo i tng.
- MouseMove: c gi khi di chuyn chut trn b mt ca i tng.
- KeyPress: c gi khi nhn mt phm kch chut vo i tng.
- Got focus: c gi khi a i tng vo tm ngm.
- Lostfocus: c gi khi a i tng ra khi tm ngm
- Change: c gi khi c s thay i ni dung d liu kiu chui ca i tng.
11.2. 5.2. FORM
5.2.1. Gii thiu
Form c dng lm
giao din nhp, hin th thng
tin, n cung cp mt tp hp
cc i tng p li nhng
thao tc ca ngi dng lm
cho ng dng ra dng chuyn
nghip.
V d: Giao din ca mt Form nhp d liu
5.2.2. To form thng qua Wizard
T menu Tools, chn wizard, chn form, xut hin giao din wizard selection, ri thng
qua hng dn.
5.2.3. To form thng qua thit k
to form thng qua thit k, t
ca s lnh ta thc hin lnh sau:
CREATE FORM
Khi ta c mn hnh thit k
form nh sau:
a. Qun l form
Lu Form: T menu file,
chn save lu vo , mc nh phn m rng l scx.
Chy form: T ca s lnh, thc hin lnh sau:
DO FORM
ng form (gii phng khi b nh)
RELEASE
b. Tuy cp n cc i tng trn form
+ Mun ch n mt i tng no trn form, ta dng:
. : nu khng cng vi form ang thao tc.
.: nu i tng nm trn form ang thao tc.
+ Mun thay i gi tr cc thuc tnh trn form, ta dng:
.= : nu mun thay i
thuc tnh ca form khng phi l form hin hnh.
.=: nu mun thay i
cc thuc tnh ca form hin hnh.
c. Cc thuc tnh, phng thc, s kin thng dng
trn form.
Thuc tnh:
- BackColor: Mu nn
- BorderStyle: Dng ng vin
- Caption: Tiu ca form
- FillColor: Mu t i tng
- Fontname: Font ch cho cc i tng cha vn bn
- Fontsize: Knh thc fontname
- Moveable: Cho php di chuyn hay khng
.................
Tnh hung
- MoveMouse: p ng khi di chuyn chut trn b mt form
- Destroy: p ng khi gii phng form
- Load: p ng khi np form vo b nh
5.3. Thanh cng c Control Toolbar
Mun a i tng trn thanh Control vo form: 4 bc
- Kch chut vo i tng cn a
- V n trn form xc nh v tr
- Thit lp cc thuc tnh thch hp
- Vit m lnh cho cc tnh hung tng ng
Quy c t tn cho cc i tng
Loi i tng Tn
Form Bt u bi Frm
Command Bt u bi cmd
Edit box Bt u bi Edb
Grid Bt u bi Grd
Image Bt u bi Img
Label Bt u bi Lbl
Textbox Bt u bi Txt
Timer Bt u bi Tmr
5.3.2. Mt s i tng trn Controls
a. Label : Dng th hin cc chui trn form.
Cc thuc tnh thng dng:
- Caption: Chui th hin
- Autosize: Gi tr logic, cho php kch thc ca Label c t ng chnh sa theo
di ca caption hay khng.
b. Command Bottom: Dng th hin cc nt lnh trn form.
Cc thuc tnh thng dng:
- Caption: tn xut hin trn nt lnh
- Picture: Hnh xut hin trn nt lnh
- Enable: gi tr Logic, cho php chn nt lnh hay khng
Cc S kin thng dng:
- Click: Khi kch chut vo nt lnh th s kin ny c gi.
c. TextBox: Dng xem, chnh sa d liu t cc trng trong bng d liu khng phi
kiu memo.
Cc thuc tnh thng dng.
- ControlSource: Tn ca trng hay bin m gi tr ca n c hin trong
textbox
- Value: Gi tr hin thi ca textbox.
S kin thng dng:
- Change: Khi c s thay i ca thuc tnh value
- KeyPress: Khi c phm bt k c n.
d. Editbox: Tng t nh textbox, c dng chnh sa d liu t cc trng memo.
Cc thuc tnh thng dng.
- Control Source: Tn ca trng m gi tr ca n c th hin trong editbox.
- ScrollBars: C hin thanh cun trong khung editbox hay khng.
- ReadOnly: Cho php c c chnh sa ni dung hay khng
S kin thng dng:
- Change: Khi c s thay i ca thuc tnh value.
- Keypress: Khi c phm bt k c n.
e. Images: Dng a cc hnh nh trn form.
Cc thuc tnh thng dng.
- Picture: Xc nh file hnh nh
- Stretch: Xc nh cch thc th hin hnh nh (phng to, thu nh, nguyn mu).
f. Timer: Dng thit lp cc cng vic thc hin u n sau mt khong thi gian.
Cc thuc tnh thng dng.
- Enabled: Xc nh xem Timer c hiu lc hay khng
- Interval: Quy nh khong thi gian xc nh cho tnh hung timer.
S kin thng dng:
- Timer: c kch hot u n sau mt khong thi gian xc nh thuc tnh
Interval.
g. Grid: Dng th hin d liu theo dng bng.
Cc thuc tnh thng dng.
- Row Source: Xc nh bng d liu cn th hin.
- ColumnCount: Xc nh s ct ca Grid.
Ch :
Nu Row Source khng c ch ra th ly bng d liu hin hnh.
Nu Column count khng ch ra th mc nh l tt c cc trng trong bng
d liu (Column count=-1).
Control Source: c xc nh cho tng ct, dng khai bo ngun d liu
cho ct .
- Allow Addnew: Cho php thm cc bn ghi mi hay khng.
Ch :
Mun thay i cc thuc tnh trn Grid th chuyn Grid sang dng edit bng cch nhn phm
phi chut ln Rrid, chn Properties. Grid ang ch Edit c mt ng vin bao quanh.
12. 5.4. V d
Gi s c bng d liu vi cu trc:
MANV C 5
HOTEN C 30
Hy thit k form xem bng d liu trn.
Ta thit k form nh sau
13. Cc thuc tnh chnh :
14. + TxtMANV cc thuc tnh ControlSource l MANV
15. + TxtHOTEN cc thuc tnh ControlSource l HOTEN
16. M lnh ca cc i tng trn Form l:
+ FrmXem.load
use hoso
+ CmdDau.Click
go top
TxtMANV
TxtHOTEN
CmdDau
CmdTruoc
CmdSau CmdCuoi CmdThoat
FrmXem
thisform.refresh
+ CmdCuoi.Click
go bottom
thisform.refresh
+ CmdTruoc.Click
if not bof()
skip -1
endif
thisform.refresh
+ CmdSau.Click
if not eof()
skip
endif
thisform.refresh
+ CmdThoat.Click
use
thisform.release
17. CHNG 6 REPORTS
17.1. 6.1. KHI NIM
Reports l cng c trnh by v tm tt d liu trong mt vn bn khi in. Report c hai
thnh phn c bn cu thnh: d liu ngun, thng thng l cc bng d liu v hnh thc trnh
by l dng thc ca report s nh dng cch kt xut d liu.
Mn hnh thit k Report
17.2. 6.2. CC BC ( T)O REPORT
Ta c th thit k report th hin d liu nhiu dng thc khc nhau trn giy khi in.
Qu trnh thit k gm 4 bc chnh nh sau:
1. Xc nh loi Report cn to: Tc l quyt nh chn dng thc m report hin th kt
qu.
2. To Report layout: C th s dng report wizard hay report designer. Report layout
c lu trn a vi phn m rng ca file l FRX: Lu tr chi tit ca report.
3. Sa i layout ca report.
4. Xem v in report.
17.3. 6.3. T)O REPORT B+NG WIZARD.
T menu Tools, chn Wizard, chn Report sau lm theo cc bc hng dn.
Bc 1: Chn bng d liu v cc trng cn th hin
Bc 2: To nhm d liu kt xut
Bc 3: Chn kiu Report th hin
Bc 4: Chn cch trnh by trn giy in
Bc 5: Chn trng Sp xp
Bc 6: t ta , kt thc
17.4. 6.4. TO REPORT BNG REPORT DESIGNER
6.4.1. Qun l Report
To mi Report: CREATE REPORT
V d: create report THU
Lc ny mn hnh xut hin hp thoi report
M mt report sn c: MODIFY
Xem trc khi in: REPORT FORM PREVIEW
Xem trc khi in c iu kin:
REPORT FORM PREVIEW
In report: REPORT FORM TO PRINTER
6.4.2. Cc thnh phn trn Report
Title: Dng in trn mi report: T menu report, chn title summary
Page Header: in trn mi header ca mi trang in.
Column header: in tn header ca mi ct. chn, t menu file chn page setup,
chn gi tr cho column number ln hn 1.
Group header: Xut hin mi khi bt u nhm mi. chn, t menu report chn data
grouping.
Detail: phn chi tit trn mi record (ng vi tng record trn bng d liu).
Group footer: In phn Footer ca mi nhm. chn, t menu report chn data
grouping.
abl
Column footer: In phn Footer ca mi ct. chn, t menu file, chn page setup, chn
gi tr cho column nimber ln hn 1.
Page Footer: In phn Footer ca mi trang.
Sumary: Phn tm tt ca mi report.
6.4.3. Cc control trn Report
Thanh cng c Report Control
Chc nng ca cc control:
Field trong bng d liu, bin v cc biuthc ton Field
Text thun tu Label
ng k Line
Hp v ng khung Rectangle
Hnh trn, elip Rounded Rectangle
Hnh nh hoc field General Picture
6.4.4. a cc control vo report
Thc hin cc bc sau:
+ Chn control thch hp
+ Ko r chut trn report xc nh v tr ca n trn report
+ Hiu chnh cc control
a. a field vo report:
+ Kch chut vo
+ Trong hp report Expression, chn nt lnh sau hp Expression.
+ Trong hp field, hcn tn trng hay bin thch hp.
+ Chn OK.
A
b. a label vo report:
+ Chn
+ G ni dung ca label
c. a Picture bound control vo report:
+ Chn picture bound control
+ Xut hin hp hi thoi report picture, chn file, nu mun chn hnh nh t file,
chn field nu mun chn trng General.
+ Chn Ok
6.5. V d Thit k Report nh sau (da vo Bng CANBO.DBF bi tp 2):
iif(GIOI_TINH=".T.", "nam" iif(COGIADINH=".F.",
18. CHNG 7. TO MENU V QUN L N
18.1. 7.1. TO MENU
18.2. 7.1.1. GII THIU
Menu cung cp mt phng thc c cu trc v giao din vi ngi dng tc ng ln
nhng cu lnh trong ng dng.
Vic sp xp v thit k menu thch hp s gip cho ngi dng c thun li khi s
dng h thng menu ca bn.
18.3. 7.1.2. CC BC TI MT MENU H THNG
1. Sp xp v thit k: Quyt nh menu no bn cn chng xut hin v tr no trn
mn hnh, cn nhng menu con no?
2. S dng menu designer, to menu v cc Submenu.
3. Gn cc cu lnh tng ng vi cng vic.
4. Bin dch menu
5. Tin hnh chy th, kim tra.
18.4. 7.1.3. TO MENU H THNG
7.1.3.1. Qun l menu h thng
Menu h thng c lu tr tn a vi file c phn m rng l *.MNX
To menu bng cng c Designer Menu: Thc hin lnh:
CREATE MENU
M menu c: MODIFY MENU
Dch file Menu: dch file menu, t mn hnh Menu Designer chn lnh Generate.
File menu sau khi dch s c phn m rng l MPR.
7.1.3.2. To menu h thng thng qua Menu Designer
Sau khi thc hin lnh Create menu, ta c mn hnh giao din Menu: Designer nh
sau:
+ Trong hp Prompt, ta a vo tn cn hin th trn giao din.
+ Trong hp Result, chn:
- Submenu nu mun to menu con.
- Procedure nu mun thi hnh th tc
- Command nu mun thc hin mt lnh.
+ Kt thc, n Ctrl_W.
18.5. 7.2.QUN L N
18.6. 7.2.1. KHI NIM N
n l tn gi ch n ng dng m bn ang xy dng. Thng thng cc thnh
phn ca mt n bao gm:
+ Cc bng d liu (table).
+ Cc file c s d liu (database)
+ Cc form
+ Cc report
+ Cc query
+ Cc file khc nh m thanh, hnh nh, ti liu, hnh nh con tr,...
18.7. 7.2.2. QUN L N
Mt n trong Visual Foxpro c lu tr trn file c phn m rng mc nh l *.PRJ.
7.2.2.1. To mi cc n
Thc hin lnh: CREATE PROJECT
Lc ny xut hin ca s qun l n Project Manager nh trn.
+
Database: Bao gm cc:
Table: Cc bng d liu c lin kt vi nhau hay cc bng t do.
Query: L cu trc ly thng tin t cc bng table.
View: L cc Query chuyn dng m ta c th truy xut d liu cc b v t xa
cho php cp nht cc ngun d liu bng cch lm thay Report bi
quyre.
+ Documents: Cha cc ti liu s dng cho n; bao gm cc form v report.
+ Class: Lit k cc th vin c s dng.
+ Code: v nhng file khc: Lit k cc file chng trnh v cc file khc c s dng
trong chng trnh.
chnh sa bt k mt thnh phn no trong n ta chn n ri chn nt Modify.
thm bt k mt file no cho n ta kch nt add (nu chn file c) hoc nt new
(nu to mi).
Mun loi b bt k mt thnh phn no ca n ta chn n ri chn nt remove.
7.2.2.2. M mt n c
Thc hin lnh: MODIFY PROJECT
7.2.2.3. Dch n
+ Dch sang APP: Khi ny, chn n phi c mt bn sao ca Visual Foxpro.
Dng lnh BUILD
+ Dch sang file c phn m rng l exe: Khi ny, ngi dng khng cn c Visual
Foxpro nhng phi cung cp hai file: vfp6r.dll v vfp6renu.dll c ci t trong ng dn
hoc trong cng th mc vi ng dng.
Dng lnh: BUILD EXE
7.2.2.4. Chy n
Sau khi dch, ta c th chy n thng qua lnh: DO
18.8. 7.2.3. T STARTING POINT CHO N
Khi ng dng c thi hnh, c mt im bt u, l Starting point.
chn mt thnh phn ca d n l Starting point:
+ Chn thnh phn c t l Starting point.
+ T Menu Project, chn Set main.
Thng thng, Starting point l mt chng trnh khi ng cha cc thnh phn:
Do setup.prg
Do mainmenu.mpr
Read Events
Do cleanup.prg
a. Do Setup.prg: L thc hin chng trnh thit lp mi trng cho h thng.
b. Do mainmenu.mpr: Chy file menu chnh thit lp giao din cho h thng.
c. Read Events: Bt u thc hin vng lp thc hin cng vic.
d. Do cleanup.prg: Chy chng trnh dn dp mi trng, tr li mi trng cho h thng v
thot khi h thng. y, phi c lnh Clear Events thot khi vng lp c thit lp
bi lnh Read Events.