c documents and settings vpct6 local settings application data mozilla firefox profiles d7bcgjwa
TRANSCRIPT
Saturday, August 19, 2006 Bài giảng LTQL 1
LLẬẬP TRÌNH QUP TRÌNH QUẢẢN LÝN LÝ
ĐĐẠẠI HI HỌỌC THĂNG LONGC THĂNG LONG
NGUYNGUYỄỄN MN MẠẠNH HNH HÙÙ[email protected]@yahoo.com
[email protected]@thanglong.edu.vn
Saturday, August 19, 2006 Bài giảng LTQL 2
GIGIỚỚI THII THIỆỆU MÔN HU MÔN HỌỌCC
ThThờời gian: 9 tui gian: 9 tuầần x 5 gin x 5 giờờ–– 2 Lý thuy2 Lý thuyếếtt–– 3 Th3 Thựực hc hàànhnh
Thi hThi họọc kc kỳỳ: B: Bàài ti tậập lp lớớnn–– ĐĐềề ttàài ti tựự chchọọnn–– ĐĐềề ttàài do gii do giááo viên cho viên chỉỉ đ địịnhnh
Saturday, August 19, 2006 Bài giảng LTQL 3
CCÁÁC KHC KHÁÁI NII NIỆỆM CƠ BM CƠ BẢẢN & N & NGÔN NGNGÔN NGỮỮ LLẬẬP TRÌNH VISUAL FOXPRO 6.0P TRÌNH VISUAL FOXPRO 6.0
BBÀÀI 1I 1
•• Cơ sCơ sởở ddữữ liliệệuu ((DatabaseDatabase))
LLàà mmộột kho cht kho chứứa ta tấất ct cảả ccáác thông tin, dc thông tin, dữữ liliệệu mu màà ngư ngườời di dùùng lưu trng lưu trữữ, x, xửử lý lý trong qutrong quáá trtrìình lnh lààm vim việệc.c.
MMộột cơ st cơ sởở ddữữ liliệệu cu cóó ththểể chchứứa ma mộột hay nhit hay nhiềều tu tệệp/bp/bảảng dng dữữ liliệệu (u (tabletable))
I. CI. Cáác khc kháái nii niệệm cơ bm cơ bảảnn
Saturday, August 19, 2006 Bài giảng LTQL 4
CSDL QuCSDL Qu¶¶n lý sinh vin lý sinh viªªnn: :
QuQu¶¶n lý, theo dâi hn lý, theo dâi håå ss¬¬ vvµµ tt××nh hnh h××nh hnh hääc tc tËËp cp cñña Sinh via Sinh viªªnn
LL−−u cu c¸̧c DL cã quan hc DL cã quan hÖÖ vvííi nhau trong ci nhau trong c¸̧c c TableTable bibiÖÖt lt lËËpp
MMççi i TableTable ll−−u tru tr÷÷ cc¸̧c dc d÷÷ liliÖÖu khu kh¸̧c nhau tc nhau tïïy theo tõng môc y theo tõng môc ®®Ých quÝch qu¶¶n lýn lý
DSSVDSSV
MaSVMaSV
HotenHoten
NgaysinhNgaysinh
GioitinhGioitinh
LopLop
AnhAnh
LylichLylich
DIEMDIEM
MaSVMaSV
MamonMamon
DiemDiem
MONHOCMONHOC
MamonMamon
MonhocMonhoc
DVhoctrinhDVhoctrinh
Saturday, August 19, 2006 Bài giảng LTQL 5
BBảảng dng dữữ liliệệu lu làà mmộột tt tậập hp hợợp cp cáác thông tin,c thông tin, đã đư đã đượợc phân tc phân tíích, chuch, chuẩẩn n hhóóa va vàà xây dxây dựựng dng dựựa trên ma trên mụục tiêu quc tiêu quảản lýn lý
•• BB¶¶ng dng dữữ liliệệuu ((TableTable))
MMộột bt bảảng dng dữữ liliệệu bao gu bao gồồm cm cáác trưc trườờng (ng (FieldsFields) d) dữữ liliệệu.u.CCáác trưc trườờng tương ng tương ứứng vng vớới ci cáác thuc thuộộc tc tíính (Properties) cnh (Properties) củủa đa đốối tưi tượợng ng ccầần qun quảản lýn lý
DSSVDSSV
MaSVMaSV
HotenHoten
NgaysinhNgaysinh
PhaiPhai
QuequanQuequan
KhoaKhoa
LopLop
TrưTrườờng ng (Fields)(Fields)
Bảng (Table)
Saturday, August 19, 2006 Bài giảng LTQL 6
•• BB¶¶ng dng dữữ liliệệuu ((ContCont))
NNếếu như cu như cáác trưc trườờng tương ng tương ứứng vng vớới ci cáác thuc thuộộc tc tíính (nh (PropertiesProperties) c) củủa a đđốối tưi tượợng thng thìì mmỗỗi đi đốối tưi tượợng cng cụụ ththểể llạại tương i tương ứứng vng vớới mi mộột t bbảản ghin ghi((RecordRecord))
Saturday, August 19, 2006 Bài giảng LTQL 7
MASVMASV HOTENHOTEN NGAYSINHNGAYSINH PHAIPHAI QUEQUANQUEQUAN KHOAKHOA LOPLOP
A01A01 Lê NaLê Na 01/01/198601/01/1986 FF HHàà TâyTây QLQL Q17Q17
A02A02 TrTrầần Bn Bììnhnh 03/08/198503/08/1985 TT HHàà NNộộii TTTT T17T17
A03A03 Lý CôngLý Công 15/12/198615/12/1986 TT Thanh HThanh Hóóaa TATA A17A17
Saturday, August 19, 2006 Bài giảng LTQL 8
II. LII. Lààm quen vm quen vớới ngôn ngi ngôn ngữữ llậập trp trìình nh Visual FoxproVisual Foxpro
dBase III PlusdBase III Plus FoxBaseFoxBase
Foxpro 2.6Foxpro 2.6Microsoft Visual FoxproMicrosoft Visual Foxpro
(3.0,4.0, 5.0, 6.0, 7.0, 8.0, 9.0)(3.0,4.0, 5.0, 6.0, 7.0, 8.0, 9.0)
dBase IVdBase IV
Saturday, August 19, 2006 Bài giảng LTQL 9
II. LII. Lààm quen vm quen vớới ngôn ngi ngôn ngữữ llậập trp trìình nh Visual FoxproVisual Foxpro
KhKhởởi đi độộng chương trng chương trììnhnh
Môi trưMôi trườờng lng lààm vim việệc c Visual FoxproVisual Foxpro
Saturday, August 19, 2006 Bài giảng LTQL 10
CCáác thc thàành phnh phầần trong môi trưn trong môi trườờng lng lààm vim việệc cc củủa Visual Foxproa Visual Foxpro
Thanh tiêu đThanh tiêu đềề ((Title barTitle bar)) Thanh Menu (Thanh Menu (Menu barMenu bar))
CCáác thanh công cc thanh công cụụ ((Tool barTool bar))
Thanh trThanh trạạng thng tháái (i (Status barStatus bar))
CCửửa sa sổổ llệệnh (Command)nh (Command)
Saturday, August 19, 2006 Bài giảng LTQL 11
CREATE <tCREATE <tªªn tn tÖÖp>p>CCóó phph¸̧p:p:
HoHoÆÆc sc söö dông Menu dông Menu
File File --> New > New --> Table > Table --> NewFile> NewFile
TTạạo bo bảảng dng dữữ liliệệu trong Visual Foxprou trong Visual Foxpro
VD: VD: TTạạo bo bảảng dng dữữ liliệệu DSSVu DSSV
Create DSSVCreate DSSV
Saturday, August 19, 2006 Bài giảng LTQL 12
Name Name –– Tên trư Tên trườờngng
Type Type -- KiKiểểu du dữữ liliệệuu
Width Width –– Đ Độộ rrộộngng
CCửửa sa sổổ thithiếết kt kếế bbảảng dng dữữ liliệệu u –– Table DesignerTable Designer
Saturday, August 19, 2006 Bài giảng LTQL 13
NameName –– Tên trư Tên trườờngng
Quy tQuy tắắc đc đặặt tênt tên
TypeType -- KiKiểểu du dữữ liliệệuu
CharacterCharacter
DateDate
NumericNumeric
LogicalLogical
MemoMemo
GeneralGeneral
……WidthWidth –– Đ Độộ rrộộngng
ChChúú ý đ ý đốối vi vớới trưi trườờng dng dữữ liliệệu kiu kiểểu Numericu Numeric
Saturday, August 19, 2006 Bài giảng LTQL 14
+ CREATE TABLE + CREATE TABLE –– SQLSQLCCúú phpháápp
CREATE TABLE <TentepDL> (<Tentruong1> <Kieu>(<Dorong>,<sCREATE TABLE <TentepDL> (<Tentruong1> <Kieu>(<Dorong>,<sèè CSTP>), CSTP>), <Tentruong2> <Kieu> (<Dorong>,<<Tentruong2> <Kieu> (<Dorong>,<ssèè CSTPCSTP>),>),
. . . . . . . . . .. . . . . . . . . .
[,[,<Tentruongn> <Kieu> (<Dorong>,<<Tentruongn> <Kieu> (<Dorong>,<ssèè CSTPCSTP>>])])
VVíí ddụụ TTạạo to tệệp dp dữữ liliệệuu DIEM.DBFDIEM.DBF
CREATE TABLE CREATE TABLE DIEMDIEM((MaSV C(5)MaSV C(5),, Mamon C(5)Mamon C(5),, Diem N(4,1)Diem N(4,1)))
Saturday, August 19, 2006 Bài giảng LTQL 15
Ban ghiTrưTrườờng (Fields)ng (Fields)
BBảản ghi (Records)n ghi (Records)
Saturday, August 19, 2006 Bài giảng LTQL 16
Use/close
MMởở bbảảng dng dữữ liliệệu ( USE )u ( USE )
CCóó phph¸̧p:p: USE <TENBANG>USE <TENBANG>
VÝ dô:VÝ dô: CLOSE ALL CLOSE ALL
VÝ dô:VÝ dô: USE DIEM USE DIEM
hohoÆÆc c USEUSE
MMộột st sốố câu lcâu lệệnh lnh lààm vim việệc vc vớới bi bảảng dng dữữ liliệệuu
ĐĐóóng bng bảảng dng dữữ liliệệu ( USE )u ( USE )
Saturday, August 19, 2006 Bài giảng LTQL 17
VÝ dô:VÝ dô: USE DSSV (mUSE DSSV (mëë ttÖÖp DSSV trp DSSV tr−í−íc khi nhc khi nhËËp thp thªªm du lim du liÖÖu)u)
CCóó phph¸̧pp
-- DDïïng cng c¸̧c phÝm mòi tc phÝm mòi tªªn, TAB, n, TAB, ENTER ENTER ®Ó®Ó di chuydi chuyÓÓn con trn con tráá vvμμnhnhËËp dp dữữ liliÖÖuu
: APPEND: APPEND
-- Ctrl+W: Ghi lCtrl+W: Ghi l¹¹i ci c¸̧c thc th««ng tin võa ng tin võa nhnhËËp vp vμμo to tÖÖp dp dữữ liliÖÖu.u.
NhNhậập dp dữữ liliệệu cho bu cho bảảng dng dữữ liliệệu (APPEND)u (APPEND)
Saturday, August 19, 2006 Bài giảng LTQL 18
CCóó phph¸̧p:p: GO GO <S<Sốố ththứứ ttựự ccủủa ba bảản ghi>n ghi>VD:VD: Go 5Go 5
GO TOP | BOTTOM: GO TOP | BOTTOM: Di chuyDi chuyểển đn đếến bn bảản ghi đn ghi đầầu tiên | cuu tiên | cuốối ci cùùngng
Di chuyDi chuyểển trong bn trong bảảng dng dữữ liliệệuu
CCóó phph¸̧p:p: SKIP SKIP <S<Sốố bbảản ghi>n ghi>VD:VD: Skip 5Skip 5
Saturday, August 19, 2006 Bài giảng LTQL 19
KKếết tht thúúc lc lààm vim việệc trong Visual Foxproc trong Visual Foxpro
QUITQUIT
KKếết tht thúúc Bc Bàài 1i 1
Bài giảng LTQL 20Saturday, August 19, 2006
BÀI 2 LÀM VIỆC VỚI CẤU TRÚC CỦA TỆP DỮ LIỆU
Hiển thị cấu trúc của bảngDISPLAY STRUCTURE
Sửa đổi cấu trúc của bảngMODIFY STRUCTURE
Sao chép cấu trúcCOPY STRUCTURE
Bài giảng LTQL 21Saturday, August 19, 2006
HIỂN THỊ CẤU TRÚC
CÚ PHÁPDISPLAY STRUCTURE
VD: Xem cấu trúc của bảng DSSV
Bài giảng LTQL 22Saturday, August 19, 2006
SỬA ĐỔI CẤU TRÚC
CÚ PHÁPMODIFY STRUCTURE
Chèn thêm, xóa bớt trườngThay đổi tên, độ rộng của trườngThay đổi kiểu dữ liệuThay đổi trật tự các trường trong tệp dữ liệu
Bài giảng LTQL 23Saturday, August 19, 2006
SAO CHÉP CẤU TRÚC
CÚ PHÁPCOPY STRUCTURE TO <NEW TABLE>
VD:Use DSSV
Copy Structure To DSSV_NewUse DSSV_New
Display Structure
Bài giảng LTQL 24Saturday, August 19, 2006
SAO CHÉP CẤU TRÚC (2)
SAO CHÉP CẤU TRÚC & NỘI DUNG TỆP DỮ LIỆUC1: COPY TO <New Table>
VD: Use DSSVCopy To DSSV_New
C2: COPY FILE <Table 1> TO < Table 2 >
VD: Copy File A:\DSSV To E:\Student\DSSV_New
Bài giảng LTQL 25Saturday, August 19, 2006
BÀI 3 LÀM VIỆC VỚI DỮ LIỆU
Bài giảng LTQL 26Saturday, August 19, 2006
Các thao tác chính làm việc với dữ liệu
Thêm dữ liệu
Hiển thị dữ liệu
Cập nhật dữ liệu
Sắp xếp dữ liệu
Bài giảng LTQL 27Saturday, August 19, 2006
THÊM BẢN GHI MỚI VÀO BẢNG DỮ LIỆU
Thêm bản ghi mớiAppend [ Append Blank ]
VD:…
Chèn thêm bản ghi mớiInsert Blank [ Insert Before ]
VD:…
Bài giảng LTQL 28Saturday, August 19, 2006
HIỂN THỊ DỮ LIỆU
Hiển thị dữ liệu không điều kiệnDisplay (Hiển thị dữ liệu ra màn hình)ListBrowse (Hiển thị dữ liệu ra màn hình dưới dạng bảng ngang)
VD: …Hiển thị dữ liệu thỏa mãn điều kiện
Display For <Điều kiện hiển thị>Browse For <Điều kiện hiển thị>
Bài giảng LTQL 29Saturday, August 19, 2006
Cập nhật, sửa đổi dữ liệu
Cập nhật dữ liệuAppend
Sửa đổi dữ liệuEditChange
VD: …
Bài giảng LTQL 30Saturday, August 19, 2006
Hủy bỏ dữ liệu
Đánh dấu các bản ghi cần xóaCtrl – T (đánh dấu các bản ghi cần xóa tại cửa sổ Browse)DELETE [FOR <biểu thức điều kiện>]
Xóa bỏ các bản ghi đã được đánh dấuPACK
Hủy bỏ toàn bộ các bản ghi trong bảng CSDLZAP
Bài giảng LTQL 31Saturday, August 19, 2006
Phục hồi dữ liệu
Lệnh RECALLCú pháp
Recall [For < biểu thức điều kiện >]
Bài giảng LTQL 32Saturday, August 19, 2006
Câu lệnh REPLACE
Cú pháp câu lệnhREPLACE [REPLACE [<ph<phạạm vi>m vi>] < ] < trưtrườờng 1ng 1 > WITH <> WITH <bibiểểu thu thứức 1c 1> [ , > [ ,
< < trưtrườờng 2ng 2 > WITH <> WITH <bibiểểu thu thứức 2c 2> ,> ,……, ,
<<trưtrườờngnngn > WITH <> WITH <bibiểểu thu thứức nc n> ]> ][FOR <[FOR <bt đibt điềều kiu kiệệnn>]>]
Trong đó
Phạm vi : vùng các bản ghi chịu tác động bởi câu lệnh
All : Tất cả các bản ghi
Record < number > : Bản ghi thứ number
Rest : Toàn bộ các bản ghi còn lại từ bản ghi hiện thời
Next < number > : Từ bản ghi hiện thời đến number bản ghi kế tiếp
Bài giảng LTQL 33Saturday, August 19, 2006
Câu lệnh REPLACE (Cont)
<trường 1>, <trường 2>,… <trường n>: Các trường sẽ được thay đổi (cập nhật) giá trị<biểu thức 1>, < biểu thức 2>,… < biểu thức n>: Giá trị được đưa và các trường tương ứng kể trên
Biểu thức: Hằng số, giá trị của hàm,…
Chú ý: Kiểu dữ liệu của <trường> phải cùng kiểu dữ liệu của <biểu thức>
Bài giảng LTQL 34Saturday, August 19, 2006
Câu lệnh REPLACE (Cont)
For <biểu thức điều kiện>Các bản ghi thỏa mãn <Biểu thức điều kiện> sẽ được thực hiện
VD:….
Bài giảng LTQL 35Saturday, August 19, 2006
Hàm IIF()
Hàm IIF() thường được kết hợp với các câu lệnh khác. VD: REPLACECú pháp
IIF(Biểu thức điều kiện, Biểu thức 1, Biểu thức 2)
Hoạt động của hàmNếu biểu thức điều kiện được thỏa mãn (BTĐK = .T.) thì hàm sẽ trả về cho ta biểu thức 1, ngược lại (BTĐK = .F.) hàm sẽ trả về biểu thức 2Biểu thức: hằng số, giá trị của hàm khác, trường,…
VD:…
Bài giảng LTQL 36Saturday, August 19, 2006
SẮP XẾP DỮ LIỆU
Một số khái niệmTrường khóa (Keys)Kiểu sắp xếp
Ascending (Tăng dần – ngầm định)Descending (Giảm dần)
Bài giảng LTQL 37Saturday, August 19, 2006
SẮP XẾP DỮ LIỆU (Cont)
Câu lệnh SORTCú pháp
SORT ON <Trường 1> [ / < kiểu sắp xếp 1 > ,][<Trường 2> / < kiểu sắp xếp 2 >, ][………]
[<Trường n> / < kiểu sắp xếp n > ][FOR< biểu thức Logic >][FIELDS <DS trường>]TO <Tên tệp mới>
Bài giảng LTQL 38Saturday, August 19, 2006
SẮP XẾP DỮ LIỆU (Cont)
Ví dụ:Use DSSVSort On MASV For Lop = “Q16” To DSSV_Q16Sort On MASV DESC For Lop = “T16” To DSSV_T16Use DSSV_Q16Browse
Bài giảng LTQL 39Saturday, August 19, 2006
SẮP XẾP DỮ LIỆU (Cont)
Câu lệnh INDEXCú phápINDEX ON <Trường khóa> [/ <kiểu sắp xếp>] TO <Tệp chỉ mục>Hoặc
INDEX ON <Trường khóa> [/ kiểu sắp xếp] TAG <Tên thẻ sắp xếp>
Bài giảng LTQL 40Saturday, August 19, 2006
SẮP XẾP DỮ LIỆU (Cont)
Sử dụng các tệp đã sắp xếp
USE <Tên tệp> INDEX <Tệp chỉ mục>
Hoặc
USE <Tên tệp> ORDER <Tên thẻ sắp xếp>
Bài giảng LTQL 41Saturday, August 19, 2006
SẮP XẾP DỮ LIỆU (Cont)
Ví dụUse DSSVIndex On MASV To DSSV_IDX Use DSSV Index DSSV_IDX
Hoặc
Use DSSVIndex On MASV Tag DSSV_Tag Use DSSV Order DSSV_Tag
Bài giảng LTQL 42Saturday, August 19, 2006
ĐẶT LỌC DỮ LIỆU
Câu lệnh SET FILTERCú pháp** Đặt lọc dữ liệu
SET FILTER TO <Biểu thức điều kiện lọc>
** Hủy bỏ đặt lọc dữ liệuSET FILTER TO
Bài giảng LTQL 43Saturday, August 19, 2006
TÌM KIẾM DỮ LIỆU
Câu lệnh LOCATECú pháp
LOCATE FOR <Biểu thức điều kiện tìm kiếm>
Một số hàm, câu lệnh đi kèm với câu lệnh LOCATE- FOUND (): cho biết có tìm thấy bản ghi nào thỏa mãn
điều kiện tìm kiếm hay không? (FOUND() = .T.)- RECNO(): cho biết số hiệu của bản ghi thỏa mãn điều
kiện tìm- CONTINUE: tiếp tục tìm kiếm
Bài giảng LTQL 44Saturday, August 19, 2006
TÌM KIẾM DỮ LIỆU (Cont)
Lệnh FIND và lệnh SEEK(Hai lệnh này chỉ sử dụng để tìm kiếm dữ liệu trên các tệp dữ liệu
đã được sắp xếp bằng lệnh INDEX)Cú Pháp
FIND <Giá trị tìm>hoặc
SEEK <Giá trị tìm>VD: …
LLẬẬP TRÌNH QUP TRÌNH QUẢẢN LÝN LÝBBÀÀI 4I 4
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 4646
NNỘỘI DUNG CHI DUNG CHÍÍNHNH
CHƯƠNG TRÌNH LCHƯƠNG TRÌNH LÀÀ GÌ ?GÌ ?CCÁÁC BƯC BƯỚỚC XÂY DC XÂY DỰỰNG CHƯƠNG TRÌNHNG CHƯƠNG TRÌNHBIBIẾẾNNMMỘỘT ST SỐỐ CÂU LCÂU LỆỆNH LNH LÀÀM VIM VIỆỆC VC VỚỚI BII BIẾẾNNMMỘỘT ST SỐỐ CHƯƠNG TRÌNH M CHƯƠNG TRÌNH MẪẪUU
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 4747
CHƯƠNG TRÌNH LCHƯƠNG TRÌNH LÀÀ GÌ ?GÌ ?
Chương trChương trììnhnh llàà mmộột đot đoạạn văn bn văn bảản chn chứứa a ttậập cp cáác lc lệệnh,nh, đư đượợc tc tạạo lo lậập nhp nhằằm gim giảải quyi quyếết t mmộột hay nhit hay nhiềều bu bàài toi toáán cn cùùng mng mộột lt lúúcc..ViViệệc xây dc xây dựựng mng mộột chương trt chương trìình ginh giảải quyi quyếết t mmộột công vit công việệc nc nàào đo đóó ⇒⇒ llậập trp trììnhnh
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 4848
CHƯƠNG TRÌNH CHƯƠNG TRÌNH (Cont)(Cont)MMộột st sốố đi điểểm chm chúú ý khi lý khi lậập trp trììnhnh–– HiHiểểu rõ vu rõ vấấn đn đềề ccầần xây dn xây dựựng thng thàành chương trnh chương trììnhnh
–– Phân nhPhân nhỏỏ vvấấn đn đềề ccầần gin giảải quyi quyếết (nt (nếếu cu cầần)n)
–– XXáác đc địịnh kinh kiểểu du dữữ liliệệu cu cầần dn dùùng trong chương trng trong chương trììnhnh
–– Chương trChương trìình hnh hóóa da dầần cn cáác vc vấấn đn đềề
–– KiKiểểm tra & chm tra & chỉỉnh snh sửửaa
–– ChChạạy thy thửử
–– KiKiểểm tra & chm tra & chỉỉnh snh sửửa ca cáác lc lỗỗi khi chi khi chạạy thy thửử
–– KKếết nt nốối ci cáác vc vấấn đn đềề nhnhỏỏ ththàành mnh mộột CT hot CT hoààn chn chỉỉnh (nnh (nếếu cu cầần)n)
–– KiKiểểm tra tom tra toààn bn bộộ chương tr chương trììnhnh
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 4949
KhKhởởi ti tạạo chương tro chương trììnhnhSoSoạạn thn thảảo chương tro chương trììnhnhBiên dBiên dịịch, chch, chạạy thy thửử vvàà ssửửa la lỗỗiiThThựực hic hiệện chương trn chương trììnhnh
CCÁÁC BƯC BƯỚỚC XÂY DC XÂY DỰỰNG NG CHƯƠNG TRÌNHCHƯƠNG TRÌNH
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5050
KHKHỞỞI TI TẠẠO CHƯƠNG TRÌNHO CHƯƠNG TRÌNH
C1: C1: MODIFY COMMAND <Tên cMODIFY COMMAND <Tên chương trhương trìình>nh>VD: VD: Modi comm MyFirstProModi comm MyFirstPro
C2: FILE C2: FILE -- NEWNEW
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5151
SOSOẠẠN THN THẢẢO CHƯƠNG TRÌNHO CHƯƠNG TRÌNH
ChChúú ththíích trong chương trch trong chương trììnhnh–– &&&& : ch: chúú ththíích cuch cuốối dòng li dòng lệệnhnh–– ** hohoặặc c NOTENOTE : l: lờời chi chúú ththíích đch đầầu dòng lu dòng lệệnhnh–– ;; : ng: ngắắt dòng lt dòng lệệnhnhSSửử ddụụng cng cáác kc kỹỹ thuthuậật sot soạạn thn thảảo văn bo văn bảảnn
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5252
LƯU CHƯƠNG TRÌNHLƯU CHƯƠNG TRÌNHBBấấm CTRL m CTRL –– WWFile File –– Save (Save As)Save (Save As)–– ChChúú ý: Tên tý: Tên tệệp chương trp chương trìình đưnh đượợc lưu sc lưu sẽẽ ccóó
phphầần mn mởở rrộộng lng làà .prg.prgVD:VD: Bai1.prgBai1.prg
MyFirstPro.prgMyFirstPro.prg
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5353
SSỬỬA LA LỖỖI CHƯƠNG TRÌNHI CHƯƠNG TRÌNH
MODIFY COMMAND <MODIFY COMMAND <Tên chương trTên chương trììnhnh>>
THTHỰỰC HIC HIỆỆN CHƯƠNG TRÌNHN CHƯƠNG TRÌNHDO <DO <Tên chương trTên chương trììnhnh>>–– VD: Do MyFirstProVD: Do MyFirstPro
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5454
VVÍÍ DDỤỤ CHƯƠNG TRÌNH CHƯƠNG TRÌNH
Cho bCho bảảng dng dữữ liliệệu DSSV.dbfu DSSV.dbfViViếết mt mộột chương trt chương trìình tnh tíính tnh tổổng đing điểểm, xm, xếếp p loloạại sinh viên bii sinh viên biếếtt–– ĐiĐiểểm TK =m TK = ( (ĐiĐiểểm LT*m LT*2 +2 + Đi Điểểm TH)/3m TH)/3–– XXếếp lop loạại i
GiGiỏỏii nnếếu SV cu SV cóó đi điểểm TK >= 9.0m TK >= 9.0KhKháá nnếếu SV cu SV cóó đi điểểm TK >= 8.0m TK >= 8.0Trung bTrung bììnhnh nnếếu SV cu SV cóó đi điểểm TK >= 6.0m TK >= 6.0KKéémm nnếếu SV cu SV cóó đi điểểm TK < 6.0m TK < 6.0
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5555
KhKháái nii niệệm Bim Biếếnn
CCáác lc lệệnh lnh lààm vim việệc vc vớới bii biếếnn
NhNhậập/Xup/Xuấất thông tint thông tin
MMộột st sốố câu lcâu lệệnh khnh kháácc
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5656
KHKHÁÁI NII NIỆỆM BIM BIẾẾNN
BiBiếến ln làà ggìì??BiBiếến nhn nhớớ vvàà BiBiếến trưn trườờngng–– BiBiếến trưn trườờngng ≈≈ Trư Trườờngng–– BiBiếến nhn nhớớ: m: mộột vt vùùng nhng nhớớ đư đượợc sc sửử ddụụng đng đểể lưu lưu
trtrữữ gigiáá trtrịị trong qutrong quáá trtrìình thnh thựực hic hiệện chương trn chương trììnhnh
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5757
BIBIẾẾN NHN NHỚỚ
CCáác thuc thuộộc tc tíính cnh củủa bia biếến nhn nhớớ–– Tên biTên biếếnn–– KiKiểểu biu biếếnn–– ĐĐộộ rrộộng cng củủa bia biếếnn–– GiGiáá trtrịị
VVíí ddụụ::_Name = _Name = ““NguyNguyễễn Văn Ann Văn An””_DateOfBirth = {09/03/1984}_DateOfBirth = {09/03/1984}_Mark = 9.5_Mark = 9.5……
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5858
CCÁÁC LC LỆỆNH LNH LÀÀM VIM VIỆỆC VC VỚỚI BII BIẾẾNN
GGáán gin giáá trtrịị cho bicho biếếnn–– STORESTORE <Gi<Giáá trtrịị>> TOTO <Bi<Biếến>n>–– <Bi<Biếến>n> = = <Gi<Giáá trtrịị>>
VVíí ddụụ: : Store 10 To _AgeStore 10 To _Age_Name = _Name = ““NguyNguyễễn Văn Ann Văn An””
–– INPUTINPUT <<““Thông bThông bááo cho chỉỉ ddẫẫnn””> > TOTO <Bi<Biếến>n>
–– ACCEPTACCEPT <<““Thông bThông bááo cho chỉỉ ddẫẫnn””> > TOTO <Bi<Biếến>n>
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 5959
LLỆỆNH INPUTNH INPUT
INPUTINPUT <<““Thông bThông bááo cho chỉỉ ddẫẫnn””> > TOTO <Bi<Biếến>n>NhNhậập cp cáác gic giáá trtrịị kikiểểu su sốố cho bicho biếến nhn nhớớVVíí ddụụ: Hi: Hiểển thn thịị thông tin cthông tin củủa ma mộột SV bt SV bấất kt kỳỳ
InputInput ““NhNhậập sp sốố ththứứ ttựự ccủủa ba bảản ghi cn ghi cầần xemn xem”” ToTo _Num_NumGo _NumGo _NumDisplayDisplay
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6060
LLỆỆNH ACCEPTNH ACCEPT
ACCEPTACCEPT <<““Thông bThông bááo cho chỉỉ ddẫẫnn””> > TOTO <Bi<Biếến>n>NhNhậập cp cáác gic giáá trtrịị kikiểểu ký tu ký tựự cho bicho biếến nhn nhớớVVíí ddụụ: Hi: Hiểển thn thịị Đi Điểểm TB cm TB củủa ma mộột SV bt SV bấất kt kỳỳ
AcceptAccept ““NhNhậập mã sinh viên cp mã sinh viên cầần xem đin xem điểểmm”” To To _Masv_MasvBrowse Fields Hoten, DiemTB for Masv = _MasvBrowse Fields Hoten, DiemTB for Masv = _Masv
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6161
XuXuấất thông tin ra mt thông tin ra mààn hn hììnhnh–– LLệệnh nh ?/??:?/??: In cIn cáác gic giáá trtrịị sau dsau dấấu ?/?? ra mu ?/?? ra mààn hn hììnhnh–– VVíí ddụụ::
_Ten_Ten = = ““NguyNguyễễn Văn Ann Văn An””_Tuoi_Tuoi = 20= 20??””BBạạn n ”” + _Ten + + _Ten + ““năm nay năm nay ”” + _Tuoi + + _Tuoi + ““tutuổổii””
NHNHẬẬP/XUP/XUẤẤT THÔNG TINT THÔNG TIN
Bạn Nguyễn Văn An năm nay 20 tuổi_
????””BBạạn n ”” + _Ten + + _Ten + ““năm nay năm nay ”” + _Tuoi + + _Tuoi + ““tutuổổii””
Bạn Nguyễn Văn An năm nay 20 tuổi_
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6262
–– VVíí ddụụ (Cont)(Cont)USE DSSVUSE DSSVGO 5GO 5? HOTEN +? HOTEN +’’ llàà sinh viên sinh viên ’’+LOP+LOP?? ?? ’’Mã Mã ’’+MASV+ +MASV+ ‘‘ llàà SV Thăng Long SV Thăng Long’’
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6363
LLỆỆNH @X,Y SAY NH @X,Y SAY ……
CCúú phpháápp@X,Y SAY@X,Y SAY ““Xâu ký tXâu ký tựự hihiểển thn thịị ra mra mààn hn hììnhnh””
Trong đTrong đóó: X,Y : X,Y –– TTọọa đa độộ dòng, cdòng, cộột hit hiểển thn thịị xâu ký txâu ký tựự
USE DSNVUSE DSNVGO 5GO 5@4,3 SAY @4,3 SAY ’’ HHọọ tên nhân viên: tên nhân viên: ’’ + HOTEN+ HOTEN@5,3 SAY @5,3 SAY ’’ NgNgàày sinh: y sinh: ’’ ++ DTOCDTOC(NGAYSINH)(NGAYSINH)@6,3 SAY @6,3 SAY ’’ Thu nhThu nhậập: p: ’’ + + STRSTR(THUNHAP)(THUNHAP)
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6464
LLỆỆNH @X,Y SAY NH @X,Y SAY ……GETGET……
CCúú phpháápp@X,Y SAY@X,Y SAY ““Xâu ký tXâu ký tựự hihiểển thn thịị ra mra mààn hn hììnhnh””
GETGET <<BiBiếến nhn nhớớ>>READREAD
Trong đTrong đóó: : X,YX,Y –– TTọọa đa độộ dòng, cdòng, cộột hit hiểển thn thịị xâu ký txâu ký tựự<<BiBiếến nhn nhớớ>: >: lưu gilưu giáá trtrịị do ngư do ngườời di dùùng nhng nhậập vp vààoo
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6565
VVíí ddụụ::
_HOTEN=SPACE(25)_HOTEN=SPACE(25) ‘‘ KhKhởởi ti tạạo bio biếến _HOTENn _HOTEN_NGAYSINH={//}_NGAYSINH={//} ‘‘ KhKhởởi ti tạạo bio biếến _NGAYSINHn _NGAYSINH_THUNHAP=0_THUNHAP=0 ‘‘ KhKhởởi ti tạạo bio biếến _THUNHAPn _THUNHAP
@4,3 SAY @4,3 SAY ’’ HHọọ tên nhân viên: tên nhân viên: ’’ GET _HOTENGET _HOTEN@5,3 SAY @5,3 SAY ’’ NgNgàày sinh: y sinh: ’’ GET _NGAYSINHGET _NGAYSINH@6,3 SAY @6,3 SAY ’’ Thu nhThu nhậập: p: ’’ GET _THUNHAPGET _THUNHAPREADREAD
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6666
MMỘỘT ST SỐỐ CÂU LCÂU LỆỆNH KHNH KHÁÁCCLỆNH SUM
LLỆỆNH NH AVERAGEAVERAGE
LLỆỆNH NH COUNTCOUNT
LLỆỆNH NH CALCULATECALCULATE
–– HHÀÀM MIN(), MAX(), AVG()M MIN(), MAX(), AVG()
LLỆỆNH NH TOTALTOTAL
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6767
LLỆỆNH SUMNH SUM
CCúú phphááppSUM <SUM <phphạạm vim vi> <> <BiBiểểu thu thứứcc> TO <> TO <BiBiếến nhn nhớớ> >
[FOR <[FOR <BiBiểểu thu thứức Logicc Logic>]>]
VD: 1. VD: 1. Sum all Thuclinh to _Tonglinh Sum all Thuclinh to _Tonglinh ?_Tonglinh?_Tonglinh
2.2. Sum all Doanhthu to _TongDT for thang = 12Sum all Doanhthu to _TongDT for thang = 12?_TongDT?_TongDT
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6868
LLỆỆNH AVERAGENH AVERAGE
CCúú phpháápp–– AVERAGEAVERAGE [<ph[<phạạm vi>] <Bim vi>] <Biểểu thu thứức> c> TOTO <Bi<Biếến n
nhnhớớ> [> [FORFOR <Bi<Biểểu thu thứức Logic>]c Logic>]
VD: 1. VD: 1. Average all DiemTB to _DTB Average all DiemTB to _DTB ?_DTB?_DTB
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 6969
LLỆỆNH COUNTNH COUNT
CCúú phpháápp–– COUNTCOUNT <ph<phạạm vi> <Bim vi> <Biểểu thu thứức> c> TOTO <Bi<Biếến nhn nhớớ> >
[[FORFOR <Bi<Biểểu thu thứức Logic>]c Logic>]
VD: Count all DiemLT to _dem for DiemLT>=5.0 VD: Count all DiemLT to _dem for DiemLT>=5.0 ?_Dem?_Dem
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 7070
LLỆỆNH CALCULATENH CALCULATE
CCúú phphááppCALCULATECALCULATE <H<Hààm tm tíính> To <Binh> To <Biếến nhn nhớớ> > [[FORFOR <Bi<Biểểu thu thứức đic điềều kiu kiệện>]n>]
HHààm tm tíính cnh cóó ththểể llàà MIN(), MAX(),AVG(),..MIN(), MAX(),AVG(),..VD: Calc Max(DiemLT) to _MaxLTVD: Calc Max(DiemLT) to _MaxLT
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 7171
LLỆỆNH TOTALNH TOTAL
CCúú phphááppTOTAL ON <TOTAL ON <TrưTrườờng khong khoáá> TO <> TO <TTệệp DBFp DBF>>
[FIELD <[FIELD <DS trưDS trườờngng>][FOR <>][FOR <BiBiểểu thu thứức Logicc Logic>]>]
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 7272
LLỆỆNH TOTALNH TOTALVVíí ddụụ::
Nguoiban Tienban
Lan Hương 1.000.000
Thanh Trúc 850.000
Lan Hương 500.00
Xuân Thành 450.000
Thanh Trúc 200.000
Nguoiban Tienban
Lan Hương 750.000
Thanh Trúc 525.000
Xuân Thành 450.000
Total On Nguoiban Field Tienban
To Doanhthu2
Doanhthu1.dbf
Doanhthu2.dbf
LLẬẬP TRÌNH QUP TRÌNH QUẢẢN LÝN LÝBBÀÀI 5I 5
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 7474
NNỘỘI DUNG CHI DUNG CHÍÍNHNH
CHƯƠNG TRÌNH LCHƯƠNG TRÌNH LÀÀ GÌ?GÌ?
CCÁÁC BƯC BƯỚỚC XÂY DC XÂY DỰỰNG CHƯƠNG TRÌNHNG CHƯƠNG TRÌNH
CCÁÁC CC CẤẤU TRU TRÚÚC CÂU LC CÂU LỆỆNHNH
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 7575
CHƯƠNG TRÌNH LCHƯƠNG TRÌNH LÀÀ GÌ?GÌ?
Chương trChương trììnhnh llàà mmộột đot đoạạn văn bn văn bảản n chchứứa ca cáác tc tậập lp lệệnh,nh, đư đượợc tc tạạo lo lậập nhp nhằằm m gigiảải quyi quyếết mt mộột hay nhit hay nhiềều bu bàài toi toáán n ccùùng mng mộột lt lúúcc..ViViệệc xây dc xây dựựng mng mộột chương trt chương trìình ginh giảải i quyquyếết mt mộột công vit công việệc nc nàào đo đóó ⇒⇒ llậập p trtrììnhnh
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 7676
CHƯƠNG TRÌNH CHƯƠNG TRÌNH (Cont)(Cont)
ThuThuậận ln lợợii–– CCóó ththểể thay đ thay đổổi ni nộội dung vi dung vàà ththựực hic hiệện ln lạạii–– CCóó ththểể ththựực hic hiệện tn tạại nhii nhiềều nơi u nơi (Menu, (Menu,
Form, TooForm, Toolbar,.., clbar,.., chương trhương trìình khnh kháác)c)
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 7777
CHƯƠNG TRÌNH CHƯƠNG TRÌNH (Cont)(Cont)
CCáác bưc bướớc cc cầần tin tiếến hn hàành khi lnh khi lậập trp trììnhnh–– HiHiểểu rõ vu rõ vấấn đn đềề ccầần xây dn xây dựựng chương trng chương trììnhnh–– Phân nhPhân nhỏỏ vvấấn đn đềề ccầần gin giảải quyi quyếếtt–– XXáác đc địịnh kinh kiểểu du dữữ liliệệu cu cầần dn dùùngng–– Chương trChương trìình hnh hóóa ca cáác vc vấấn đn đềề–– KiKiểểm tra & chm tra & chỉỉnh snh sửửaa–– ChChạạy thy thửử–– KiKiểểm tra & chm tra & chỉỉnh snh sửửa ca cáác lc lỗỗi khi chi khi chạạy thy thửử–– KKếết nt nốối ci cáác vc vấấn đn đềề nhnhỏỏ ththàành mnh mộột chương trt chương trìình nh
hohoààn chn chỉỉnhnh–– KiKiểểm tra tom tra toààn bn bộộ chương tr chương trììnhnh
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 7878
KhKhởởi ti tạạo chương tro chương trììnhnhSoSoạạn thn thảảo chương tro chương trììnhnhLưu chương trLưu chương trììnhnhBiên dBiên dịịch, chch, chạạy thy thửử vvàà ssửửa la lỗỗiiThThựực hic hiệện chương trn chương trììnhnh
CCÁÁC BƯC BƯỚỚC XÂY DC XÂY DỰỰNG CHƯƠNG TRÌNHNG CHƯƠNG TRÌNH
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 7979
KHKHỞỞI TI TẠẠO CHƯƠNG TRÌNHO CHƯƠNG TRÌNH
C1: C1: MODIFY COMMAND <Tên cMODIFY COMMAND <Tên chương hương trtrìình>nh>
VD: VD: Modi comm MyFirstProModi comm MyFirstPro
C2: FILE C2: FILE -- NEWNEW
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8080
SOSOẠẠN THN THẢẢO CHƯƠNG TRÌNHO CHƯƠNG TRÌNH
ChChúú ththíích trong chương trch trong chương trììnhnh–– &&&& : ch: chúú ththíích cuch cuốối dòng li dòng lệệnhnh–– ** hohoặặc c NOTENOTE : l: lờời chi chúú ththíích đch đầầu dòng lu dòng lệệnhnh–– ;; : ng: ngắắt dòng lt dòng lệệnhnh
SSửử ddụụng cng cáác kc kỹỹ thuthuậật sot soạạn thn thảảo văn bo văn bảảnn
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8181
LƯU CHƯƠNG TRÌNHLƯU CHƯƠNG TRÌNH
BBấấm CTRL m CTRL –– WWFile File –– Save (Save As)Save (Save As)
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8282
SSỬỬA LA LỖỖI CHƯƠNG TRÌNHI CHƯƠNG TRÌNH
MODIFY COMMAND <MODIFY COMMAND <Tên chương trTên chương trììnhnh>>
THTHỰỰC HIC HIỆỆN CHƯƠNG TRÌNHN CHƯƠNG TRÌNH
DO <DO <Tên chương trTên chương trììnhnh>>
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8383
CCÁÁC CC CẤẤU TRU TRÚÚC CÂU LC CÂU LỆỆNHNH
CCẤẤU TRU TRÚÚC TUC TUẦẦN TN TỰỰ–– CCấấu tru trúúc rc rẽẽ nhnháánhnh–– CCấấu tru trúúc lc lựựa cha chọọnn
CCẤẤU TRU TRÚÚC LC LẶẶPP
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8484
CCẤẤU TRU TRÚÚC TUC TUẦẦN TN TỰỰ
CCấấu tru trúúc rc rẽẽ nhnháánh nh IF IF …… ELSE ELSE …… ENDIFENDIF
CCấấu tru trúúc lc lựựa cha chọọnnDO CASE DO CASE …… ENDCASEENDCASE
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8585
CÂU LCÂU LỆỆNH IFNH IFIF <Biểu thức điều kiện>
<Các lệnh khi BTĐK đúng>[ELSE
<Các lệnh khi BTĐK sai>]ENDIF
IF <Biểu thức điều kiện><Các lệnh khi BTĐK đúng>
[ELSE<Các lệnh khi BTĐK sai>]
ENDIF
BTĐK
<Các lệnh khi BTĐK đúng> <Các lệnh khi BTĐK sai>
.T. .F.
END
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8686
VVíí ddụụ IF IF …… ELSE ELSE …… ENDIFENDIF
NhNhậập mp mộột st sốố bbấất kt kỳỳ. Cho bi. Cho biếết st sốố vvừừa nha nhậập lp làà ssốố chchẵẵn hay n hay ssốố llẻẻ ((ChanLe.prgChanLe.prg))
* Thiet lap moi truong lam viecSET TALK OFFSET SAFETY OFF
_so = 0 && Khoi tao gia tri bien _so@10,10 SAY "Nhap mot so bat ky: " get _soREADIF (_so % 2) = 0 then
@12,10 say("So chan")ELSE
@12,10 say ("So le")ENDIFSET TALK ON && Tra lai moi truong ngam dinh ban dauSET SAFETY ON && Tra lai moi truong ngam dinh ban dau
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8787
VVíí ddụụ IF IF …… ELSE ELSE …… ENDIFENDIF
NhNhậập đip điểểm TB cm TB củủa ma mộột SV. Cho bit SV. Cho biếết đt đáánh ginh giáá vvềề SV đ SV đóó((Nhanxet.prgNhanxet.prg))
* Thiet lap moi truong lam viecSET TALK OFF_diem = 0.0 && Khoi tao gia tri bien _diem@10,10 SAY "Nhap mot diem bat ky: " get _diemREADIF _diem>= 8 then
@12,10 say(“Hoc gioi")ELSE
IF _diem>= 6.5 then@12,10 say(“Hoc kha")
ELSE@12,10 say(“Hoc trung binh")
ENDIFENDIFSET SAFETY ON && Tra lai moi truong ngam dinh ban dau
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8888
CÂU LCÂU LỆỆNH DO CASENH DO CASEDO CASE
CASE <Biểu thức điều kiện 1><Tập lệnh khi BTĐK 1 đúng>
CASE <Biểu thức điều kiện 2><Tập lệnh khi BTĐK 2 đúng>
………..CASE <Biểu thức điều kiện n>
<Tập lệnh khi BTĐK n đúng> OTHERWISE
<Tập lệnh khi n BTĐK trên sai> ENDCASE
DO CASE CASE <Biểu thức điều kiện 1>
<Tập lệnh khi BTĐK 1 đúng> CASE <Biểu thức điều kiện 2>
<Tập lệnh khi BTĐK 2 đúng> ………..
CASE <Biểu thức điều kiện n><Tập lệnh khi BTĐK n đúng>
OTHERWISE<Tập lệnh khi n BTĐK trên sai>
ENDCASE
BTĐK 1.T.
.F.
BTĐK 2.T.
.F.
BTĐK n.T.
.F.
.T.
OTHERWISE
<Tập lệnh khi BTĐK 1 đúng>
<Các lệnh khi n BTĐK trên sai>
<Tập lệnh khi BTĐK 2 đúng>
<Tập lệnh khi BTĐK n đúng>
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 8989
VVíí ddụụ DO CASEDO CASE
* Thiet lap moi truong lam viecSET TALK OFF_diem = 0.0 && Khoi tao gia tri bien _diem
@10,10 SAY "Nhap mot diem bat ky: " get _diemREAD
DO CASECASE _diem>= 8
@12,10 say(“Hoc gioi")CASE _diem>= 6.5
@12,10 say(“Hoc kha")OTHERWISE
@12,10 say(“Hoc trung binh")ENDCASE
SET SAFETY ON && Tra lai moi truong ngam dinh ban dau
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 9090
CCẤẤU TRU TRÚÚC LC LẶẶPP
Vòng lVòng lặặp DO WHILEp DO WHILEVòng lVòng lặặp FORp FORVòng lVòng lặặp SCANp SCAN
CCẤẤU TRU TRÚÚC LC LẶẶPPNhNhóóm lm lệệnhnh đư đượợc thc thựực hic hiệện n LLẶẶP ĐI LP ĐI LẶẶP LP LẠẠII::
Theo mTheo mộột đit điềều kiu kiệện nhn nhấất đt địịnh.nh.DDừừng khi đing khi điềều kiu kiệện không còn thn không còn thỏỏa mãn.a mãn.
CCáác nhc nhóóm lm lệệnh lnh lặặp:p:DO WHILE DO WHILE …… ENDDoENDDoFOR FOR …… ENDForENDForSCAN SCAN …… ENDScanENDScan
CCấấu tru trúúc lc lặặp: p: Do WhileDo WhileCCúú phphááp:p:
Do WhileDo While <Bi<Biểểu thu thứức LOGIC>c LOGIC><<NhNhóóm lm lệệnh đưnh đượợc thc thựực hic hiệện nn nếếu: BTLogic lu: BTLogic làà .T..T.>>[[LoopLoop]][[ExitExit]]
EnddoEnddo
LoopLoop : : Chương trChương trìình snh sẽẽ quay lquay lạại thi thựực hic hiệện tn từừ đđầầu vòng lu vòng lặặpp
ExitExit :: ThoThoáát ngay kht ngay khỏỏi vòng li vòng lặặp,p,ThThựực hic hiệện ln lệệnh tinh tiếếp ngay sau Enddop ngay sau Enddo
CCấấu tru trúúc lc lặặp: p: Do WhileDo While
Điều kiện lặp
Các câu lệnh khi điều kiện lặp vẫn đúng
CCấấu tru trúúc lc lặặp: p: Do While Do While (cont.)(cont.)
VVíí ddụụ 1:1:DDùùng vòng lng vòng lặặp p Do While Do While in ra cin ra cáác bc bảản ghin ghittừừ 11--10:10:
CLEARCLEARUSE DSSVUSE DSSVDO WHILEDO WHILE RECNO()<=10RECNO()<=10
DISPLAYDISPLAYSKIPSKIP
ENDDOENDDO
CCấấu tru trúúc lc lặặp: p: Do While Do While (cont.)(cont.)
VVíí ddụụ 2:2:DDùùng vòng lng vòng lặặp Do While đp Do While đểể ttììm kim kiếếm,m, đ đếếm vm vààhihiểển thn thịị thông tin theo đi thông tin theo điềều kiu kiệện:n:
CLEARCLEARUSE DSSVUSE DSSVDEM=0DEM=0LOCATE FOR HOTEN = LOCATE FOR HOTEN = ””NGUYEN NAM HAINGUYEN NAM HAI””DO WHILEDO WHILE FOUND()FOUND()
DEM = DEM + 1DEM = DEM + 1DISPLAYDISPLAYCONTINUECONTINUE
ENDDOENDDO??””TTổổng sng sốố bbảản ghi tn ghi tììm đưm đượợc lc làà:: ““+ str(DEM)+ str(DEM)
CCấấu tru trúúc lc lặặp: p: Do While Do While (cont.)(cont.)
VVíí ddụụ 3:3:DDùùng vòng lng vòng lặặp Do While đp Do While đểể ttììm kim kiếếm vm vàà hihiểển thn thịị: :
Tieptuc = Tieptuc = ““YY””
Do While Do While Tieptuc=Tieptuc=““YY”” OROR Tieptuc=Tieptuc=““yy””LocateLocate ForFor HOTEN = HOTEN = ””NGUYEN NAM HAINGUYEN NAM HAI””IfIf Found()Found()
DisplayDisplayEndifEndifAcceptAccept ““BBạạn cn cóó mumuốốn tn tììm tim tiếếp không?p không?”” ToTo TieptucTieptucIfIf Tieptuc $ Tieptuc $ ““NnNn””
ExitExitEndifEndif
EnddEndd
CCấấu tru trúúc lc lặặp: p: ForForCCúú phphááp:p:
For For <<BiBiếến nhn nhớớ> = <> = <SSốố 11> > ToTo <<SSốố 22> [> [StepStep <<SSốố 33>]>]<<NhNhóóm lm lệệnh đưnh đượợc thc thựực hic hiệện nn nếếu: Su: Sốố 1 1 ≤≤ BiBiếến nhn nhớớ ≤≤ SSốố 22>>[[LoopLoop]][[ExitExit]][Nh[Nhóóm lm lệệnh sau nh sau Loop Loop | | ExitExit]]
EndforEndfor | | NextNext
LoopLoop : : Chương trChương trìình snh sẽẽ quay lquay lạại thi thựực hic hiệện tn từừ đđầầu vòng lu vòng lặặp (Bp (Bỏỏ qua qua NhNhóóm lm lệệnh sau nh sau LoopLoop))
ExitExit :: ThoThoáát ngay kht ngay khỏỏi vòng li vòng lặặp,p,ThThựực hic hiệện ln lệệnh tinh tiếếp ngay sau Endforp ngay sau Endfor
CCấấu tru trúúc lc lặặp: p: For For (cont.)(cont.)
VVíí ddụụ 1:1:DDùùng vòng lng vòng lặặp p For For in ra cin ra cáác bc bảản ghi tn ghi từừ 11--10:10:
CLEARCLEARUSE DSSVUSE DSSVFORFOR dem=1 dem=1 TOTO 1010
DISPLAYDISPLAYSKIPSKIP
ENDFORENDFOR
CCấấu tru trúúc lc lặặp: p: For For (cont.)(cont.)VVíí ddụụ 2:2:DDùùng vòng lng vòng lặặp p For For in ra cin ra cáác bc bảản ghi n ghi chchẵẵnn ttừừ 22--10:10:
CLEARCLEARUSE DSSVUSE DSSVStoreStore 2 2 ToTo II && Initial Value&& Initial Value ≈≈ I = 2I = 2StoreStore 10 10 ToTo JJ && Final Value&& Final Value ≈≈ J = 10J = 10StoreStore 2 2 ToTo KK && Step Value&& Step Value ≈≈ K = 2K = 2FORFOR dem = dem = II TOTO J J STEPSTEP KK
GOGO demdem && Nh&& Nhảảy đy đếến bn bảản ghi sn ghi sốố demdemDISPLAYDISPLAY
ENDFORENDFOR
CCấấu tru trúúc lc lặặp: p: ScanScanCCúú phphááp:p:
Scan Scan [[ScopeScope] [] [FORFOR B.thB.thứức LOGIC1c LOGIC1] [] [WHILEWHILE B.thB.thứức LOGIC2c LOGIC2] ] <<NhNhóóm lm lệệnh đưnh đượợc thc thựực hic hiệện>n>[[LoopLoop]][[ExitExit]][Nh[Nhóóm lm lệệnh sau nh sau Loop Loop | | ExitExit]]
EndScanEndScan
For For B.thB.thứức LOGIC1c LOGIC1: C: Cáác bc bảản ghi thn ghi thỏỏa mãn BTLG1=.T.a mãn BTLG1=.T.While While B.thB.thứức LOGIC2c LOGIC2: Trong khi BTLG2 = .T.: Trong khi BTLG2 = .T.Scope: Scope: ALLALL, , NEXTNEXT nn, , RECORDRECORD mm, v, vàà RESTRESTLoop : Loop : Chương trChương trìình snh sẽẽ quay lquay lạại thi thựực hic hiệện tn từừ
đđầầu vòng lu vòng lặặp (Bp (Bỏỏ qua qua NhNhóóm lm lệệnh sau nh sau LoopLoop))Exit : Exit : ThoThoáát ngay kht ngay khỏỏi vòng li vòng lặặp, Thp, Thựực hic hiệện cn cáác lc lệệnh sau Endscannh sau Endscan
CCấấu tru trúúc lc lặặp: p: Scan Scan (cont.)(cont.)
VVíí ddụụ 1:1:DDùùng vòng lng vòng lặặp p Scan Scan in ra cin ra cáác sinh viênc sinh viênhhọọc lc lớớp Q18:p Q18:
CLEARCLEARUSE DSSVUSE DSSVSCANSCAN ForFor Lop=Lop=““Q18Q18””
DISPLAYDISPLAYENDSCANENDSCAN
CCấấu tru trúúc lc lặặp: p: Scan Scan (cont.)(cont.)
VVíí ddụụ 2:2:DDùùng vòng lng vòng lặặp p Scan Scan in ra 10in ra 10 sinh viên đ sinh viên đầầu tiên u tiên ccóó đi điểểm TB > 8.0:m TB > 8.0:
CLEARCLEARUSE DSSVUSE DSSVdem=0dem=0SCANSCAN ForFor DiemTB>8 DiemTB>8 WhileWhile dem<10dem<10
DISPLAYDISPLAYdem = dem + 1dem = dem + 1
ENDSCANENDSCAN
Saturday, August 19, 2006 Bài giảng LTQL 103
MỘT SỐ LỆNH THIẾT LẬP MÔI TRƯỜNG
MỘT SỐ HÀM CÓ SẴN TRONG VISUALFOXPRO
Saturday, August 19, 2006 Bài giảng LTQL 104
THIẾT LẬP MÔI TRƯỜNGSET TALK ON | OFF
Bật/tắt chức năng hiện thị thông báo hay kết quả tính toán của một sốcâu lệnh (AVERAGE, SUM, CALCULATE,…)
SET SAFETY ON | OFFBật/Tắt chế độ hiển thị hộp thoại thông báo khi có sự thay đổi cấu trúc của bảng dữ liệu
SET DATE TO AMERICAN | FRENCH | MDY | DMY |YMDThiết lập chế độ hiển thị ngày giờ theo các định dạng khác nhau
(mm/dd/yy, dd/mm/yy và yy/mm/dd)
SET DELETED OFF | ONBật/tắt chế độ thao tác với những bản ghi được đánh dấu xóa
Saturday, August 19, 2006 Bài giảng LTQL 105
THIẾT LẬP MÔI TRƯỜNG
SET DEFAULT TO <Path>Thiết lập đường dẫn mặc định đến vị trí Path
Saturday, August 19, 2006 Bài giảng LTQL 106
MỘT SỐ HÀM CÓ SẴNHàm liên quan đến các thao tác về tệp
Hàm có đối số là kiểu số
Hàm có đối số là kiểu ký tự
Hàm có đối số là kiểu ngày, thời gian
Saturday, August 19, 2006 Bài giảng LTQL 107
Hàm liên quan tới tệpALIAS() : Trả về bí danh của tệp đang mở
DBF(vùng/nhãn) : Trả về đường dẫn tệp đang mở
EOF() : Trả về giá trị .T. nếu là bản ghi cuối
BOF() : Trả về giá trị .T. nếu là bản ghi đầu tiên
Found() : Trả về .T. nếu tìm được bản ghi (Sử dụng với lệnh Locate, Find, Seek)
RecCount() : Trả về tổng số bản ghi của tệp đang mở
RecNo() : Trả về chỉ số của bản ghi hiện thời
Saturday, August 19, 2006 Bài giảng LTQL 108
Hàm có đối số là kiểu số
IIF(BT Logic, Gtrị 1, Gtrị 2) : Trả về Gtrị1 nếu BT Logic = .T.Gtrị2 nếu BT Logic = .F.
INT(biến số) : Trả về giá trị phần nguyên của số
MAX(BT1, BT2, …) : Trả về giá trị lớn nhất trong các BT
MIN(BT1, BT2, …) : Trả về giá trị nhỏ nhất trong các BT
MOD(Số bị chia, Số chia) : Trả về phần dư của phép chia 2 số
SQRT(biến số) : Trả về căn bậc hai của biến số
STR(biến số, n, m) : Chuyển đổi 1 số thành 1 xâu ký tựcó độ dài=n và có m chữ số thập phân
Saturday, August 19, 2006 Bài giảng LTQL 109
Hàm có đối số là kiểu ký tựALLTRIM(biến xâu) : Loại bỏ tất cả các ký tự trống ở 2 đầu
LEN(biến xâu) : Trả về độ dài của xâu ký tự
VAL(biến xâu) : Chuyển đổi xâu ký tự về dạng số
LOWER(biến xâu) : Trả về xâu ký tự toàn chữ thường
UPPER(biến xâu) : Trả về xâu ký tự toàn chữ hoa
MACRO(&biến nhớ/xâu) : Trả về giá trị của biến nhớ/biến trường
Saturday, August 19, 2006 Bài giảng LTQL 110
Hàm có đối số là kiểu ngày/thời gian
MONTH(biến ngày) : Trả về tháng ở dạng kiểu số
YEAR(biến ngày) : Trả về năm ở dạng kiểu số
CMONTH(biến ngày kiểu D) : Trả về tháng ở dạng ký tự
CTOD(biến ngày kiểu C) : Chuyển đổi một biến ngày kiểu C về kiểu D
DTOC(biến ngày kiểu D) : Chuyển đổi một biến ngày kiểu D về kiểu C
DAY(biến ngày kiểu D) : Trả về ngày ở dạng kiểu số
DATE() : Trả về ngày hệ thống
TIME() : Trả về ngày giờ hệ thống
LLẬẬP TRÌNH QUP TRÌNH QUẢẢN LÝN LÝBBÀÀI 6I 6
LLẬẬP TRÌNH VP TRÌNH VỚỚI CI CÁÁC ĐC ĐỐỐI TƯI TƯỢỢNGNG
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 112112
MMỘỘT ST SỐỐ KHKHÁÁI NII NIỆỆMM
ĐĐốối tưi tượợng (ng (ObjectsObjects))
SSựự kikiệện (n (EventsEvents))
Phương thPhương thứức (c (MethodsMethods))
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 113113
ĐĐỐỐI TƯI TƯỢỢNG NG -- ObjectsObjectsLLàà ccáác thc thàành phnh phầần tham n tham gia qugia quáá trtrìình xây dnh xây dựựng, ng, thithiếết kt kếế mmộột chương trt chương trìình, nh, mmộột pht phầần mn mềềm m ứứng dng dụụngngĐĐốối tưi tượợng cng cóó ccáác c thuthuộộc c ttíínhnh ((propertiesproperties) mô t) mô tảảxung quanh nxung quanh nóó..CCáác thuc thuộộc tc tíính đưnh đượợc thic thiếết t llậập cp cáác gic giáá trtrịị khi thikhi thiếết kt kếế đđốối tưi tượợng hay khi thng hay khi thựực c hihiệện chương trn chương trììnhnh
Đối tượng(Object)
Thuộc tính(Properties)
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 114114
VVíí ddụụ vvềề Đ ĐỐỐI TƯI TƯỢỢNGNGMMộột sinh viên da trt sinh viên da trắắng, tng, tóóc vc vààng, mng, mắắt xanh nt xanh nóói tii tiếếng Anhng Anh–– ĐĐốối tưi tượợngng: Sinh viên: Sinh viên–– ThuThuộộc tc tíínhnh: :
MMààu da: u da: trtrắắngngMMààu tu tóócc: v: vààngngMMààu mu mắắtt: xanh: xanhNgôn ngNgôn ngữữ: ti: tiếếng Anhng Anh
MMộột qut quảả bbóóng tròn, bng tròn, bằằng da nng da nặặng 1.5kgng 1.5kg–– ĐĐốối tưi tượợngng: Qu: Quảả bbóóngng–– ThuThuộộc tc tíínhnh: :
HHìình dnh dáángng: tròn: trònChChấất lit liệệuu: b: bằằng dang daCân nCân nặặng:ng: 1.5kg1.5kg
v.vv.v……
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 115115
SSỰỰ KIKIỆỆN N -- EVENTSEVENTS
SSựự kikiệện ln làà mmộột t BiBiếến cn cốố khi ngưkhi ngườời di dùùng ng ththựực hic hiệện (tn (táác đc độộng) mng) mộột ht hàành đnh độộng nng nàào o đđóó lên đ lên đốối tưi tượợngngVD: CVD: Cầầu thu thủủ đ đáá ququảả bbóóngng–– ĐĐốối tưi tượợng tng táác đc độộng: cng: cầầu thu thủủ–– SSựự kikiệệnn: : đđáá–– ĐĐốối tưi tượợng chng chịịu tu táác đc độộng: qung: quảả bbóóngng
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 116116
PHƯƠNG THPHƯƠNG THỨỨC C -- MethodMethod
Phương thPhương thứức: lc: làà hhàành vi, phnh vi, phảản n ứứng cng củủa a đđốối tưi tượợng trưng trướớc mc mộột st sựự kikiệện (bin (biếến cn cốố) n) nàào o đđóóVVíí ddụụ: C: Cầầu thu thủủ đ đáá ququảả bbóóng bng bậật vt vàào tưo tườờng ng nnảảy ray ra–– ĐĐốối tưi tượợng tng táác đc độộng: cng: cầầu thu thủủ–– SSựự kikiệện:n: đ đáá–– ĐĐốối tưi tượợng chng chịịu tu táác đc độộng: qung: quảả bbóóngng–– Phương thPhương thứứcc: b: bậật vt vàào tưo tườờng, nng, nảảy ly lạạii
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 117117
VVíí ddụụ (ti(tiếếp)p)
An cAn cầầm kim đâm vm kim đâm vàào quo quảả bbóóng bay, qung bay, quảảbbóóng nng nổổ, ph, pháát ra tit ra tiếếng kêung kêu
–– ĐĐốối tưi tượợngng: qu: quảả bbóóng bayng bay
–– SSựự kikiệệnn: : đâm quđâm quảả bbóóngng
–– Phương thPhương thứứcc: n: nổổ, ph, pháát ra tit ra tiếếng kêung kêu
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 118118
Đối tượng(Object)
Thuộc tính(Properties)
Hành vi(Methods)
Sự kiện(Events)
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 119119
MMỘỘT ST SỐỐ Đ ĐỐỐI TƯI TƯỢỢNG CHNG CHÍÍNHNH1. FORM Biểu mẫu 8. List box Hộp danh sách
9.
10.
11.
12.
13.
14.
Edit Box
Image
PageFrame
Label
Shape
7. Combo box Hộp Combo Line Đường kẻ
2. Text Box Hộp văn bản Hộp văn bản
3. Command Button
Check Box
Option Button
Grid
Nút lệnh Tranh, ảnh
4. Hộp kiểm Khung trang
5. Nút tùy chọn Nhãn
6. Khung lưới Hình vẽ
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 120120
CommandButton CommandGroup Checkbox PageFrame
Label Text box
List box
Edit box
Grid
Combo box
Spinner
Line
FORM
Option Group
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 121121
TÊN ĐTÊN ĐỐỐI TƯI TƯỢỢNGNG
Tên (NaTên (Name)me) đ đốối tưi tượợng lng làà mmộột thut thuộộc tc tíính nh ddùùng đng đểể phân biphân biệệt git giữữa ca cáác đc đốối tưi tượợngngTên đTên đốối tưi tượợng ng
= ti= tiềền tn tốố chchỉỉ loloạại đi đốối tưi tượợng + thông tin liên quanng + thông tin liên quan
VVíí ddụụ::
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 122122
Object Prefix Examples
FORM frm frmNhapDSSV, frmTimkiem
TEXTBOX txt txtHoten, txtKhoa, txtLop
COMBO BOX cbo cboMasv, cboQuanhuyen
COMMAND BUTTON cmd cmdNhap, cmdThoat
CHECK BOX chk chkDiemLT, chkDiemTH
OPTION BOX opt optGioitinh
GRID grd grdHienthi, grdDanhsach
LIST BOX lst lstDSSV, lstThanhpho
LABEL lbl lblHoten, lblKhoa
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 123123
LLÀÀM VIM VIỆỆC VC VỚỚI CI CÁÁC ĐC ĐỐỐI TƯI TƯỢỢNGNG
FORMFORM –– BiBiểểu mu mẫẫuu–– File File –– New New -- FormForm
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 124124
CCÁÁC THC THÀÀNH PHNH PHẦẦN TRONG N TRONG MÔI TRƯMÔI TRƯỜỜNG LNG LÀÀM VIM VIỆỆCC
Form Designer
FORM
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 125125
CCÁÁC THC THÀÀNH PHNH PHẦẦN TRONG MÔI TRƯN TRONG MÔI TRƯỜỜNG LNG LÀÀM VIM VIỆỆCCProperties
Form Controls
Layout
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 126126
Label
TextBox
CommandButtom
Option GroupEdit Box
Check Box
List Box
Grid
Combo Box
Image
Spinner
PageFrame
Form Controls
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 127127
MMỘỘT ST SỐỐ THUTHUỘỘC TC TÍÍNH CHNH CHÍÍNH CNH CỦỦA FORMA FORM
Tên thuộc tính Ý nghĩa Giá trị
8. Width Độ rộng của Form
9. Visible Form xuất hiện hay ẩn.T. – Xuất hiện.F. - Ẩn
1. Name Tên Form
2. Caption Thông tin hiển thị trên thanh tiêu để của Form
Vị trí xuất hiện khi Form được kích hoạt
4. BackColor Màu nền Form
5. BoderStyle Dạng viền của Form 0, 1, 2, 3
6. WindowState Trạng thái khi Form xuất hiện 0, 1, 2
7. Height Chiều cao của Form
3. AutoCenter.T. – giữa màn hình.F. – vị trí bất kỳ
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 128128
MMỘỘT ST SỐỐ SSỰỰ KIKIỆỆN VN VÀÀ PHƯƠNG TH PHƯƠNG THỨỨC CC CỦỦA FORMA FORM
Tên sự kiện Ý nghĩa
Tên phương thức Ý nghĩa
1. Release Form ngừng có hiệu lực
2. Refresh Làm tươi lại Form
3. Show Hiển thị Form
4 Hide Ẩn Form
1. Activate Form bắt đầu có hiệu lực (được kích hoạt)
2. Load Trước khi các đối tượng trong Form được tạo
Khi các đối tượng được tạo
4. Click Khi người dùng click vào đối tượng
5. DblClick Khi người dùng click đúp vào đối tượng
6. Destroy Khi đối tượng được giải thoát
3. Init
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 129129
SSỬỬ DDỤỤNG CNG CÁÁC ĐC ĐỐỐI TƯI TƯỢỢNGNG
Trong quTrong quáá trtrìình thinh thiếết kt kếế Form, ta cForm, ta cóó ththểể đưa c đưa cáác c đđốối tưi tượợng (Objects ng (Objects -- Controls) vControls) vàào trong Formo trong FormThanh công cThanh công cụụ Form ControlsForm Controls–– ControlsControls
Command Button, Label, Textbox, Checkbox,..Command Button, Label, Textbox, Checkbox,..
–– Containers Containers Command Button GroupCommand Button GroupGridGridOption Button GroupOption Button GroupPageframePageframe
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 130130
Form Caption
Label
Grid
Label Option Group
Combobox
Textbox
Command Button
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 131131
XXỬỬ LÝ CLÝ CÁÁC SC SỰỰ KIKIỆỆNN
Danh sách các đối tượng (Object) có trong Form
Danh sách các sự kiện (Events – Procedure) của từng đối tượng
Muốn xử lý sự kiện của đối tượng nào thì kích đúp vào đối tượng đó
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 132132
LƯU TRLƯU TRỮỮ FORMFORM
FILE FILE –– SAVE (SAVE AS)SAVE (SAVE AS)
HoHoặặc Bc Bấấm m
<Tên Form>.sct <Tên Form>.scx
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 133133
THTHỰỰC HIC HIỆỆN & SN & SỬỬA CHA CHỮỮA FORMA FORM
ThThựực hic hiệện Form:n Form:
Do Form <Tên Form>Do Form <Tên Form>
VD: Do Form E:VD: Do Form E:\\frmQLSV.scxfrmQLSV.scx
SSửửa cha chữữa la lạại Form:i Form:
Modify Form Modify Form <<ĐưĐườờng dng dẫẫn đn đếến form>n form>
VD: Modi Form E:VD: Modi Form E:\\frmQLSV.scxfrmQLSV.scx
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 134134
MMỘỘT ST SỐỐ VVÍÍ DDỤỤ MMẪẪUU
FrmLoginFrmLogin
Label
Line
Command Button
Text box
FORM
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 135135
Object Properties Value
Caption Login
Name LblTitle
Name lblUsername
Caption “User name”
Fontsize 12
FontName Arial
Forecolor 0,0,128
Name lblPassword
Caption “Password”
Fontsize 12
FontName Arial
Forecolor 0,0,128
4 Label
3 Label
Name frmLogin
MinButton .T.
MaxButton .F.
Caption “User Information”
Fontsize 22
FontName Fixedsys
Forecolor 128,0,0
2 Label
1 FORM
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 136136
Object Properties Value
Name cmdOK
Caption \<OK
Name cmdCancel
Name txtPassword
Fontname “Arial”7 Textbox
Fontsize 12
5 Command buttonCaption \<Cancel
Name txtUsername
Fontname “Arial”
Fontsize 12
Passwordchar “*”
6 Textbox
4 Command button
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 137137
Các dòng
chú thích
Các câu lệnh
Và
khối lệnh
XXỬỬ LÝ SLÝ SỰỰ KIKIỆỆNN
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 138138
DEMO DEMO -- PreviewPreview
Chọn Program – Do hoặc bấm nút trên thanh công cụ để chạy chương trình
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 139139
MMỘỘT ST SỐỐ CCÁÁC ĐC ĐỐỐI TƯI TƯỢỢNG KHNG KHÁÁCC
TextboxTextbox
Combo boxCombo box
GridGrid
Option buttonOption button
Check boxCheck box
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 140140
TEXT BOXTEXT BOX
Cho phCho phéép ngưp ngườời di dùùng thêm, chng thêm, chỉỉnh snh sửửa da dữữ liliệệuu
ĐĐịịnh dnh dạạng dng dữữ liliệệuu–– KiKiểểu du dữữ liliệệu nhu nhậậpp–– KiKiểểu hiu hiểển thn thịị–– ThuThuộộc tc tíính nh PasswordcharPasswordchar
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 141141
TEXT BOXTEXT BOX
Chọn Textbox cần định dạng – Right Click Textbox Builder
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 142142
MMỘỘT ST SỐỐ THUTHUỘỘC TC TÍÍNH VNH VÀÀ SSỰỰ KIKIỆỆN CHN CHÍÍNH CNH CỦỦA TEXT BOXA TEXT BOX
Thuộc tính
Name Tên hộp textbox
ReadOnly Cho phép chỉ đọc hay không? (.T. : chỉ đọc)
Maxlength Độ dài tối đa của xâu ký tự nhập
Value Giá trị của hộp textbox
Sự kiện
Click Click chuột vào ô textbox
Lost Focus Di chuyển tiêu điểm sang đối tượng khác
Got Focus Hộp textbox nhận tiêu điểm
InteractiveChange Thay đổi nội dung của hộp textbox
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 143143
COMBO BOXCOMBO BOXCCóó 2 lo2 loạại: i: thuthuộộc tc tíính Stylenh Style
–– Style = 0: Drop down ComboStyle = 0: Drop down Combo–– Style = 2: Drop down ListStyle = 2: Drop down List
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 144144
MMỘỘT ST SỐỐ THUTHUỘỘC TC TÍÍNH VNH VÀÀ SSỰỰ KIKIỆỆN CHN CHÍÍNH CNH CỦỦA COMBO BOXA COMBO BOX
Thuộc tính
Name Tên hộp Combo
RowSourre Tên nguồn dữ liệu
RowSourceType Kiểu của nguồn dữ liệu
Sự kiện
Lost Focus Di chuyển tiêu điểm sang đối tượng khác
GotFocus Grid nhận tiêu điểm
AfterRowColChange Di chuyển con trỏ bản ghi trên khung lưới
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 145145
TruyTruyềền dn dữữ liliệệu (Builder)u (Builder)cho Combo boxcho Combo box
DDữữ liliệệu đưu đượợc gc gáán cho Combo box theo 3 cn cho Combo box theo 3 cááchch–– Danh sDanh sáách bch bằằng tay (Dng tay (Data entered by hand)ata entered by hand)–– TrưTrườờng dng dữữ liliệệu (Fields from a table)u (Fields from a table)–– MMảảng (ng (íít dt dùùng)ng)
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 146146
Đưa dĐưa dữữ liliệệu tu từừ bbảảng vng vàào Combo Boxo Combo Box
Right Click vRight Click vàào Combo Box o Combo Box –– BuilderBuilder
Chọn bảng
Danh sách trường DS trường đã chọn
Chọn từng trường
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 147147
GRID GRID –– KHUNG LƯ KHUNG LƯỚỚII
LLàà đ đốối tưi tượợng ng ddạạng containerng containerChuyên dChuyên dùùng ng hihiểển thn thịị, bi, biểểu u didiễễn dn dữữ liliệệu u
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 148148
MMỘỘT ST SỐỐ THUTHUỘỘC TC TÍÍNH VNH VÀÀ SSỰỰ KIKIỆỆN CHN CHÍÍNH CNH CỦỦA GRIDA GRID
Thuộc tính
Name Tên Grid
ReadOnly Cho phép chỉ đọc hay không đối với dữ liệu? (.T. : chỉ đọc)
RecordSourceType Kiểu của nguồn dữ liệu
ControlSource Nguồn dữ liệu
Sự kiện
Click Click chuột vào khung lưới
AfterRowColChange Di chuyển con trỏ bản ghi trên khung lưới
Phương thức
Refresh Cập nhật lại dữ liệu khi có sự thay đổi từ nguồn
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 149149
Option GroupOption Group
Khi ngưKhi ngườời di dùùng chng chỉỉ đư đượợc phc phéép chp chọọn n 1 trong s1 trong sốố nhinhiềều giu giáá trtrịịVD: GiVD: Giớới ti tíính, tnh, tìình trnh trạạng hôn nhân, ng hôn nhân, v.v..v.v..Option Group BuilderOption Group Builder
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 150150
MMỘỘT ST SỐỐ THUTHUỘỘC TC TÍÍNH VNH VÀÀ SSỰỰ KIKIỆỆN CN CỦỦA A OPTION GROUPOPTION GROUP
Thuộc tính
Name Tên OptionGroup
Caption Thông tin tiêu đề cho các nút tùy chọn
Sự kiện
Click Khi người dùng Click, chọn một trong số các tùy chọn
ButtonCount Số lượng các nút tùy chọn
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 151151
CheckboxCheckbox
Khi ngưKhi ngườời di dùùng mung muốốn ln lựựa cha chọọn nhin nhiềều giu giáátrtrịị ccùùng lng lúúccVD: SVD: Sởở ththíích, Cch, Cáác môn hc môn họọc tc tựự chchọọnn
LLẬẬP TRÌNH QUP TRÌNH QUẢẢN LÝN LÝBBÀÀI 7I 7
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 153153
NNộội dung chi dung chíínhnh
ThiThiếết kt kếế BBááo co cááo (Reports)o (Reports)
Xây dXây dựựng menu cho tong menu cho toààn hn hệệ ththốốngng
ĐĐềề ttààii
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 154154
THITHIẾẾT KT KẾẾ BBÁÁO CO CÁÁO O –– REPORTSREPORTS
BBááo co cááo lo làà mmộột ct cáách thch thểể hihiệện dn dữữ liliệệuuĐưĐượợc xây dc xây dựựng tng từừ mmộột hay nhit hay nhiềều u ngunguồồn dn dữữ liliệệu (tables)u (tables)2 ki2 kiểểu bu bááo co cááoo–– Report WizardReport Wizard–– NgưNgườời li lậập trp trìình tnh tựự thithiếết kt kếế vvàà xây dxây dựựngng
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 155155
TTạạo Report bo Report bằằng Wizardng Wizard
1
2
3
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 156156
6 6 bưbướớc tc tạạo Report bo Report bằằng Wizardng Wizard
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 157157
6 6 bưbướớc tc tạạo Report bo Report bằằng Wizardng WizardStep 1 Step 1 –– Select FieldsSelect Fields
ChChọọn trưn trườờng dng dữữ liliệệu hiu hiểển thn thịị lên blên bááo co cááooStep 2 Step 2 –– Group RecordsGroup Records
NhNhóóm dm dữữ liliệệu theo cu theo cáác trưc trườờngngStep 3 Step 3 –– Choose Report StyleChoose Report Style
ChChọọn kin kiểểu mu mẫẫu bu bááo co cááooStep 4 Step 4 –– Define Report LayoutDefine Report Layout
ThiThiếết lt lậập chp chếế đ độộ hihiểển thn thịị bbááo co cááooStep 5 Step 5 –– Sort RecordsSort Records
XXáác đc địịnh snh sắắp xp xếếp bp bảản ghi theo 1 hay nhin ghi theo 1 hay nhiềều u trưtrườờng DLng DLStep 6 Step 6 –– FinishFinish
KKếết tht thúúcc
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 158158
TTạạo Report bo Report bằằng Wizard (1)ng Wizard (1)ChChọọn trưn trườờng dng dữữ liliệệuu
Mở bảng dữ liệu
Chọn bảngdữ liệu
Chọn trườnghiển thị lên Report
1
2
34
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 159159
TTạạo Report bo Report bằằng Wizard (1)ng Wizard (1)ChChọọn trưn trườờng dng dữữ liliệệuu
Danh sách trườngđã chọn
Chuyển sang bước tiếp theo
5
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 160160
TTạạo Report bo Report bằằng Wizard (2)ng Wizard (2)NhNhóóm dm dữữ liliệệu theo trưu theo trườờngng
Chọn trường nhóm
Chuyển sang bước tiếp theo
1
2
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 161161
TTạạo Report bo Report bằằng Wizard (3)ng Wizard (3)ChChọọn kin kiểểu mu mẫẫu bu bááo co cááoo
Chọn kiểu mẫubáo cáo
Kiểu mẫu đã chọn
Chuyển sang bước tiếp theo
1
2
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 162162
TTạạo Report bo Report bằằng Wizard (4)ng Wizard (4)ThiThiếết lt lậập chp chếế đ độộ hihiểển thn thịị
Chuyển sang bước tiếp theo
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 163163
TTạạo Report bo Report bằằng Wizard (5)ng Wizard (5)SSắắp xp xếếp dp dữữ liliệệu trên bu trên bááo co cááoo
Chọn trường sắp xếp
1
2
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 164164
TTạạo Report bo Report bằằng Wizard (5)ng Wizard (5)SSắắp xp xếếp dp dữữ liliệệu trên bu trên bááo co cááoo
Danh sách trườngSX đã chọn
Chuyển sang bước tiếp theo
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 165165
TTạạo Report bo Report bằằng Wizard (6)ng Wizard (6)KKếết tht thúúcc
Tiêu đềtrang báo cáo
Chọn chế độkết thúc
Kết thúc
Hiển thịbáo cáo
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 166166
KKếết qut quảả hihiểển thn thịị bbááo co cááoo
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 167167
ThiThiếết kt kếế Reports bReports bằằng tayng tay
File File –– New New –– Report Report ––New fileNew file
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 168168
ThiThiếết kt kếế Reports bReports bằằng tay (ting tay (tiếếp)p)
Tiêu đề báo cáo
Nội dung chi tiết báo cáo
Kết thúc báo cáo
Các đối tượng trong báo cáo
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 169169
ThiThiếết kt kếế Reports bReports bằằng tay (ting tay (tiếếp)p)Data EnvironmentData Environment–– Report lReport lấấy dy dữữ liliệệu tu từừ ccáác bc bảảng dng dữữ liliệệu đã đưu đã đượợc c đưa vđưa vàào trong Data Environment co trong Data Environment củủa Reporta Report
–– Right Click => Right Click => Data Data EEnvironmentnvironment
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 170170
Đưa bĐưa bảảng dng dữữ liliệệu vu vàào o Data EnvironmentData Environment
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 171171
Report ControlsReport Controls
CCáác đc đốối tưi tượợng dng dùùng đng đểể thithiếết kt kếế, xây , xây ddựựng bng bááo co cááoo
Nhãn, tiêu đề Các trường dữ liệu
Đường thẳng tạo khung
Các đối tượng khác
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 172172
ThThựực hic hiệện Reportsn Reports
View/PreviewView/Preview hohoặặc c Print PreviewPrint Preview
Report FormReport Form ReportName.frxReportName.frx[Preview Environment][Preview Environment]
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 173173
Xây dXây dựựng Menu cho hng Menu cho hệệ ththốốngngMenu: lMenu: làà mmộột ct cáách thch thểể hihiệện cn cáác c mmụục, chc, chứức năng cc năng củủa ha hệệ ththốốngngTTạạo Menu:o Menu:–– CCáách 1:ch 1:
B1: File B1: File -- NewNewB2: MenuB2: MenuB3: New FileB3: New File
–– CCáách 2:ch 2:LLệệnh Create Menunh Create Menu
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 174174
ThiThiếết kt kếế MenuMenu
VVíí ddụụ: Thi: Thiếết kt kếế menu vmenu vớới ci cáác cc cấấp đp độộ sau:sau:
Hệ thống
Cấu hình
Thiết đặt máy in
Thoát
Cập nhật
Danh mục sách
Danh sách mượn
Báo cáo
Báo cáo theo đầu sách
Báo cáo theo sinh viên
Trợ giúp
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 175175
ThiThiếết kt kếế MenuMenuCCửửa sa sổổ Menu DesignerMenu Designer
–– PromptPrompt: Tên c: Tên cáác mc mụục Menuc Menu
–– ResultResult: Ki: Kiểểu cu củủa ma mụục Menuc Menu
SubmenuSubmenu: C: Cóó menu cmenu cấấp dưp dướớii
CommandCommand: Th: Thựực hic hiệện 1 câu ln 1 câu lệệnh. nh.
ProcedureProcedure: Th: Thựực hic hiệện thn thủủ ttụụcc
–– Menu levelMenu level: C: Cáác mc mứức đc độộ ccủủa menu. a menu. Menu Bar lMenu Bar làà ccấấp đp độộ cao nhcao nhấất.t.
–– InsertInsert: Ch: Chèèn thêm mn thêm mộột mt mụục Menuc Menu
–– DeleteDelete: x: xóóa ma mộột mt mụục Menuc Menu
–– PreviewPreview: Xem th: Xem thửử Menu.Menu.
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 176176
ThiThiếết kt kếế MenuMenuMMộột menu sau khi thit menu sau khi thiếết kt kếế xong, muxong, muốốn sn sửửddụụng đưng đượợc cc cầần phn phảải Generate (sinh mã)i Generate (sinh mã)
Menu Menu –– GenerateGenerate
ChChúú ý: ý: –– File Menu sau khi Generate cFile Menu sau khi Generate cóó phphầần mn mởở
rrộộng lng làà **.mpr.mpr–– BBấất kt kỳỳ ssựự thay đ thay đổổi ni nàào đo đốối vi vớới menu,i menu, đđềều phu phảải Generate li Generate lạạii……
Saturday, August 19, 2006Saturday, August 19, 2006 BBàài gii giảảng LTQLng LTQL 177177
ThThựực hic hiệện Menun Menu
Program Program –– Do (chDo (chọọn file .mpr cn file .mpr cầần chn chạạy)y)
LLệệnh nh DoDo FileMenu.mprFileMenu.mpr