You are on page 1of 18

c  c cc

c cc
c
c  c
c cc
Microsoft Visual Foxpro là mӝt phҫn mӅm Quҧn lý CSDL, bao gӗm mӝt sӕ công rҩt mҥnh giúp
có thӇ tәng hӧp, truy xuҩt thông tin mӝt cách thuұn tiӋn, có mӝt bӝ lӋnh dùng trong lұp trình rҩt
phong phú, cho phép tҥo đưӧc mӝt giao diӋn thân thiӋn. ĐiӅu đáng lưu ý là các ӭng dөng đưӧc thiӃt
kӃ tӯ các phiên bҧn trưӟc cӫa Foxpro vүn còn hiӋu lӵc trong Visual Foxpro, nghĩa là vүn có thӇ
chҥy đưӧc trong Visual Foxpro. Tuy nhiên, nӃu đã sӱa đәi nguyên bҧn cũ trong Visual Foxpro rӗi
thì không thӇ thӵc thi đưӧc nӳa trong các phiên bҧn cũ trưӟc đó cӫa nó.
ĐӇ có thӇ dùng đưӧc Visual Foxpro, máy vi tính cҫn phҧi đҥt đưӧc tӕi thiӇu các điӅu kiӋn sau:
+ Có bӝ xӱ lý tӯ 80386 trӣ đi, nên là 486 hoһc mҥnh hơn.
+ Có bӝ nhơ tӕi thiӇu 4MB RAM, nhưng nên là 8MB RAM hoһc hơn.
+ Có đĩa cӭng càng lӟn càng tӕt, tӕi thiӇu 200MB RAM
+ HӋ điӅu hành : Windows 95 hoһc Windows NT.
+ Đã cài hӋ điӅu hành MS DOS, nên dùng DOS 5.0 trӣ vӅ sau.
+ Đã cài hӋ giao diӋn Windows 3.x hoһc Windows ¶95 trӣ đi.
Sau khi đã đưӧc cài đһt, Visual Foxpro có thӇ đưӧc khӣi đӝng bҵng mӝt trong các cách như sau :
+ Click chuӝt vào thӵc đơn Start trên màn hình chính cӫa Windows 95 / Windows NT; chӑn
Programs; chӑn Microsoft Visual Foxpro; chӑn Visual Foxpro 6.0
+ Thӵc hiӋn chӭc năng Run vӟi tên tұp thӵc hiӋn C:\Vfp\Vfp.exe
Visual Foxpro cũng có hai chӃ đӝ làm viӋc : hӝi thoҥi và chương trình.
Trong chӃ đӝ hӝi thoҥi, ngưӡi ta đưa ra mӝt yêu cҫu cho Visual Foxpro bҵng mӝt lӋnh thông qua
cӱa sә lӋnh (command window) hoһc thông qua thӵc đơn hӋ thӕng (system menu) và sӁ nhұn đưӧc
kӃt quҧ ngay. Sau đó, ngưӡi dùng có thӇ tiӃp tөc thӵc hiӋn các yêu cҫu khác.
Trong chӃ đӝ chương trình, các câu lӋnh cӫa Visual Foxpro có thӇ đưӧc tұp hӧp lҥi thành mӝt tұp
tin ghi trên đĩa và khi muӕn cho thi hành tұp tin này, tӯ cӱa sә lӋnh ngưӡi dùng thӵc hiӋn lӋnh : DO
<Tên chương trình>. Khi đó các lӋnh có trong tұp tin chương trình này sӁ lҫn lưӧt đưӧc thӵc hiӋn.
Mӝt ӭng dөng (project) bao gӗm nhiӅu thành phҫn : CSDL, chương trình, màn hình giao diӋn,
thӵc đơn, báo biӇu, « Mӝt ӭng dөng đưӧc lưu trӳ trong tұp tin có phҫn mӣ rӝng là PJX và quҧn lý
bҵng công cө Project Manager.
CSDL trong Visual Foxpro chӭa danh sách các bҧng (table), hàm cӱa sә (view), thӫ tөc, « và
đưӧc lưu trӳ trong mӝt tұp tin có phҫn mӣ rӝng là DBC (trong khi Foxpro 2.6 là DBF).
Visual Foxpro cung cҩp cho ngưӡi dùng các bӝ công cө như : Form Wizard và Form Designer
tiӋn dөng trong thiӃt kӃ các màn hình giao diӋn.
Visual Foxpro cung cҩp các bӝ công cө : Report Wizard và Report Designer tiӋn dөng trong thiӃt
kӃ các báo biӇu.
Visual Foxpro cung cҩp các bӝ công cө Menu Designer tiӋn dөng trong viӋc tҥo các thӵc đơn
nhiӅu cҩp.
Visual Foxpro có sӵ mӣ rӝng sang phương pháp lұp trình hưӟng đӕi tưӧng bên cҥnh cách lұp
trình theo thӫ tөc như truyӅn thӕng.
Trưӟc khi đi vào tương đӕi chi tiӃt mӝt sӕ các vҩn đӅ cҫn lưu tâm, ta lưu ý thêm mӝt sӕ các vҩn
đӅ vӅ khҧ năng, giӟi hҥn và mӝt sӕ thuұt ngӳ thưӡng dùng cӫa Visual Foxpro.
Khҧ năng và giӟi hҥn cӫa Visual Foxpro có thӇ đưӧc tóm gӑn trong bҧng sau :

Khҧ năng Giӟi hҥn


1. Tұp sӕ liӋu và chӍ mөc
Sӕ dòng tin tӕi đa trong 1 table 1 tӹ record
Kích thưӟc tӕi đa cho 1 table 2 GB
Sӕ ký tӵ tӕi đa cho 1 dòng tin (record) 65 500
Sӕ vùng tӕi đa trên mӝt dòng tin 255
Sӕ table tӕi đa có thӇ mӣ cùng lúc 255
Sӕ ký tӵ tӕi đa cho 1 vùng tin 254
Sӕ ký tӵ tӕi đa cho mӝt khóa chӍ mөc trong tұp non-compact index 100
Sӕ ký tӵ tӕi đa cho mӝt khóa chӍ mөc trong tұp compact index 240
c c
Sӕ tӕi đa tұp tin chӍ mөc đưӧc mӣ kèm 1 table Không giӟi hҥn
Sӕ tӕi đa tұp chӍ mөc đưӧc mӣ trong tҩt cҧ các vùng làm viӋc Không giӟi hҥn
Sӕ tӕi đa các mӕi quan hӋ Không giӟi hҥn
ChiӅu dài tӕi đa cӫa các biӇu thӭc quan hӋ Không giӟi hҥn
2. Vùng tin (Field)
Kích thưӟc tӕi đa vùng tin kiӇu Character 254
Kích thưӟc tӕi đa vùng tin kiӇu Numeric hay Float 20
Sӕ ký tӵ tӕi đa dùng đӇ đһt tên cho vùng tin trong 1 Table riêng lҿ 10
Sӕ ký tӵ tӕi đa dùng đӇ đһt tên cho vùng tin trong 1 Table bên 128
trong mӝt database
Trӏ sӕ nguyên nhӓ nhҩt -2 147 483 647
Trӏ nguyên lӟn nhҩt 2 147 483 647
Mӭc chính xác cӫa trӏ sӕ khi tính toán 16 cӝt
3. BiӃn bӝ nhӟ và mҧng
Sӕ lưӧng biӃn bӝ nhӟ ngҫm đӏnh 1 024
Sӕ lưӧng tӕi đa biӃn bӝ nhӟ có thӇ chӑn 65 000
Sӕ lưӧng tӕi đa các mҧng có thӇ khai báo 65 000
Sӕ lưӧng tӕi đa các phҫn tӱ trong mӝt mҧng 65 000
4. Tұp chương trình và thӫ tөc
Sӕ dòng tӕi đa trong mӝt tұp chương trình Không giӟi hҥn
Kích thưӟc tӕi đa cho mӝt thӫ tөc đã đưӧc biên dӏch 64 KB
Sӕ tӕi đa các thӫ tөc trong tұp chương trình Không giӟi hҥn
Sӕ lưӧng tӕi đa các lӋnh DO gӑi lӗng nhau 128
Sӕ cҩp ra lӋnh READ lӗng trong nhau 5
Sӕ lưӧng tӕi đa lӋnh lұp trình cҩu trúc lӗng trong nhau 384
Sӕ lưӧng tӕi đa các thông sӕ đưӧc trao 27
Sӕ lưӧng tӕi đa các xӱ lý phát sinh đӗng thӡi 5
5. Báo biӇu
Sӕ tӕi đa các object trong mӝt báo biӇu Không giӟi hҥn
ChiӅu dài tӕi đa mӝt báo biӇu 20 inches
Tӕi đa sӕ cҩp phân nhóm 128
6. Khҧ năng khác
Tӕi đa sӕ cӱa sә mӣ cùng mӝt lúc Không giӟi hҥn
Tӕi đa sӕ cӱa sә Browse 255
Sӕ ký tӵ tӕi đa trong mӝt chuӛi 2 GB
Sӕ ký tӵ tӕi đa trong mӝt dòng lӋnh 8 192
Sӕ ký tӵ tӕi đa cho 1 nhãn Report Label 255
Sӕ ký tӵ cho 1 dòng thay thӃ vĩ mô 8 192
Sӕ lưӧng tӕi đa tұp tin đưӧc mӣ Giӟi hҥn bӣi DOS
Sӕ tӕi đa phóm bҩm trong 1 Keyboard macro 1 024
Sӕ Fields tӕi đa có thӇ chӑn bӣi mӝt lӋnh SQL SELECT 255

Các kiӇu sӕ liӋu :

KiӇu Dùng trong Kích cӥ Phҥm vi


Character Văn bҧn Tӯ 1 ± 254 ký tӵ Chӭa ký tӵ nào cũng đưӧc
Character Văn bҧn Không thay đәi khi chuyӇn
(Binary) tӯ mã quӕc gia này sang mã
quӕc gia khác
Date Ngày tháng 8 bytes 01/01/100 đӃn 31/12/9999
Date Time Ngày giӡ 8 bytes 01/01/100 đӃn 31/12/999 và
có thêm phҫn giӡ tӯ
00:00:00 a.m đӃn 11:59:59
p.m
c c
Logical Trӏ luұn lý 1 byte Đúng (.T.) hoһc Sai (.F.)
Currency Giá trӏ bҵng tiӅn 8 bytes Tӯ ±
922337203685477.5808 đӃ n
922337203685477.5807
Numeric Sӕ nguyên hay 8 bytes bӝ nhӟ; 1 Tӯ ±0.9999999999E+19
thұp phân đӃn 20 bytes khi đӃn +0.9999999999E+20
lưu giӳ trong table
Double Sӕ chính xác 8 bytes Tӯ +/-4.94065645841247E -
kép 324 đӃn +/-
1.79769313486232E+308
Float Sӕ nguyên hay 8 bytes bӝ nhӟ; 1 Tӯ ±0.9999999999E+19
thұp phân đӃn 20 bytes khi đӃn +0.9999999999E+20
lưu giӳ trong table
Integer Sӕ nguyên 4 bytes Tӯ ±2147483647 đӃn
2147483646
General Đӕi tưӧng 4 bytes trong table ChӍ bӏ giӟi hҥn bӣi bӝ nhӟ
nhúng
Memo Văn bҧn ghi nhӟ 4 bytes trong table ChӍ bӏ giӟi hҥn bӣi bӝ nhӟ
Memo Văn bҧn ghi nhӟ Không thay đәi khi chuyӇn
(Binary) tӯ mã quӕc gia này sang mã
quӕc gia khác

* Các vҩn đӅ khác :


Î Ӭng dөng (Application) là mӝt tұp hӧp gӗm Programs, Forms, Menus, Labels, Queries, «
đưӧc biên dӏch thành mӝt chương trình duy nhҩt. Các ӭng dөng đưӧc xây dӵng bҵng chӭc năng
Project Manager, lưu trên đĩa thành tұp tin có phҫn mӣ rӝng là .APP.
Î Đӗ án (Project) là mӝt tұp tin theo dõi các : Programs, Forms, Menus, « Các Project đưӧc bҧo
trì bӣi chӭc năng Project Manager, lưu trên đĩa thành tұp tin có phҫn mӣ rӝng là .PJX.
Î CSDL (Database) cung cҩp mӝt môi trưӡng làm viӋc trong đó chӭa mӝt tұp hӧp các Tables,
quy đӏnh mӕi quan hӋ (Relaltionships) giӳa các Tables, đӅ ra các thuӝc tính (Propeties) cùng các
quy luұt kiӇm chính sӕ liӋu dùng đӇ điӅu khiӇn đӗng bӝ giӳa các Tables vӟi nhau. Có thӇ sӱ dөng
đӝc lұp hoһc liên kӃt chúng vào mӝt project bҵng cách thêm chúng vào Project Manager.
Î Tables lưu giӳ sӕ liӋu theo các đơn vӏ gӑi là Records (các mүu tin) và Fields (các vùng)
Î Record là mӝt bӝ các vùng tin trong mӝt Table.
Î Mӝt Field là tên cӫa mӝt cӝt quy đӏnh trong Record đӇ chӭa dӳ kiӋn thuӝc mӝt kiӇu nào đó.
Khi đһt tên trong Visual Foxpro, cҫn lưu ý :
Î ChӍ dùng các ký tӵ chӳ (tӯ a đӃn z và tӯ A đӃn Z), ký tӵ sӕ (0 đӃn 9), dҩu gҥch dưӟi.
Î Tên chӍ đưӧc bҳt đҫu bҵng ký tӵ chӳ hoһc dҩu gҥch dưӟi.
Î Tên có thӇ dài tӯ 1 đӃn 256 ký tӵ, ngoҥi trӯ tên Field và tên chӍ mөc chӍ dài tӕi đa 10 ký tӵ.
Î Không nên đһt tên trùng vӟi tӯ khóa.
Î Tên tұp tin thì theo nguyên tҳc đһt tên cӫa hӋ điӅu hành đang dùng.
Các toán tӱ :
Î toán tӱ xӱ lý chuӛi :
+ : ghép chuӛi
± : ghép chuӛi dӡi khoҧng trҳng vӅ cuӕi
$ : thuӝc vӅ (So sánh)
Î toán tӱ xӱ lý ngày giӡ :
+ : cӝng
± : trӯ
Ngày + Sӕ (tính bҵng ngày) Ngày sҳp tӟi
Ngày ± Sӕ (tính bҵng ngày) Ngày trưӟc đó
Ngày giӡ + Sӕ (tính bҵng giây) Ngày giӡ sҳp tӟi
Ngày giӡ ± Sӕ (tính bҵng ngày) Ngày giӡ trưӟc đó
Î toán tӱ luұn lý :

c c
( ) : kӃt nhóm, điӅu kiӋn bên trong ngoһc kӃt nhóm đưӧc xét trưӟc
NOT hoһc ! : Logical Negative
AND : Logical AND
OR : Logical OR
(NOT, AND, OR có thӇ viӃt theo kiӇu cũ : .NOT., .AND., .OR.)
Î toán tӱ so sánh :
< : nhӓ hơn
> : lӟn hơn
= : bҵng
<>, #, != : không bҵng (không sӱ dөng >< hoһc =! hoһc  )
<= : nhӓ hơn hay bҵng (không sӱ dөng =< hoһc )
>= : lӟn hơn hay bҵng (không sӱ dөng => hoһc  )
== : chuӛi ký tӵ bҵng chính xác
Î toán tӱ sӕ hӑc :
( ) : kӃt nhóm
**, ^ : lũy thӯa
* : nhân
/ : chia
% : sӕ dư phép chia nguyên
+ : cӝng
± : trӯ
BiӃn hӋ thӕng là do Visual Foxpro tҥo ra khi khӣi đӝng. Tên biӃn hӋ thӕng thưӡng khӣi đҫu bҵng
dҩu gҥch dưӟi.
BiӃn bӝ nhӟ do ngưӡi sӱ dөng tҥo ra, có thӇ thay đәi giá trӏ, kiӇu hoһc xóa dӉ dàng khi hӃt phiên
làm viӋc cӫa Visual Foxpro.
Hàm cơ hӳu là hàm có sҹn trong bӝ chương trình Visual Foxpro. Hàm ngưӡi dùng là hàm do
ngưӡi dùng tӵ viӃt và chӍ có tác dөng trong chương trình hay ӭng dөng có đӏnh nghĩa hàm đó.
Môi trưӡng làm viӋc muӕn chҥy thұt әn đӏnh cҫn quan tâm đӃn các tham sӕ môi trưӡng sao cho phù
hӧp, đôi khi cҫn phҧi quy đӏnh lҥi các tham sӕ này bҵng các lӋnh thích hӧp.c
c
c ccc cc c! c"cc

Mӝt ӭng dөng là mӝt tұp hӧp gӗm các tұp tin, dӳ liӋu, tư liӋu và các đӕi tưӧng.
c Tҩt cҧ các thông
tin quҧn lý ӭng dөng đưӧc lưu trong tұp tin chính có phҫn mӣ rӝng là PJX và tұp tin ký ӭc có phҫn
mӣ rӝng là PJT.
Cӱa sә quҧn lý ӭng dөng đuӧc dùng đӇ tә chӭc và quҧn lý các thành phҫn trong mӝt ӭng dөng.
Nó gӗm có 6 trang : All, Data, Docs, Classes, Code, Other. Trang All chӭa toàn bӝ thông tin cӫa 5
trang còn lҥi. Trang Data gӗm 2 thành phҫn : Database và Query. Trang Docs gӗm các thành phҫn :
Forms, Reports, Labels. Trang Classes gӗm danh sách các lӟp đưӧc sӱ dөng trong ӭng dөng. Trang
Code gӗm các tұp tin chương trình, thư viӋn API và các ӭng dөng khác. Trang Other gӗm các thӵc
đơn, tұp tin kiӇu văn bҧn TXT và các tұp tin khác.
Các nút chӭc năng trong cӱa sә ӭng dөng :
Î New : đӇ tҥo mӟi các loҥi thành phҫn chi tiӃt.
Î Add : đưa tұp tin các loҥi đã có trên đĩa vào cӱa sә ӭng dөng.

c c
Î Modify : cұp nhұt trên mөc đưӧc chӑn.
Î Browse : liӋt kê mӝt tұp tin DBF dưӟi dҥng bҧng.
Î Close : đóng các tұp tin các loҥi.
Î Open : mӣ mӝt CSDL.
Î Remove : loҥi bӓ mӝt tұp tin hay mӝt đӕi tưӧng ra khӓi cӱa sә ӭng dөng.
Î Build : tҥo tұp tin thӵc hiӋn cho các ӭng dөng.
Î Preview : xem mӝt báo cáo ӣ chӃ đӝ xem trưӟc trên màn hình.
Î Run : dùng đӇ thӵc hiӋn mӝt truy vҩn, biӇu mүu, chương trình.
* Tҥo mӝt tұp tin ӭng dөng :
Cú pháp : CREATE PROJECT <.PJX> | ?
* Mӣ mӝt tұp tin ӭng dөng :
Cú pháp : MODIFY PROJECT <.PJX> | ?
* Dӏch mӝt tұp tin ӭng dөng ra tұp tin APP hoһc EXE :
- Chӑn nút chӭc năng Build hoһc chӑn Project, Build tӯ thӵc đơn hӋ thӕng.
- Chӑn cách dӏch tұp tin ӭng dөng :
Î Rebuild Project đӇ dӏch ra tұp tin PJX.
Î Build Application đӇ dӏch ra tұp tin APP
Î Build Executable đӇ dӏch ra tұp tin EXE.

c #c $c%c cc%&'&(&)*c"c
Bҧng trong mô hình dӳ liӋu quan hӋ là mӝt bҧng hai chiӅu gӗm các dòng và cӝt. Mӛi bҧng đưӧc
đһc trưng bӣi tên có phҫn mӣ rӝng là DBF và danh sách các cӝt (thuӝc tính). Thӭ tӵ các cӝt là
không quan trӑng và hai bҧng khác nhau thì phҧi có tên khác nhau. Có hai loҥi bҧng : bҧng tham
chiӃu (database table) và bҧng tӵ do (free table) không thuӝc danh sách tham chiӃu cӫa các CSDL.
Mӛi vùng là mӝt cӝt trong bҧng, phҧi thuӝc mӝt trong các kiӇu dӳ liӋu : Numeric, Float, Integer,
Double, Currency, Character, Date, Date Time, Logical, Memo, General. Mӛi mүu tin (record) là
mӝt dòng trong bҧng. Khi muӕn sӱ dөng mӝt bҧng phҧi tiӃn hành mӣ bҧng bҵng lӋnh : USE
<table>.
Ràng buӝc toàn vҽn (RBTV) là điӅu kiӋn ràng buӝc dӳ liӋu trong các bҧng tham chiӃu cӫa CSDL
và tҩt cҧ các RBTV phҧi đưӧc thӓa mãn ӣ bҩt kǤ thӡi điӇm nào. ViӋc kiӇm tra các RBTV thưӡng
đưӧc thӵc hiӋn sau các thao tác cұp nhұt dӳ liӋu như thêm, sӱa, đánh dҩu xóa và có thӇ đưӧc tiӃn
hành thông qua các thӫ tөc kiӇm tra do ngưӡi thiӃt kӃ chương trình ӭng dөng viӃt hay Visual
Foxpro tӵ đӝng kiӇm tra các RBTV dӵa trên nhӳng mô tҧ chi tiӃt cӫa ngưӡi thiӃt kӃ vӅ điӅu kiӋn
ràng buӝc đӕi vӟi dӳ liӋu. RBTV có 2 mӭc : ràng buӝc trên vùng (đưӧc kiӇm tra khi có sӵ thay đәi
dӳ liӋu trên vùng) và ràng buӝc mүu tin (đưӧc kiӇm tra khi có sӵ thay đәi dӳ liӋu trên mүu tin và
đưӧc kiӇm tra sau ràng buӝc trên vùng). Phân loҥi các RBTV :
Î RBTV vӅ giá trӏ cӫa mӝt vùng : là nhӳng điӅu kiӋn thu hҽp miӅn giá trӏ cӫa các vùng. Các vùng
này thưӡng là vùng kiӇu sӕ, kiӇu Date, kiӇu Character.
Î RBTV liên vùng : mô tҧ mӕi quan hӋ giӳa các vùng trong mӝt bҧng.
Î RBTV giӳa các mүu tin trong mӝt bҧng.
Î Siêu khóa ± Khóa chính
Î RBTV vӅ khóa ngoҥi : còn gӑi là ràng buӝc vӅ phө thuӝc tӗn tҥi.
Î RBTV giӳa các mүu tin cӫa nhiӅu bҧng.
Î RBTV giӳa các vùng cӫa nhiӅu bҧng.
Î RBTV phӭc tҥp trên nhiӅu bҧng.
Tҥo CSDL mӟi : chӑn mӝt trong các cách sau :
Î Chӑn trang Data cӫa cӱa sә ӭng dөng, chӑn mөc Database và nhҩp chuӝt vào chӭc năng New
và xác đӏnh tên trong ô nhұp Enter.
Î Thӵc hiӋn thông qua lӋnh : CREATE DATABASE <.DBC> | ?
Î Thӵc hiӋn qua thӵc đơn hӋ thӕng : chӑn File, New, Database và nhҩp chuӝt vào New File.
Thêm CSDL đã có vào danh sách tham chiӃu cӫa ӭng dөng : chӑn mөc Database trong trang Data
cӫa cӱa sә ӭng dөng và nhҩp chuӝt vào chӭc năng Add.
Loҥi mӝt CSDL ra khӓi danh sách tham chiӃu : chӑn mӝt trang các cách sau :

c c
Î Thӵc hiӋn qua cӱa sә ӭng dөng : chӑn tên CSDL cҫn xóa trong cӱa sӕ ӭng dөng, chӑn nút
chӭc năng Remove. Trong hӝp thoҥi Remove : chӑn Remove đӇ xóa CSDL ra khӓi danh sách tham
chiӃu, chӑn Delete đӇ xóa CSDL ra khӓi đĩa, chӑn Cancel đӇ ngưng thao tác.
Î Thӵc hiӋn qua cӱa sә lӋnh : DELETE DATABASE <.DBC> | ? [DELETETABLES]
[RECYCLE].
Tҥo mӝt bҧng bҵng bӝ công cө Database Designer :

c
Chӑn biӇu tưӧng đҫu tiên bên trái (New Table) cӫa thanh công cө Databse Designer, chӑn nút ҩn
New table trong hӝp thoҥi ngay sau đó, xác đӏnh thư mөc và tên table, đӏnh nghĩa cҩu trúc bҧng qua
cӱa sә Table Designer.
Cӱa sә Table Designer có trang : Fields, Indexes và Table.
Trang Fiels dùng đӇ đӏnh nghĩa các vùng cӫa bҧng vӟi các ý nghĩa :
Î Name : tên cӫa vùng.
Î Type : kiӇu cӫa vùng.
Î Width, Decimal : kích thưӟc cӫa vùng.
Î Index : dӳ liӋu cӫa vùng đưӧc sҳp xӃp tăng dҭn (Ascending) hoһc giҧm dҫn (Descending).
Î NULL : chó phép vùng nhұn giá trӏ NULL hay không.
Î Format : dҥng hiӇn thӏ cho dӳ liӋu vùng.
Î Input mask : dҥng nhұp liӋu cho dӳ liӋu cӫa vùng.
Î Caption : tiêu đӅ cӫa vùng.
Î Rule : các ràng buӝc toàn vҽn trên vùng.
Î Message : thông báo lӛi khi dӳ liӋu không hӧp lӋ.
Î Default value : giá trӏ ngҫm đӏnh cho vùng khi nhұp liӋu.
Î Field comment : chú thích thêm cho vùng.
Trang Indexes : dùng đӇ mô tҧ các chӍ mөc cӫa bҧng.
Î Order : thӭ tӵ sҳp xӃp.
Î Name : tên cӫa chӍ mөc.
Î Type : kiӇu chӍ mөc (Primary, Candidate, Unique, Regular).
Î Expression : biӇu thӭc khóa cӫa chӍ mөc.
Î Filter : điӅu kiӋn lӑc dӳ liӋu cӫa chӍ mөc.
Trang Table :
Î Name : tên bҧng.
Î Database : tұp tin CSDL
Î Table file : tұp tin DBF chӭa dӳ liӋu cӫa bҧng.
Î Records : sӕ mүu tin cӫa bҧng.
Î Fields : sӕ vùng cӫa bҧng
Î Length : kích thưӟc cӫa mүu tin + 1.
Î Rule : chӍ đӏnh các điӅu kiӋn ràng buӝc (biӇu thӭc hay thӫ tөc)
Î Insert trigger : trigger cho thao tác thêm mүu tin vào bҧng.
Î Update trigger : trigger cho thao tác sӱa đәi dӳ liӋu cӫa các mүu tin trong bҧng.
Î Delete trigger : trigger cho thao tác đánh dҩu xóa các mүu tin trong bҧng.

c c
Tҥo mӝt bҧng : Có thӇ tҥo cҩu trúc cӫa mӝt bҧng bҵng lӋnh :
CREATE TABLE | DBF <.DBF> [NAME <tên>] [FREE] ;
(<vùng1> <kiӇu1> [(<kích thưӟc1> [, <thұp phân1>])] ;
[NULL | NOT NULL] ;
[CHECK <btL1> [ERROR <btC1>]] ;
[DEFAULT <bt1>] ;
[PRIMARY KEY | UNIQUE] ;
[REFERENCES <bҧng1> [TAG <chӍ mөc1>]] ;
[, <vùng2> «] ;
[, PRIMARY KEY <bt2> TAG <chӍ mөc2> ;
|, UNIQUE <bt3> TAG <chӍ mөc3>] ;
[, FOREIGN KEY <bt4> TAG <chӍ mөc4> [NODUP] ;
REFERENCES <bҧng2> [TAG <chӍ mөc5>]] ;
[, CHECK <btL2> [ERROR <btc2>]])
Trong đó :
Î <.DBF> : tên tұp tin DBF cӫa bҧng sӁ đưӧc tҥo lұp. Bҧng sӁ đưӧc tӵ đӝng đưa vào danh sách
tham chiӃu cӫa CSDL.
Î NAME <tên> : tên đһt thêm cho bҧng.
Î FREE : bҧng đưӧc tҥo ra không đưӧc đưa vào danh sách tham chiӃu .
Î <vùng1> : tên cӫa vùng thӭ nhҩt cӫa bҧng.
Î <kiӇu1> : kiӇu dӳ liӋu cho vùng thӭ nhҩt cӫa bҧng.
Î <kích thưӟc1> : kích thưӟc cӫa vùng thӭ nhҩt cӫa bҧng.
Î <thұp phân1> : sӕ chӳ sӕ thұp phân cӫa vùng thӭ nhҩt.
Î NULL | NOT NULL : cho phép / không cho phép vùng lҩy giá trӏ NULL
Î CHECK <btL1> : ràng buӝc toàn vҽn trên vùng thӭ nhҩt trong bҧng. Ngay cҧ mӝt mүu tin
trҳng đưa vào cũng sӁ đưӧc kiӇm tra.
Î ERROR <btC1> : thông báo lӛi khi ràng buӝc toàn vҽn trong thành phҫn CHECK bӏ vi phҥm.
Î DEFAULT <bt1> : giá trӏ ngҫm đӏnh cho vùng.
Î PRIMARY KEY : tҥo chӍ mөc khóa chính cho vùng, vùng này sӁ là khóa chính cӫa bҧng.
Î UNIQUE : tҥo chӍ mөc khóa cho vùng, sӁ trӣ thành khóa cӫa bҧng.
Î REFERENCES <bҧng1> {TAG <chӍ mөc1> : bҧng đưӧc tҥo sӁ liên kӃt khóa ngoҥi giӳa vùng
thӭ nhҩt vӟi <chӍ mөc1> cӫa <bҧng1>.
Î PRIMARY KEY <bt2> TAG <chӍ mөc2> : <bt2> là khóa chính cӫa bҧng (có thӇ gӗm nhiӅu
vùng). NӃu đã dùng thành phҫn PRIMARY trưӟc đó rӗi thì không đưӧc dùng thành phҫn này.
Î UNIQUE <bt3> TAG <chӍ mөc3> : <bt3> là khóa cӫa bҧng (có thӇ gӗm nhiӅu vùng), không
chӭa mӝt vùng đã tham gia vào khóa chính.
Î FOREIGN KEY <bt4> TAG <chӍ mөc4> [NODUP] REFERENCES <bҧng2> [TAG <chӍ
mөc5>] : bҧng đưӧc tҥo sӁ liên kӃt khóa ngoҥi giӳa <bt4> vӟi <chӍ mөc5> cӫa <bҧng2>. NӃu có tӯ
khóa NODUP thì chӍ mөc tҥo ra sӁ là chӍ mөc khóa ngoҥi.
Î CHECK <btL2> : mô tҧ ràng buӝc toàn vҽn cӫa bҧng.
Î ERROR <btC2> : thông báo lӛi khi thành phҫn CHECK bӏ vi phҥm trong quá trình cұp nhұt dӳ
liӋu trong cӱa sӛ Browse hay Edit.
Ngoài ra còn các lӋnh vӅ sӱa đәi cҩu trúc bҧng, sӱa đәi thông tin các vùng, hӫy bӓ cӝt cӫa bҧng,
thêm dӳ liӋu cӫa bҧng, cұp nhұt dӳ liӋu cӫa bҧng, xóa dӳ liӋu cӫa bҧng, truy vҩn dӳ liӋu cӫa CSDL
thông qua các lӋnh ALTER, INSERT, UPDATE, DELETE, SELECT.

c c
Trigger cӫa mӝt bҧng là mӝt hành đӝng (tương ӭng vӟi 1 thӫ tөc hay chương trình) đưӧc đӏnh nghĩa
gҳn liӅn vӟi mӝt thao tác cұp nhұt dӳ liӋu (thêm, sӱa, xóa) cӫa bҧng. Trigger thưӡng đưӧc sӱ dөng
đӇ kiӇm tra các RBTV.
Î Đӏnh nghĩa các trigger cho mӝt bҧng : mӣ cӱa sә Table Designer đӇ thiӃt kӃ lҥi bҧng, chӑn
trang Table, mô tҧ điӅu kiӋn ràng buӝc hoһc tên thӫ tөc kiӇm tra ràng buӝc trong các ô : Insert
trigger, Update trigger, Delete trigger.
Î Hӫy bӓ mӝt trigger : mӣ cӱa sә Table Designer đӇ thiӃt kӃ lҥi bҧng, chӑn trang Table, xóa điӅu
kiӋn ràng buӝc hoһc tên thӫ tөc cҫn kiӇm tra trong các ô : Insert trigger, Update trigger, Delete
trigger. Có thӇ thӵc hiӋn thông qua lӋnh DELETE TRIGGER.
Các loҥi chӍ mөc (index) đưӧc lưu trӳ dưӟi 2 loҥi tұp tin : IDX và CDX. ChӍ mөc có thӇ đưӧc
chia làm 4 loҥi :
Î candidate index : chӍ mөc khóa, sҳp xӃp dӳ liӋu theo các khóa cӫa bҧng.
Î primary index : chӍ mөc khóa chính, sҳp xӃp dӳ liӋu theo khóa chính cӫa bҧng.
Î unique index : chӍ mөc duy nhҩt (các siêu khóa), sҳp xӃp các dӳ liӋu theo các siêu khóa hay
khóa cӫa bҧng.
Î regular index : chӍ mөc thông thưӡng, sҳp xӃp dӳ liӋu theo mӝt tiêu chuҭn nào đó.
Hai mӕi quan hӋ thưӡng gһp là : 1-1 và 1-n.
Tҥo mӕi liên kӃt giӳa hai bҧng :
Î Tҥo mӕi liên giӳa khóa k cӫa bҧng A và các vùng cӫa bҧng B :
- Tҥo chӍ mөc ik cho khóa k và chӍ mөc iv cho các vùng.
- Click chuӝt vào dòng ik trong phҫn Indexes cӫa bҧng A.
- Gҳp dòng ik và đem thҧ vào dòng iv trong phҫn Indexes cӫa bҧng B. Khi đó, trong cӱa sә
chính cӫa bӝ công cө Database Designer sӁ xuҩt hiӋn đưӡng nӕi thӇ hiӋn mӕi liên kӃt giӳa hai bҧng
A và B.
Î Tҥo mӕi liên giӳa khóa ka cӫa bҧng A vӟi khóa kb cӫa bҧng B :
- Tҥo chӍ mөc ia cho khóa ka và chӍ mөc ib cho khóa kb.
- Click chuӝt vào dòng ia trong phҫn Indexes cӫa bҧng A.
Gҳp dòng ia và đem thҧ vào dòng ib trong phҫn Indexes cӫa bҧng B. Khi đó, trong cӱa sә chính cӫa
bӝ công cө Database Designer sӁ xuҩt hiӋn đưӡng nӕi thӇ hiӋn mӕi liên kӃt giӳa hai bҧng A và B.
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
cc
:
‘ 
 : là mӝt tұp hӧp các lӋnh sӁ đưӧc thӵc hiӋn tuҫn tӵ tӯ trên xuӕng hoһc theo các cҩu
trúc điӅu khiӇn. Tên cӫa chương trình là tên cӫa tұp tin chӭa nó, có phҫn mӣ rӝng là PRG.
Î Soҥn thҧo chương trình :
Cú pháp : MODIFY COMMAND <.PRG> | ? [NOEDIT]
<.PRG> | ? : chӍ đӏnh tên tұp tin chương trình, dҩu ? cho phép đһt tên chương trình trong cӱa sә
đӕi thoҥi OPEN.
NOEDIT : mӣ chương trình ra đӇ xem, không cho sӱa nӝi dung.

c c
c

c cc
c
 c c
Î Dӏch và kiӇm lӛi chương trình : c c
Cú pháp : COMPILE <.PRG> | ? [NODEBUG]
<.PRG> | ? : tương tӵ phҫn soҥn thҧo
NODEBUG : không lưu sӕ thӭ tӵ cӫa các dòng lӋnh và ngưӡi sӱ dөng không thӇ gӥ rӕi trong
quá trình thӵc hiӋn chương trình.
Khi phát hiӋn lӛi sai trong chương trình, các lӛi sai đưӧc đưa vào tұp tin có tên trùng vӟi tên
chương trình và có phҫn mӣ rӝng là ERR. Có thӇ dӏch chương trình bҵng cách chӑn Program,
Complie tӯ thӵc đơn hӋ thӕng.
Î Thӵc hiӋn chương trình :
Cú pháp : DO <chương trình> | ?
<chương trình> | ? : tên chương trình muӕn thӵc hiӋn.
Có thӇ chӑn Program, Do tӯ thӵc đơn hӋ thӕng.
f  (biӃn bӝ nhӟ) là vùng bӝ nhӟ dùng đӇ lưu trӳ tҥm thӡi mӝt dӳ liӋu. Qui tҳc đһt tên
tương tӵ như vùng trong bҧng. Trưӟc khi sӱ dөng phҧi khai báo bҵng mӝt trong các lӋnh sau :
Î LӋnh gán :
Cú pháp : <biӃn1> = <bt1> (gán giá trӏ <bt1> cho <biӃn1>)
hay : STORE <bt2> TO <biӃn2 > [, <biӃn3>, «] (dùng đӇ gán cùng mӝt giá trӏ cho nhiӅu biӃn)
Khi biӃn ký ӭc trùng tên vӟi tên mӝt biӃn vùng, sӱ dөng M. hay M-> đһt trưӟc biӃn ký ӭc đӇ
chuyӇn quyӅn ưu tiên cho biӃn ký ӭc.
Î LӋnh PUBLIC : Dùng đӇ khai báo mӝt danh sách các biӃn toàn cөc.
Cú pháp : PUBLIC <biӃn1> [, <biӃn2 >, «]
Î LӋnh LOCAL : Dùng đӇ khai báo mӝt dánh sách các biӃn cөc bӝ hay biӃn cөc bӝ.
Cú pháp : LOCAL <biӃn1> [, <biӃn2>, «]
Î Khai báo mҧng :
Cú pháp : DIMENSION <mҧng1>(<kích thuӟc1>) [, <mҧng2>(kíchthưӟc2) «]
hay : PUBLIC <mҧng3>(<kích thuӟc3>) [, <mҧng4>(kíchthưӟc4 ) «]
hay : LOCAL <mҧng5>(<kích thuӟc5>) [, <mҧng6>(kíchthưӟc6 ) «]
mҧng1 : tên biӃn mҧng 1 hay 2 chiӅu.
kích thuӟc1 : kích thưӟc hay sӕ phҫn tӱ cӫa các chiӅu.
Dùng đӇ khai báo mӝt dánh sách các biӃn cөc bӝ hay biӃn cөc bӝ. Lưu ý lӋnh này không đưӧc viӃt
tҳt thành LOCA vì sӁ lҫm lүn vӟi lӋnh LOCATE.
LӋnh DIMENSION dùng đӇ khai báo các biӃn mҧng 1 hoһc 2 chiӅu.
LӋnh PUBLIC dùng đӇ khai báo mҧng toàn cөc.
LӋnh LOCAL dùng đӇ khai báo mҧng cөc bӝ.
Sau khi khai báo mҧng, có thӇ sӱ dөng lӋnh gán đӇ gán các giá trӏ cho mҧng.
ViӋc khai báo biӃn có thӇ chӍ cҫn đһt trưӟc khi sӱ dөng biӃn mà không bҳt buӝc phҧi đһt ӣ đҫu
chương trình. Nó có thӇ thӵc hiӋn ӣ cӱa sә lӋnh cũng như bҩt cӭ vӏ trí nào trong chương trình. Giá
trӏ cӫa biӃn ký ӭc đưӧc lưu thành mӝt tұp tin đӇ sӱ dөng sau này có phҫn mӣ rӝng là MEM.
Î LӋnh lưu các giá trӏ cӫa biӃn ký ӭc lên tұp tin :
Cú pháp : SAVE TO <.MEM> [ALL LIKE <dҥng 1> | ALL EXCEPT <dҥng 2>]

c c
<.MEM> : tên tұp tin lưu trӳ giá trӏ cӫa biӃn ký ӭc. Ngҫm đӏnh, sӁ lưu trӳ tҩt cҧ các biӃn ký ӭc
đang tӗn tҥi trong bӝ nhӟ lên tұp tin.
ALL LIKE <dҥng1> : chӍ lưu các biӃn ký ӭc có tên phù hӧp vӟi <dҥng1>
ALL EXCEPT <dҥng2> : lưu tҩt cҧ các biӃn ký ӭc ngoҥi trӯ các biӃn có tên phù hӧp vӟi
<dҥng2>.
Î LӋnh chuyӇn tҧi các biӃn ký ӭc tӯ tұp tin lên bӝ nhӟ :
Cú pháp : RESTORE FROM <.MEM> [ADDITIVE]
<.MEM> : tên tұp tin lưu trӳ các biӃn ký ӭc muӕn chuyӇn tҧi vào bӝ nhӟ. Ngҫm đӏnh, các biӃn
ký ӭc đang tӗn tҥi trong bӝ nhӟ sӁ bӏ mҩt đi và thay vào đó là các biӃn đưӧc lưu trӳ tӯ tұp tin
<.MEM> lên.
ADDITIVE : các biӃn ký ӭc hiӋn có trong bӝ nhӟ không mҩt đi mà cùng tӗn tҥi vӟi các biӃn
đưӧc chuyӇn tҧi tӯ tұp tin <.MEM> lên.
Î ViӋc trao đәi dӳ liӋu giӳa biӃn vùng và biӃn ký ӭc thưӡng xuyên xҧy ra trong quá trình cұp
nhұt dӳ liӋu. LӋnh SCATTER và GATHER sӁ thӵc hiӋn bưӟc sao chép nӝi dung các biӃn vùng ra
biӃn ký ӭc và ghi nӝi dung các biӃn ký ӭc đã đưӧc xӱ lý và kiӇm tra vào mүu tin hiӋn hành cӫa
DBF.
Cú pháp : SCATTER MEMVAR [MEMO] [BLANK]
GATHER MEMVAR [MEMO]
LӋnh SCATTER tҥo ra mӝt bӝ biӃn ký ӭc trùng tên vӟi các vùng cӫa tұp tin DBF và tӵ đӝng sao
chép nӝi dung cӫa mүu tin hiӋn hành cho bӝ biӃn ký ӭc này. Tӯ khóa MEMO nhҵm sao chép cҧ
vùng kiӇu Memo (nӃu có) thành các biӃn kiӇu chuӛi. Tӯ khóa BLANK sӁ cho phép chép mӝt mүu
tin trҳng thay vì mүu tin hiӋn hành. LӋnh GATHER có tác dөng ngưӧc lҥi. HiӋn nay, đã có nhӳng
công cө tiӋn dөng và hiӋu quҧ trong viӋc tҥo các màn hình nhұp liӋu. Bҩy giӡ, viӋc giao tiӃp sӁ
đưӧc thӵc hiӋn gián tiӃp qua các ô điӅu khiӇn.
Macro (&) đưӧc dùng vӟi các biӃn ký ӭc kiӇu chuӛi. LӋnh có chӭa macro là lӋnh chưa hoàn
chӍnh, nó sӁ đưӧc thông dӏch hai lҫn trưӟc khi thӵc hiӋn.
Å     : tuҫn tӵ, chӑn lӵa, cҩu trúc lһp.
Î Cҩu trúc tuҫn tӵ : là cҩu trúc điӅu khiӇn cơ bҧn cӫa Visual Foxpro.
Î Cҩu trúc chӑn lӵa :
* Cҩu trúc điӅu kiӋn đơn IF :
Cú pháp : IF <btL>
<nhóm lӋnh1>
[ELSE
<nhóm lӋnh2>]
ENDIF
Khi thӵc hiӋn đӃn cҩu trúc này, <btL> đưӧc kiӇm tra. NӃu bҵng .T. sӁ thӵc hiӋn <nhóm lӋnh1> tӯ
sau IF đӃn trưӟc ELSE (nӃu có) hoһc đӃn trưӟc ENDIF (nӃu không có ELSE). NӃu bҵng .F . sӁ thӵc
hiӋn <nhóm lӋnh2> tӯ sau ELSE đӃn đӃn trưӟc ENDIF (nӃu có) hoһc bӓ qua cҩu trúc này (nӃu
không có ELSE). Sau đó, chương trình sӁ đưӧc tiӃp tөc thӵc hiӋn phҫn tiӃp theo sau ENDIF. Đӕi
vӟi cҩu trúc chӑn lӵa đơn giҧn, có thӇ dùng hàm IIF().
* Cҩu trúc nhiӅu điӅu kiӋn DO CASE :
Cú pháp : DO CASE
CASE <btL1>
<nhóm lӋnh1>
CASE <btL2>
<nhóm lӋnh2>
«
CASE <btLn>
<nhóm lӋnhn>
[OTHERWISE
<nhóm lӋnh0>]
ENDCASE
Cҩu trúc điӅu khiӇn DO CASE sӁ lҫn lưӧt kiӇm tra các điӅu kiӋn <btL1>, <btL2>, «, , <btL n> và
thӵc hiӋn nhóm lӋnh ӣ sau điӅu kiӋn đҫu tiên đưӧc thoҧ. NӃu tҩt cҧ các điӅu kiӋn đӅu không thӓa sӁ
thӵc nhóm lӋnh ӣ sau OTHERWISE nӃu có.
Î Cҩu trúc lһp :
c c
* Cҩu trúc điӅu khiӇn FOR « ENDFOR :
Cú pháp : FOR <biӃn ký ӭc> = <btN1> TO <btN2 > [STEP ,btN3>]
«
[LOOP]
«
[EXIT]
«
ENDFOR
Thân cӫa vòng lһp đưӧc lһp đi lһp lҥi nhiӅu lҫn trong khi <biӃn ký ӭc> thay đәi giá trӏ tӯ <btN1>
đӃn <btN2>. Sau mӛi lҫn thӵc hiӋn thân vòng lһp, <biӃn ký ӭc> đưӧc thêm <btN3> nӃu có STEP
hoһc tӵ đӝng tăng lên 1 nӃu không có STEP.
Gһp tӯ khóa EXIT trong thân vòng lһp sӁ thoát khӓi cҩu trúc điӅu khiӇn FOR và thӵc hiӋn tiӃp
các lӋnh sau ENDFOR.
Gһp tӯ khóa LOOP trong thân vòng lһp, sӁ bӓ qua các lӋnh còn lҥi cӫa thân vòng lһp trong lҫn
thӵc hiӋn đó, thay đәi giá trӏ <biӃn ký ӭc>, chuyӇn điӅu khiӇn trӣ lҥi vòng lһp FOR cho lҫn thӵc
hiӋn kӃ.
* Cҩu trúc điӅu khiӇn DO WHILE « ENDDO :
Cú pháp :
DO WHILE <btL>
«
[LOOP]
«
[EXIT]
«
ENDDO
Thân cӫa vòng lһp đưӧc lһp đi lһp lҥi nhiӅu lҫn trong khi <btL > vүn còn là .T. ChӍ khi nào
<btL>có giá trӏ .F. thì sӁ thoát khӓi cҩu trúc này. Tӯ khóa EXIT, LOOP tương tӵ như trên.
* Cҩu trúc điӅu khiӇn SCAN « ENDSCAN :
Cú pháp : SCAN [<phҥm vi>] [FOR <btL1>] [WHILE <btL2>]
«
[LOOP]
«
[EXIT]
«
ENDSCAN
Cҩu trúc này dùng đӇ ³quét´ tұp tin DBF. Không cҫn đһt lӋnh SKIP vào trong thân chương trình
vì sau mӛi lҫn thӵc hiӋn vòng lһp, con trӓ mүu tin tӵ đӝng dӡi xuӕng mүu tin kӃ. Tӯ khóa EXIT,
LOOP tương tӵ như trên.
Î Cҩu trúc ngҳt :
* Ngҳt khi phát hiӋn lӛi sai :
Cú pháp : ON ERROR [<lӋnh>]
Dùng đӇ kiӇm soát và xӱ lý lӛi sai trong quá trình thӵc hiӋn chương trình hay lӋnh.
<lӋnh> : lӋnh sӁ thi hành đӇ xӱ lý lӛi sai. Thưӡng là lӋnh gӑi thӵc hiӋn mӝt chương trình hay thӫ
tөc (lӋnh DO). Hàm ERROR() cho biӃt mã sӕ tương ӭng cӫa lӛi sai, ngưӡi lұp trình dӵa vào đây đӇ
có xӱ lý thích hӧp cho tӯng lӛi sai. Sau khi <lӋnh> thӵc hiӋn xong, sӁ tiӃp tөc làm dòng lӋnh tiӃp
theo ngay bên dưӟi dòng phát sinh lӛi hoһc thӵc hiӋn lҥi dòng phát sinh ra lӛi nӃu trong chương
trình hay thӫ tөc xӱ lý lӛi có chӭa lӋnh RETRY.
LӋnh ON ERROR không có lӋnh theo sau dùng đӇ trҧ quyӅn xӱ lý lӛi sai vӅ cho Visual Foxpro.
* Ngҳt khi bҩm phím qui đӏnh :
Cú pháp : ON ESCAPE [<lӋnh1>]
LӋnh này dùng đӇ thӵc hiӋn mӝt xӱ lý khác (,lӋnh1 >) thay cho cách xӱ lý ngҫm đӏnh cӫa
Visual Foxpro. NӃu không có thành phҫn lӋnh kèm theo có tác dөng trҧ vӅ cách xӱ lý ngҫm đӏnh
cӫa Visual Foxpro.
ON KEY [LABEL <tә hӧp phím> [lӋnh2 >]]
LӋnh này dùng đӇ mô tҧ nhӳng xӱ lý (<lӋnh2>) khi ngưӡi sӱ dөng bҩm tә hӧp phím hay bҩm
chuӝt. NӃu không có thành phҫn lӋnh kèm theo sӁ trҧ vӅ cách xӱ lý ngҫm đӏnh nӃu có cӫa tә hӧp
c c
phím. LӋnh này đưӧc dùng phӕi hӧp vӟi lӋnh PUSH KEY đӇ ghi nhӟ cách xӱ lý hiӋn hành cӫa tҩt
cҧ các phím trưӟc khi dùng ON KEY LABEL và phөc hӗi lҥi cách xӱ lý cӫa các phím khi kӃtthúc
chương trình bҵng lӋnh POP KEY.
Î Cҩu trúc lӗng nhau :
Ngoҥi trӯ lӋnh ON ERROR đưӧc lӗng vào mӝt thӫ tөc xӱ lý lӛi khác, tҩt cҧ các cҩu trúc điӅu
khiӇn đã nêu có thӇ lӗng vào nhau theo nhiӅu cҩp. Kӻ thuұt gióng hàng đưӧc áp dөng nhҵm tránh
các lӛi sai vӅ cú pháp và giúp dӉ đӑc hơn.

(Procedure) : là đoҥn chương trình con đӇ thӵc hiӋn mӝt chӭc năng nào đó. Mӝt thӫ
tөc đҫu bҵng chӍ thӏ PROCEDURE đӇ đһt tên cho thӫ tөc và có thӇ kӃt thúc bҵng chӍ thӏ
RETURN hoһc ENDPROC (không bҳt buӝc).
Cú pháp : PROCEDURE <tên thӫ tөc>
«
[RETURN]
«
[ENDPROC]
Các thӫ tөc có thӇ lưu chung trong mӝt chương trình nhưng phҧi tách rӡi và không đưӧc lӗng
nhau. Khi gӑi thӵc hiӋn thӫ tөc, sӁ thӵc hiӋn như sau :
Cú pháp : DO <thӫ tөc> IN <.PRG>
NӃu các thӫ tөc chӭa trong mӝt tұp tin chương trình, có thӇ mӣ tұp tin chương trình này bҵng
lӋnh SET PROCEDURE TO [<.PRG>] và bӓ qua phҫn IN <.PRG> trong các lӋnh gӑi thӵc hiӋn thӫ
tөc.
Î Thӫ tөc nӝi tҥi là mӝt dҥng thӫ tөc rҩt đһc biӋt cӫa Visual Foxpro, thưӡng là các triggers cӫa
CSDL. Chӑn mөc Stored Procedures trong cӱa sә ӭng dөng, chӑn mӝt trong các nút chӭc năng
New hoһc Add hoһc Modify (tác dөng như nhau). Khi đó xuҩt hiӋn mӝt cӱa sә chӭa tҩt cҧ các thӫ
tөc nӝi tҥi hiӋn có cӫa CSDL đӇ ngưӡi lұp trình có thӇ soҥn thҧo mӝt thӫ tөc mӟi, sӱa đәi hoһc xóa
bӓ mӝt thӫ tөc đã có.
Î Dӏch các thӫ tөc nӝi tҥi :
Cú pháp : COMPILE DATABASE <.DBC>
Î BiӃn toàn cөc (Global) : là biӃn có thӇ sӱ dөng ӣ mӑi cҩp chương trình (hay thӫ tөc) gӑi nhau;
đưӧc khai báo trong chương trình (hay thӫ tөc) bҵng lӋnh PUBLIC hoһc đưӧc khai báo ӣ cӱa sә
lӋnh không phҧi bҵng lӋnh LOCAL; sӁ mҩt đi nӃu gһp mӝt trong các lӋnh : QUIT, CLEAR ALL,
CLEAR MEMORY, RELEASE <biӃn 1> [<biӃn2 >, «]
Î BiӃn cөc bӝ (Local) : là biӃn chӍ có thӇ sӱ dөng trong chương trình (hay thӫ tөc) khai báo nó và
trong nhӳng chương trình (hay thӫ tөc) mà nó gӑi thӵc hiӋn; đưӧc khai báo trong chương trình (hay
thӫ tөc) không phҧi bҵng lӋnh PUBLIC hoһc đưӧc khai báo ӣ cӱa sә lӋnh bҵng lӋnh LOCAL; sӁ
mҩt đi nӃu gһp mӝt trong các lӋnh : QUIT, CLEAR ALL, CLEAR MEMORY, RELEASE <biӃn1>
[<biӃn2>, «]
Î Trao đәi tham biӃn : Có hai hình thӭc trao đәi tham biӃn : trao đәi theo giá trӏ (có thӇ thay đәi
giá trӏ cӫa bҧn sao nhưng không làm thay đәi giá trӏ gӕc cӫa tham biӃn) và trao đәi theo đӏa chӍ (có
thӇ làm thay đәi giá trӏ gӕc cӫa tham biӃn).
ĐӇ thӵc hiӋn viӋc trao đәi tham biӃn giӳa các chương trình (hay thӫ tөc), phҧi chӍ đӏnh danh sach
tham biӃn gӣi đi.
Cú pháp : DO <thӫ tөc> WITH <tham biӃn1> [, <tham biӃn2>, «]
Tҥi chương trình (thӫ tөc) đưӧc gӑi thӵc hiӋn, phҧi đһt dòng lӋnh khai báo các tham biӃn nhұn
PARAMETERS hay LPARAMETERS ӣ ngay sau dòng lӋnh đһt tên cӫa thӫ tөc.
Cú pháp : PROCEDURE <tên thӫ tөc>
PARAMETERS <tham biӃn1 > [, <tham biӃn2>, «]
«
ENDPROC
Tӕi đa có 27 tham biӃn đưӧc khai báo.
Î Che biӃn : nhҵm tránh tình trҥng các biӃn cөc bӝ đưӧc đһt tên trùng nhau ngoài ý muӕn khi có
nhiӅu ngưӡi cùng tham gia viӃt mӝt chương trình ӭng dөng.
Cú pháp : PRIVATE <biӃn1 > [, <biӃn2>, «]
hay : PRIVATE ALL [LIKE <dҥng1> | EXCEPT <dҥng 2>]
<biӃn1> [, <biӃn2>, «] : các biӃn cөc bӝ đưӧc che đi.

c c
PRIVATE ALL : che tҩt cҧ các biӃn cөc bӝ.
PRIVATE ALL LIKE <dҥng1> : che tҩt cҧ các biӃn có tên phù hӧp vӟi <dҥng1>.
PRIVATE ALL EXCEPT <dҥng2> : che tҩt cҧ các biӃn có tên không phù hӧp vӟi <dҥng2>.
  (Function) : tương tӵ thӫ tөc vӅ mһt chӭc năng, chӍ khác ӣ chӛ hàm sӁ trҧ vӅ nơi gӑi mӝt và
chӍ mӝt giá trӏ. KiӇu dӳ liӋu cӫa hàm là kiӇu cӫa giá trӏ trҧ vӅ. Hàm có sҹn như DATE(), INT(),
UPPER(), « do Visual Foxpro cung cҩp. Hàm do ngưӡi sӱ dөng đӏnh nghĩa thì trong phҫn thân cӫa
hàm phҧi có ít nhҩt 1 dòng lӋnh RETURN đӇ trҧ giá trӏ vӅ nơi gӑi.
Cú pháp : FUNCTION <tên hàm>
PARAMETERS <tham biӃn1 > [, <tham biӃn2>, «]
«
[RETURN <bt>]
«
ENDFUNC
<tên hàm> : tên cӫa hàm do ngưӡi dùng đӏnh nghĩa.
PARAMETERS <tham biӃn1 > [, <tham biӃn2>, «] : danh sách các tham biӃn cӫa hàm.
<bt> : giá trӏ trҧ vӅ nơi gӑi.

c!+ c

c c%  c  c% ,"c
Màn hình giao diӋn là nhӳng cӱa sә có chӭa các đӕi tưӧng đһc biӋt gӑi là các điӅu khiӇn, đҧm
nhiӋm viӋc giao tiӃp giӳa ngưӡi dùng và ӭng dөng. Có hai loҥi màn hình giao diӋn thông dөng :
dҥng đơn giҧn liên kӃt vӟi mӝt bҧng và dҥng one ± to ± many liên kӃt vӟi bҧng có thiӃt lұp mӕi
quan hӋ vӟi nhau.
Thanh công cө và thuӝc tính tҥo giao diӋn :

c
Î Nhãn (Label): là đoҥn văn bҧn cӕ đӏnh, dài tӕi đa 256 ký tӵ. Khi đһt \< trưӟc mӝt ký tӵ nào đó
c
thì ký tӵ đó trӣ thành phím nóng.

Thuӝc tính Ý nghĩa


Caption Nӝi dung cӫa nhãn
Name Tên cӫa nhãn
Î Hӝp văn bҧn (Text Box) : dùng đӇ hiӇn thӏ và cұp nhұt dӳ liӋu trên mӝt dòng.

Thuӝc tính Ý nghĩa


ControlSource Vùng kӃt nӕi vӟi hӝp văn bҧn
Name Tên cӫa hӝp văn bҧn
Format Dҥng hiӇn thӏ và nhұp liӋu cӫa hӝp văn bҧn.
K : đánh dҩu chӑn tҩt cҧ dӳ liӋu trong hӝp điӅu khiӇn khi
điӅu khiӇn nhұn đưӧc focus.
! : đәi chӳ thưӡng thành chӳ hoa.

c c
Z : không hiӋn 0 nӃu giá trӏ cӫa điӅu khiӇn đang là 0.
InputMask Dҥng nhұp liӋu cӫa hӝp văn bҧn.
X : cho phép nhұp bҩt kǤ ký tӵ.
9 : chӍ đưӧc nhұp sӕ và dҩu.
# : chӍ nhұp sӕ, dҩu và khoҧng trҳng.
MaxLength Qui đӏnh sӕ ký tӵ tӕi đa có thӇ nhұp đưa vào hӝp văn bҧn
(không hҥn chӃ nӃu = 0)
ToolTipText Chú thích thêm cho hӝp văn bҧn

Î Hӝp soҥn thҧo (Edit Box) : dùng đӇ hiӇn thӏ và cұp nhұt dӳ liӋu trên nhiӅu dòng (thích hӧp vӟi
dӳ liӋu kiӇu Memo hay kiӇu Character có đӝ dài khá lӟn).

Thuӝc tính Ý nghĩa


ControlSource Vùng kӃt nӕi vӟi hӝp soҥn thҧo
Name Tên cӫa hӝp soҥn thҧo
Format Dҥng hiӇn thӏ cӫa hӝp soҥn thҧo
MaxLength Qui đӏnh sӕ ký tӵ tӕi đa có thӇ nhұp đưa vào hӝp soҥn
thҧo (không hҥn chӃ nӃu = 0)
ToolTipText Chú thích thêm cho hӝp soҥn thҧo

Î Nút lӋnh (Command Button) : dùng đӇ đһc trưng cho mӝt chӭc năng sӁ đưӧc thӵc hiӋn khi
ngưӡi sӱ dөng chӑn nút lӋnh này.

Thuӝc tính Ý nghĩa


TerminateRead Giá trӏ là .T. thì màn hình giao diӋn sӁ đóng lҥi sau khi thi
hành nút lӋnh
Name Tên cӫa nút lӋnh
Caption Văn bҧn xuҩt hiӋn trên nút lӋnh
Picture Hình ҧnh xuҩt hiӋn trên nút lӋnh
Click Event Thӫ tөc sӁ đưӧc thi hành khi ngưӡi sӱ dөng chӑn nút lӋnh

Î Ô kiӇm tra (Check Box) : Mӝt ô kiӇm tra đưӧc chӑn (x) có ý nghĩa ngưӡi sӱ dөng đӗng ý vӟi
nӝi dung mô tҧ cӫa ô kiӇm tra.

Thuӝc tính Ý nghĩa


ControlSource Vùng kӃt nӕi vӟi ô kiӇm tra
Caption Văn bҧn xuҩt hiӋn trên ô kiӇm tra
Picture Hình ҧnh xuҩt hiӋn trên ô kiӇm tra

Î Hӝp danh sách (List Box) ± Hӝp danh sách kéo xuӕng (Combo Box) : Hӝp danh sách là mӝt
khung chӳ nhұt chӭa danh sách các mөc, trong đó mӛi dòng là mӝt mөc và có thӇ có nhiӅu cӝt.
Tương tӵ cho hӝp danh sách kéo xuӕng nhưng chӍ cho hiӇn thӏ mӝt dòng (mөc), chӍ khi click chuӝt
vào mũi tên phía phҧi cӫa hӝp danh sách kéo xuӕng thì tҩt cҧ các mөc mӟi đưӧc hiӇn thӏ

Thuӝc tính Ý nghĩa


BoundColumn Giá trӏ cӝt thӭ mҩy đưӧc trҧ vӅ khi chӑn mӝt mөc chӑn
trong hӝp danh sách hoһc hӝp danh sách kéo xuӕng.
ControlSource Vùng kӃt nӕi vӟi hӝp danh sách hoһc hӝp danh sách kéo
xuӕng.
ColumnCount Sӕ cӝt hiӇn thӏ trên hӝp danh sách hoһc hӝp danh sách
kéo xuӕng.
ListItem Cho phép truy cұp đӃn các mөc trong hӝp danh sách
hoһc hӝp danh sách kéo xuӕng.
ListCount Cho biӃt sӕ mөc có trong hӝp danh sách hoһc hӝp danh

c c
sách kéo xuӕng.
RowSource Nguӗn dӳ liӋu cung cҩp các cho hӝp danh sách hoһc
hӝp danh sách kéo xuӕng.
RowSourceType KiӇu dӳ liӋu nguӗn, có thӇ là Query, Bí danh, câu lӋnh
SQL, «
AddItemMethod Đưa mӝt mөc vào danh sách
RemoveItemMethod Hӫy mӝt mөc ra khӓi danh sách
RequeryMethod Cұp nhұt lҥi các thay đәi trong hӝp danh sách hoһc hӝp
danh sách kéo xuӕng.

Î Spinner : là mӝt điӅu khiӇn cho phép ngưӡi dùng chӑn giá trӏ trong mӝt phҥm vi.

Thuӝc tính Ý nghĩa


ControlSource Vùng kӃt nӕi vӟi Spinner
Increment Bưӟc tăng hoһc giҧm cho Spinner
KeyboardHighValue, Giá trӏ lӟn nhҩt và nhӓ nhҩt có thӇ đưa vào tӯ bàn phím
KeyboardLowValue cho Spinner.
SpinnerHighValue, Giá trӏ lӟn nhҩt và nhӓ nhҩt chӑn trong Spinner.
SpinnerLowValue

Î Lưӟi (Grid) : dùng đӇ hiӇn thӏ dӳ liӋu theo dҥng lưӟi, là mӝt bҧng có nhiӅu cӝt và nhiӅu dòng;
thưӡng sӱ dөng trong màn hình giao diӋn one ± to ± many, nӝi dung cӫa lưӟi là dӳ liӋu cӫa bҧng
table và các dӳ liӋu này có quan hӋ vӟi bҧng cha theo mӝt biӇu thӭc quan hӋ.
Mӛi cӝt cӫa lưӟi gӗm hai thành phҫn : tiêu đӅ (Headder) và điӅu khiӇn cӫa cӝt (ngҫm đӏnh là hӝp
văn bҧn, có thӇ đәi thành combo box hay ô kiӇm tra).

Thuӝc tính Ý nghĩa


ChildOrder Tên index Tag cӫa dӳ liӋu nguӗn cho lưӟi
LinkMaster Bí danh cӫa bҧng cha
RecordSourceType KiӇu dӳ liӋu nguӗn cӫa lưӟi
RecordSource Dӳ liӋu nguӗn cӫa lưӟi
RelationalExpr BiӇu thӭc quan hӋ giӳa bҧng cha và bҧng con
ColumnCount Sӕ cӝt hiӇn thӏ trong lưӟi
DeleteMark Là .T. thì bên trái lưӟi sӁ xuҩt hiӋn thêm mӝt cӝt đӇ đánh
dҩu xóa mүu tin
RecordMark Là .T. thì sӁ xuҩt hiӋn thêm mӝt cӝt chӭa dҩu hiӋu cho
các mүu tin đưӧc chӑn.
Î Màn hình nhiӅu trang : đưӧc sӱ dөng trong trưӡng hӧp màn hình giao diӋn có nhiӅu điӅu khiӇn
và cҫn tә chӭc, phân nhóm theo chӫ đӅ.

Thuӝc tính Ý nghĩa


ActivePage Sӕ thӭ tӵ trang hiӋn hành
PageCount Tәng sӕ trang cӫa màn hình nhiӅu trang
PageHeight Đӝ cao cӫa trang
PageWidth Đӝ rӝng cӫa trang
Tabs Là .T. thì màn hình nhiӅu trang sӁ có Tabs
TabStretch Là 0 sӁ cho phép hiӇn thӏ nhiӅu dòng nӃu tabs không đӫ
chӛ trên nàn hình nhiӅu trang.
Là 1 chӍ cho phép hiӇn thӏ 1 dòng tabs trên màn hình
nhiӅu trang.

f   
  !"#$ % & '
Î Tҥo màn hình giao diӋn đơn giҧn tӯ mӝt bҧng :
+ Chӑn nút chӭc năng New trong cӱa sә ӭng dөng.

c c
+ Chӑn nút nhҩn Form Wizard.
+ Chӑn dòng Form Winzard, chӑn OK.
+ Đӏnh nghĩa cҩu trúc cӫa màn hình giao diӋn :
* Bưӟc 1 : Chӑn các vùng.
& Chӑn CSDL, bҧng và các vùng cho màn hình giao diӋn.
& Chӑn Next đӇ sang bưӟc tiӃp theo.
* Bưӟc 2 : Chӑn dҥng cӫa màn hình giao diӋn
& Chӑn dҥng màn hình giao diӋn.
& Chӑn Next đӇ sang bưӟc tiӃp theo.
* Bưӟc 3 : Thӭ tӵ sҳp xӃp các mүu tin
& Chӑn thӭ tӵ sҳp xӃp các vùng nӃu cҫn.
& Chӑn Next đӇ sang bưӟc tiӃp theo.
* Bưӟc 4 : KӃt thúc
& Đһt tiêu đӅ cho màn hình giao diӋn
& Chӑn Preview đӇ xem trưӟc màn hình giao diӋn mӟi tҥo.
& Chӑn Finish đӇ kӃt thúc, đһt tên màn hình giao diӋn hӝp thoҥi xuҩt hiӋn ӣ đây.
Î Tҥo màn hình giao diӋn One ± to - Many :
+ Chӑn nút chӭc năng New trong cӱa sә ӭng dөng.
+ Chӑn nút nhҩn Form Wizard.
+ Chӑn dòng One ± to ± Many Form Winzard, chӑn OK.
+ Đӏnh nghĩa cҩu trúc cӫa màn hình giao diӋn :
* Bưӟc 1 : Chӑn các vùng cӫa bҧng cha
& Chӑn CSDL, bҧng cha và các vùng cho màn hình giao diӋn.
& Chӑn Next đӇ sang bưӟc tiӃp theo.
* Bưӟc 2 : Chӑn các vùng cӫa bҧng con
& Chӑn CSDL, bҧng con và các vùng cho màn hình giao diӋn.
& Chӑn Next đӇ sang bưӟc tiӃp theo.
* Bưӟc 3 : Xác đӏnh mӕi quan hӋ giӳa hai bҧng.
* Bưӟc 4 : Chӑn dҥng cӫa màn hình giao diӋn (tương tӵ như trên)
* Bưӟc 5 : Thӭ tӵ sҳp xӃp các mүu tin (tương tӵ như trên)
* Bưӟc 6 : KӃt thúc (tương tӵ như trên)

Å   


  !"#"()$ *+, '
Î Tҥo màn hình giao diӋn :
Cú pháp : CREATE FORM <.SCX> | ?
Î Sӱa đәi màn hình giao diӋn :
Cú pháp : MODIFY FORM <.SCX> | ?
Bӝ công cө Form Designer có mӝt cӱa sә Form biӇu diӉn cҩu trúc (gӗm các điӅu khiӇn) cӫa màn
hình giao diӋn và cӱa sә Propeties đӇ hiӇn thӏ các thuӝc tính cӫa điӅu khiӇn trong màn hình giao
diӋn.
c
ccc-./c ./"cc
‘ - ."-" '
Î Báo biӇu không phân nhóm : là nhӳng báo biӇu đơn giҧn, dӳ liӋu cӫa báo cáo là nӝi dung cӫa
các vùng thuӝc mӝt hoһc nhiӅu bҧng.
- Báo biӇu theo cӝt : dӳ liӋu liên quan đӃn mӝt đӕi tưӧng đưӧc thӇ hiӋn ӣ nhiӅu cӝt trên mӝt
dòng.
- Báo biӇu theo dòng : dӳ liӋu liên quan đӃn mӝt đӕi tưӧng đưӧc thӇ hiӋn ӣ nhiӅu cӝt trên nhiӅu
dòng.
Î Báo biӇu phân nhóm : dӳ liӋu đưӧc phân thành nhiӅu nhóm theo các khóa. Cuӕi mӛi dòng có
thӇ có các dòng tính toán.
- Báo biӇu theo nhóm và tәng cӝng : dӳ liӋu phân nhóm và có thӇ có tәng cӝng ӣ cuӕi mӛi nhóm.
- Báo biӇu dҥng 1 - n : dӳ liӋu thӇ hiӋn theo tӯng nhóm trong bҧng cha và đӕi vӟi mӛi nhóm có
thӇ có thêm các chi tiӃt cӫa nhóm đó trong bҧng con. Giӳa bҧng cha và bҧng con phҧi có thiӃt lұp
mӕi quan hӋ.

c c
f  "-" ' Bao gӗm các thành phҫn :
Î Title : tiêu đӅ cӫa báo biӇu, chӍ in ӣ trang đҫu tiên cӫa báo biӇu.
Î Summary : tóm tҳt cӫa báo biӇu, chӍ in ӣ trang cuӕi cùng cӫa báo biӇu.
Î Page Header : tiêu đӅ xuҩt hiӋn ӣ đҫu mӛi trang cӫa báo biӇu.
Î Page Footer : hҥ mөc xuҩt hiӋn ӣ cuӕi mӛi trang cӫa báo biӇu.
Î Detail : phҫn nӝi dung chi tiӃt cӫa báo biӇu.
Î Group Header : tiêu đӅ mӛi nhóm dӳ liӋu (chӍ có trong loҥi báo biӇu đưӧc phân nhóm).
Î Group Footer : hҥ mөc cuӕi mӛi nhóm dӳ liӋu (chӍ có trong loҥi báo biӇu đưӧc phân nhóm).

Å /."-" "#"()0+1 % & ,20+1 *+, + 

c
c
c
c
c
c
c
c
c! c
0 c# "ccCác thӵc đơn bao gӗm :
Thӵc đơn kéo xuӕng, thӵc đơn ngang, thӵc đơn nhiӅu cҩp, thӵc đơn hӋ thӕng. Trưӟc khi kӃt thúc
thӵc hiӋn chương trình, dùng lӋnh SET SYSMENU TO DEFAULT đӇ trҧ lҥi thӵc đơn hӋ thӕng cӫa
Visual Foxpro.




‘ 3456' c
Î Đӏnh nghĩa thӵc đơn kéo xuӕng : dùng lӋnh DEFINE POPUP.
Î Đӏnh nghĩa các mөc chӑn cӫa thӵc đơn kéo xuӕng : dùng lӋnh DEFINE BAR.
Î Khai báo nӝi dung xӱ lý cho thӵc đơn kéo xuӕng :

c c
* Xӱ lý toàn cөc trên thӵc đơn kéo xuӕng : dùng lӋnh ON SELECTION POPUP <tdkx> <lӋnh>
* Xӱ lý cөc bӝ tӯng mөc chӑn cӫa thӵc đơn kéo xuӕng : dùng lӋnh ON SELECTION BAR
<btN> OF <tdkx> <lӋnh>
Î Kích hoҥt thӵc đơn kéo xuӕng : dùng lӋnh ACTIVATE POPUP.
Î Ngưng kích hoҥt thӵc đơn kéo xuӕng : dùng lӋnh DEACTIVATE POPUP.
Î Che giҩu thӵc đơn kéo xuӕng : dùng lӋnh HIDE POPUP.
Î HiӇn thӏ thӵc đơn kéo xuӕng : dung lӋnh SHOW POPUP.

f 3'
Î Đӏnh nghĩa thӵc đơn ngang : dùng lӋnh DEFINE MENU.
Î Đӏnh nghĩa các mөc chӑn cӫa thӵc đơn ngang : dùng lӋnh DEFINE PAD.
Î Khai báo nӝi dung xӱ lý cho thӵc đơn kéo ngang :
* Xӱ lý toàn cөc trên thӵc đơn ngang : dùng lӋnh ON SELECTION MENU <thӵc đơn ngang>
<lӋnh>
* Xӱ lý cөc bӝ tӯng mөc chӑn ngang cӫa thӵc đơn : dùng lӋnh ON SELECTION PAD <mөc chӑn
ngang> OF <thӵc đơn ngang> <lӋnh>
Î Kích hoҥt thӵc đơn ngang : dùng lӋnh ACTIVATE MENU.
Î Ngưng kích hoҥt thӵc đơn ngang : dùng lӋnh DEACTIVATE MENU.
Î Che giҩu thӵc đơn ngang : dùng lӋnh HIDE MENU.
Î HiӇn thӏ thӵc đơn ngang : dung lӋnh SHOW MENU.

Å 3 1: Là sӵ kӃt hӧp cӫa hai thӵc đơn ӣ trên đӇ có đưӧc mӝt hӋ thӕng thӵc đơn
nhiӅu cҩp.

3!6 : là thӵc đơn đưӧc đӏnh nghĩa bҵng lӋnh DEFINE MENU và có kèm theo viӋc
đһt tên cho thӵc đơn này là _MSYSMENU.
Có thӇ tҥo thӵc đơn nhanh chóng hơn bҵng bӝ công cө Menu Designer.
Dӏch tұp tin thӵc đơn MNX thành tұp tin MPR :
- Dùng lӋnh MODIFY MENU đӇ mӣ tұp tin thӵc đơn trong cӱa sә cӫa Menu Designer.
- Chӑn Menu, Generate tӯ thӵc đơn hӋ thӕng.
- Trong ô Output File cӫa cӱa sә đӕi thoҥi, đһt tên cho tұp tin MPR sӁ đưӧc phát sinh va sau đó
click chuӝt vào nút nhҩn Generate.
Thi hành tұp tin chương trình thӵc đơn MPR : DO <.MPR> ./.
c

c c

You might also like