Bài giảng Visual foxpro 6.0 - Hồ Viết Thịnh

Tóm tắt Bài giảng Visual foxpro 6.0 - Hồ Viết Thịnh: ...của sổ được đặt trong tệp tin có phần mở rộng là DBC GV Hồ Viết Thịnh Chương iV- cơ sở dữ liệu II-Mô hình dữ liệu quan hệ trong vf 1-các bảng dữ liệu (table) 2-các trường trong bảng và các kiểu dữ liệu 3-các bản ghi dữ liệu trong bảng 4-các mối quan hệ - quan hệ 1-1 ( Inner Join) - quan h...ính toán và thống kê dữ liệu từ một hay nhiều tệp đã kết nối. II-Cách tạo query 1-Thành phần của cửa sổ Query Designer: là một tập hợp gồm các trang tuỳ chọn (tab) 1.1-Field tab : chỉ các trường tham gia vào truy vấn gồm: - Hộp Function and Expression :Dùng để tạo biểu thức tính kết quả ...review & Print ) 4.3 – Môi trường dữ liệu của báo biểu (Data Environment) Chứa các bảng, hàm cửa sổ và các mối quan hệ làm dữ liệu nguồn cho báo biểu. để thiết lập môi trường dữ liệu cho báo biểu ta làm như sau : -> Mở Menu View/ Data Environment -> Thực đơn kéo xuống gồm các mục sau : ...

pdf116 trang | Chia sẻ: havih72 | Lượt xem: 336 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Visual foxpro 6.0 - Hồ Viết Thịnh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ếm DL.
INDEX ON TO <-/
6- Tính toán trên bảng DL
- Tính tổng các bản ghi trong các trường kiểu 
Numeric,currency
SUM [] [TO ] [FOR ]
- Tính trung bình cộng các bản ghi trong các trường 
kiểu Numeric,currency.
AVERAGE [] [TO ] [FOR ]
- Đếm số bản ghi.
COUNT [TO ] [ FOR ] <-/
7- Tìm kiếm dữ liệu trong DBF
a-Dùng lệnh LOCATE:
- Cú pháp: 
LOCATE FOR 
- Chức năng : Thực hiện tìm và trả về vị trí bản ghi đầu tiên thoả 
mãn ĐK trong tệp DBF, muốn tìm tiếp ta gõ CONTINUE <-/
b- Dùng lệnh SEEK
- Cú pháp :
SEEK 
- Chức năng : Tìm bản ghi chứa biểu thức cần tìm trong tệp chỉ 
số IDX.
- Kiểm tra kết quả tìm ta dùng lệnh 
?Found() <-/
8-Một số lệnh và hàm về bản ghi trong tệp DBF
a-các lệnh với con trỏ ban ghi
- Go Top : Chuyển trỏ về bản ghi đầu tiên
- Go Bottom : Chuyển trỏ tới bản ghi cuối cùng
- Go : Chuyển trỏ đến bản ghi thứ n
- Skip : Dịch chuyển n bản ghi
n>0 di chuyên n bản ghi về phía cuối tệp
n<0 di chuyên n bản ghi về phía đầu tệp
Skip không có n, ngầm định chuyển đến bản ghi kế 
tiếp
b-Nhóm hàm về con trỏ bản ghi trong tệp DBF: 
- Hàm RECNO( ) : Trả Về bản ghi hiện thời
- Hàm EOF( ): cho kq là .T. khi con trỏ ở bản ghi cuối
- Hàm BOF( ) : cho kq là .T. khi con trỏ ở bản ghi đầu
- Hàm Recount( ) : đếm tổng số bản ghi trong tệp DBF
III.10- Hàm của sổ (View Local)
(Tương tự Query ở chương sau)
GV Hồ Viết Thịnh
Truy vấn (QUERY)
I-Khái niệm
Là công cụ để xử lí dữ liệu trong các tệp tin DBF 
như :
- Lấy ra các trường cần thiết, các bản ghi thoả 
mãn ĐK từ một hay nhiều tệp tin DBF.
- Sắp xếp dữ liệu trong tệp DBF theo chiều tăng 
hoặc giảm dần
- Tính toán và thống kê dữ liệu từ một hay nhiều tệp 
đã kết nối.
II-Cách tạo query
1-Thành phần của cửa sổ Query Designer: là một 
tập hợp gồm các trang tuỳ chọn (tab)
1.1-Field tab : chỉ các trường tham gia vào truy vấn 
gồm:
- Hộp Function and Expression :Dùng để tạo biểu 
thức tính kết quả trong truy vấn
- Các chức năng:
-Add> dùng để chuyển các trường cần chọn vào truy vấn
Add all 
chuyển tất cả các trường vào truy vấn 
<Remove Loại bỏ các trường đã chọn
<<Remove All Loại bỏ tất cả các trường đã chọn
1.2-Join tab: Mô tả các điều kiện liên kết giữa các 
bảng tham gia truy vấn
1.3-Filter tab: Mô tả các điều kiện lọc dữ liệu cho các 
trường tham gia truy vấn gồm các thành phần
Field Name Tên trường
Criteria phép toán so sánh
example Giá trị tiêu chuẩn
Logical phép toán kết hợp And/ Or
1.4- Order By tab : dừng để chỉ định thứ tự sắp xếp 
các bản ghi kết quả của truy vấn
1.5- Group By : Dùng để chỉ định cách thức phân 
nhóm các bản ghi kết quả
1.6- Miscellaneous : một số đối tượng khác.
2-Tạo truy vấn 
a- Tạo truy vấn bằng công cụ Query Designer.
Bước 1: Mở cửa sổ Query Designer
->Data/ Query/ New/ New Query
-> Đưa các bảng vào truy vấn bằng cách : chọn 
tên bảng/ Add
Bước 2 : Xác định mối quan hệ giữa các bảng (có 4 loại 
liên kết)/ chọn Ok
+ Inner Join : liên kết 1-1 
+ Left Join : liên kết n-1 lấy toàn bộ các bản ghi ở bảng 
bên trái cửa sổ Query Designer vào truy vấn kết quả
+ Right Join : liên kết 1-n lấy toàn bộ các bản ghi ở bảng 
bên phải vào truy vấn kết quả
+ Full Join : liên kết n-n ( liên kết hoàn toàn)
Bước 3: Xác định các thành phần cần thiết 
Bước 4: Thực hiện truy vấn :
Cá ch1 :Mở Menu Query/ Run Query ( Ctrl +Q) 
Cách 2 : Dùng lệnh Do 
Bước 5: Ghi truy vấn : Mở Menu File/ Save
b- Tạo truy vấn bằng Wizard
-> Data/ Query/ New/ Query Wizard / Query Wizard/OK
-> Thực hiện theo các chỉ dẫn của cửa sổ Wizard
Các ví dụ (giáo trình từ trang 49 đến trang 62)
Chương vi : form, Report, label 
I- FORM 
1-Form là gì : Là những cửa sổ chứa các đối tượng 
điều khiển như : nhãn (label), hộp văn bản (Text 
box), nút lệnh (Command button), đảm nhận 
chức năng giao tiếp giữa người sử dụng và chương 
trình ( cửa sổ giao diện).
2- Tạo Form
2.1- Tạo Form bằng Form Wizard
a- Tạo Form đơn giản từ 1 bảng
->Documents/Form/New/ Form Wizard/ Form Wizard/ ok
->Thực hiện theo chỉ dẫn của cửa sổ Wizard
Bước 1: chọn bảng và các trường cần thiết/ next
Bước 2 : Chọn dạng của Form/ next
Bước 3 : Chọn cách sắp xếp thứ tự các bản ghi / next
Bước 4 : Kết thúc
- Đặt tiêu đề (Title)
- Chọn Prview để xem trước Form mới tạo
- Chọn Finish để kết thúc/ Save
b- Tạo Form 1-n (One to Many)
->Documents/Form/New/ Form Wizard/ One -to - Many 
Form Wizard / OK
->Thực hiện theo chỉ dẫn của cửa sổ Wizard
Bước 1: Chọn các trường của bảng chính (cha)/ next
Bước 2: Chọn các trường của bảng phụ (con)/ next
Bước 3: Xác định mối quan hệ giữa 2 bảng/ next
Các bước 4, 5, 6 tương tự phần 1.1
2.3- Tạo Form bằng Form Designer
-> Mở cửa sổ Form Designer
Cách 1: Dùng chức năng New trong cửa sổ Project 
manager
Cách 2: Dùng lệnh :
Create Form 
-> Thiết kế các điều khiển trên cửa sổ Form
3- Sửa Form
- Mở cửa sổ Form Designer
Cách 1 : Dùng nút chức năng Modify
Cách 2 : Dùng lệnh Modify Form 
- Sửa Form theo ý muốn
- Ghi và đóng lại
Ii- report
1-Report là gì : Là dạng Form đặc biệt được thiết kế 
cho việc kết xuất dữ liệu với các dạng thức khác 
nhau đặt trong tệp tin có phần mở rộng là FRX.
2-Các dạng Report.
2.1- Báo biểu không phân nhóm : Là báo biểu đơn 
giản, dữ liệu của báo cáo là nội dung của các 
trường được lấy từ 1 hay nhiều bảng. 
+ Báo cáo dạng cột (Columns):
Dữ liệu liên quan đến 1 đối tượng được thể hiện 
ở nhiều cột trên 1 dòng.
+ Báo cáo dạng dòng (Rows) :
Dữ liệu liên quan đến 1 đối tượng được thể hiện 
ở nhiều cột trên nhiều dòng. 
2.2-Báo cáo có phân nhóm : Dữ liệu được phân thành 
nhiều nhóm theo các khoá(trường) cuối mỗi nhóm 
có thể có các dòng tính toán.
3-Cấu trúc của 1 Report : gồm các thành phần sau :
- 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 đề đầu của mỗi trang báo biểu
- Page Footer : Tiêu đề dưới của mỗi trang báo biểu
- Group Header : Tiêu đề trên của mỗi nhóm dữ liệu
- Group Footer : Tiêu đề dưới mỗi nhóm dữ liệu. 
4-Tạo Report : 
4.1-Tạo Report bằng bộ công cụ Report Wizard.
a- Tạo Report đơn giản :
-> New/ Report Wizard/ Report Wizard
-> Định nghĩa cấu trúc cho Report:
Bước 1: Chọn các trường cho Report /next
Bước 2: Chọn dạng trình bày cho Report / next
Bước 3: Chọn dạng layout cho Report/next
Bước 4: Chọn thứ tự sắp xếp dl trong Report/next
Bước 5: Hoàn tất thiết kế Report/nhập tiêu đề/Finish.
b- Tạo Report 1-n :
-> New/ Report Wizard/ One-to-many Report Wizard
-> Định nghĩa cấu trúc cho Report (6 bước):
Bước 1: Chọn các trường của bảng cha /next
Bước 2: Chọn các trường của bảng con /next
Bước 3: Chọn khoá quan hệ giữa bảng cha và 
bảng con/next
Bước 4: Chọn thứ tự sắp xếp dl trong Report/next
Bước 5: Chọn kiểu dáng cho Report/next
Bước 6: Hoàn tất thiết kế Report/nhập tiêu đề/Finish.
c- Tạo Report có phân nhóm :
-> New/ Report Wizard/ Report Wizard
-> Định nghĩa cấu trúc cho Report (6 bước):
Bước 1: Chọn các trường cần thiết /next
Bước 2: Phân nhóm dữ liệu ;
-> Chọn trường làm khoá phân nhóm.
-> Chọn nút Grouping để nhóm dữ liệu
-> Chọn nút Summary Option đề tính toán/next 
Bước 3: Chọn kiểu dáng cho Report/next
Bước 4: Chọn kiểu Layout cho Report/next
Bước 5: Chọn thứ tự sắp xếp dữ liệu
Bước 6: Hoàn tất Report. 
4.2-Tạo Report bằng bộ công cụ Report Designer
a - Thiết kế báo biểu mới
CREATE REPORT 
Xuất hiện cửa sổ Report Designer.
b- Tạo các điều khiển bằng thanh dụng cụ Report 
Controls
-> Kích chuột vào loại đièu khiển muốn tạo trên thanh 
Report Controls
-> Kéo chuột tại vị trí muốn đặt điều khiển
-> Xác định nội dung tuỳ theo loại điều khiển
 Label (nhãn) là đối tượng để chứa văn bản, người 
thiết kế nhập văn bản ngay vị trí đặt điều khiển, kết 
thúc bằng Enter.
 Field : là điều khiển mô tả nội dung dữ liệu của trường 
hoặc của biến hợac biểu thức. Người thiết kế mô ta 
trường qua cửa sổ Report Expression gồm các tuỳ 
chọn:
- Expression : Tên trường, biến hoặc biểu thức 
- Format: định dạng dữ liệu cho trường
- Calculations : Tạo các trường tính toán : tổng, Tb 
cộng, đếm, giá trị lớn nhất, nhỏ nhất trong báo biểu.
c- Chọn điều khiển. 
- Chọn 1 điều khiển: kích chuột vào điều khiển muốn 
chọn 
- chọn nhiều điều khiển : Giữ Shift và chọn lần lượt các 
điều khiển.
d- Thay đổi kích thước điều khiển :
-> Chọn điều khiển
-> Kéo chuột tại các cạnh của điều khiển
e- Di chuyển điều khiển :
-> Chọn điều khiển
-> kéo chuột trên điều khiển mang đến vị trí mới.
f- Định dạng điều khiển. 
- Chọn 1 điều khiển
- Mở Menu Format để định dạng dữ liệu :
g- Cài đặt trang in (Page Setup) 
-> Mở Menu File / Page Setup.
-> Đặt các tuỳ chọn sau :
 Number : Số cột in trong báo biểu
 Width : Độ rộng của cột
 Spacing : Khoảng cách giữa các cột
 Left Margin : Khoảng cách lề của trái .
-> Chọn OK
h- Xem trước khi in và in báo biểu ( Preview & Print )
4.3 – Môi trường dữ liệu của báo biểu (Data Environment)
Chứa các bảng, hàm cửa sổ và các mối quan hệ làm 
dữ liệu nguồn cho báo biểu. để thiết lập môi trường dữ
liệu cho báo biểu ta làm như sau :
-> Mở Menu View/ Data Environment
-> Thực đơn kéo xuống gồm các mục sau :
 Add : Thêm bảng/ hàm cửa sổ vào môi trường dữ liệu
 Remove: Loại bỏ bảng/ hàm cửa sổ khỏi môi trường dữ liệu
 Browse : Liệt kê dữ liệu của bảng/ hàm cửa sổ được chọn.
4.4- Sửa báo biểu . 
- Cú pháp 
Modify report 
hoặc chọn nút chức năng Modify trong cửa sổ Project 
Manager.
4.5- Thực hiện báo biểu :
report form 
Iii- label
1- Label là gì : Là dạng đặc biệt của Report được 
thiết kế cho việc kết xuất dữ liệu trên các cỡ giấy 
khác nhau đặt trong tệp tin có phần mở rộng là LBX
2- Cách tạo Label.
Thao tác tương tự như tạo Report.
Chương Vii
lập trình trong vf6.0
I- Khái quát chung về lập trình
1- Khái niệm về lập trình trong VF6.0.
Lập trình là soạn thảo ra một chương trình gồm 
các lệnh của VF mô tả thuật toán để giải quyết 1 
bài toán nào đó ghi trên đĩa trong tệp tin có phần 
mở rộng là PRG.
2- Soạn thảo tệp chương trình.
- Dùng cửa sổ lệnh:
Modify Command 
- Dùng Menu : 
-> File/New/ Program/New File.
- Từ cửa sổ Project manager.
-> Lưu chương trình : Mở File/ Save as/ đặt tên /Ok
3- Bố cục của một chương trình, gồm 3 phần 
3.1- Phần đầu gồm: 
- Ghi những chú thích cần thiết về chương trình như: 
Chức năng, tác giả, ngày lập trình.
- Các lệnh thiết lập môi trường (các lệnh Set)
+ Set Date America/ French : mm/dd/yy hoặc dd/mm/yy
+ Set Century On/Off : Bật/tắt năm với 4 chữ số
+ Set Color to : Đặt màu chữ/nền màn hình
+ Set talk On/Off : Bật/tắt kết quả các phép tính trung gian
+ Set Status On/ Off : Bật/tắt thanh trạng thái
+ Set Safe On/Off : Bật/tắt chế độ thông báo an toàn dữ liệu
- Lệnh xoá màn hình : CLEAR 
3.2- Phần thân gồm: 
- Mở các tệp tin dữ liệu cần thiết 
- Khai báo các biến, mảng
- Các lệnh xử Lý: Đọc, ghi, hỏi đáp, tính toán, tổng 
hợp, kết xuất dữ liệu, in bảng biểu,..\
- Đóng tệp dữ liệu
3.3- Phần kết thúc chương trình.
- tái lập môi trường.
4- Các thao tác khi soạn thảo chương trình
a- Dòng lệnh trong chương trình 
- Dòng lệnh: Mỗi câu lệnh của VF chỉ viết 
trên 1 dòng nếu câu lệnh quá dài phải 
dùng dấu chấm phẩy để ngắt dòng.
- Dòng chú thích: bắt đầu bằng từ khoá 
Note hoặc kí tự *, nếu muốn viết chú thích 
sau câu lệnh ta dùng cặp kí tự &&
b- VF cho phép viết tắt các câu lệnh bằng 
cách chỉ cần gõ 4 kí tự đầu của 1 tù lệnh. 
c- Ghi và kết thúc soạn thảo : Ctrl+W
5- Dịch và kiểm tra lỗi chương trình
Cú pháp: 
Compile 
Ví dụ : dịch chương trình QLSV
Compile QLSV
6- Thực hiện chương trình.
Cú pháp:
Do 
Hoặc thực hiện bằng Menu Progam/ Do
Ii- các lệnh cơ bản trong chương trình
1- Nhập dữ liệu 
a- Lệnh Input
- Chức năng: Nhập một số từ bàn phím vào biến 
chỉ định
- Cú pháp:
Input To 
trong đó : + Thông báo là chuỗi kí tự mô tả ý nghĩa giá 
trị nhập, đặt trong dấu ‘ ‘ hoặc “ “ hoặc [ ]
+ Biến là ô nhớ chứa giá trị nhập
Ví dụ : nhập điểm thi Tin của 1 sinh viên
Input ‘Vào điểm tin:’ To T 
b- Lệnh Accept
- Chức năng: Nhập một chuỗi từ bàn phím vào 
biến chỉ định
- Cú pháp:
accept To 
Ví dụ : nhập Họ và tên của 1 sinh viên
Accept ‘Họ và tên: ’ To HT
c- Lệnh Wait
- Chức năng: (làm dừng tiến trình xử lí lệnh đến 
khi ấn phím bất kì)
- Cú pháp :
wait [] [To ][windows]
VD: wait “nhan phim bat ky de ket thuc”
d- Nhập dữ liệu theo khuôn toạ độ
- Chức năng: Nhập một số, chuỗi, ngày tháng, từ bàn 
phím vào các biến đã khai báo theo khuôn toạ độ
- Các bước thực hiện: 
Bước 1: Cách khai báo biến kiểu dữ liệu :
+Kiểu số: = 0
+Kiểu chuỗi: =Space()
+Kiều ngày tháng: ={}
+Kiểu Logical: =.T. Hoặc .F.
Bước 2: Nhập dữ liệu vào các biến đã khai báo
@dòng,cột SAY GET [PICT<khuon 
dang][FUNC][valid][range a,b]
trong đó:
 dòng ,cột : vị trí dòng, cột cần in ra
 Những đối số nằm trong dấu [ ] có thể có hoặc không, 
những dối số nằm trong bắt buộc có.
VD:@2,9 say “Nhap ho ten SV:” to ht font “.vntimeh”,15
Các mã của pict
 A: cho phép nhập chữ cáI
 9: cho phép nhập chữ số
 N: cho phép nhập chữ cáI và số
 ! : biến đổi sang in hoa
 L: cho phép nhập các giá trị logic(.t.,f)
 . : vị trí dấu chấm thập phân
Các mã của FUNC
 A: chỉ cho phép các kí tự là chữ cáI
 X: biến thành chữ to
vd
Nhập điểm t, l, h không có khuôn dạng
 Stor 0 to t,l.h
 @8,20 say “vào toan:’to t
 @9,20 say “vào ly:’to l
 @10,20 say “vào hoa:’to h
 Read
Vu2: nhập số diẹn thoai có mã khuôn:
Tel =space(7)
@1,20 say “ vao so dien thoai” get tel PICT’9999999’
Read
vd
 Nhập tên sau đó biến dổi thành in hoa
Ten=space(15)
@12,20 say”nhap ten” get ten 
pict’!XXXXXXXXXXXXXXXXX’
Read
 Vào dữ liệu có một chữ cáI hai chữ số
A=space(3)
@ 13,20 say”vào a” get a pict”A99”
2- Lệnh gán.
- Chức năng: Gán một Số, chuỗi hoặc giá 
trị của biểu thức vào cho biến .
- Cú pháp:
 = 
VD: toan=0, ly=0, hoa=0
Hoặc 
Store To <Danh sánh 
biến>
VD: stor 0 to toan, ly, hoa
3- Lệnh kết xuất dữ liệu 
- Lệnh ? : in dữ liệu con trỏ không xuống 
dòng
?[,]
- Lệnh ??: in dữ liệu con trỏ xuống dòng
??[,]
- Lệnh \ và \\ : tương tự lệnh ? Và ??
- Lệnh TextEndtext: in ra một đoạn văn 
bản
4- Các lệnh điều khiển màn hình.
a-Toạ độ màn hình:
Màn hình văn bản của máy tính chia thành 25 dòng 
(0->24) và 80 cột (0->79), các lệnh liên quan đến toạ 
độ thường bắt đầu bằng @,.
b-Mầu màn hình :
Set color to //
Kí hiệu mầu ý nghĩa
n Màu đen
w Màu trắng
b Mùa xanh
g Màu xanh lá cây
bg Màu xanh ngọc
br Màu tím hông
gr Màu nâu
c- Lệnh xoá màn hình: CLEAR 
d- Lệnh kẻ khung màn hình
@, To , [Double]
ví dụ : @ 2,10 to 20,70 Double 
@,,, BOX []
Ví dụ : @2,10,10,40 box ’A’
5- Các lệnh in ra máy in và File văn bản
Set Printer On: bật chế độ in ra các thiết bị ngoài màn hình 
Set Printer To : đặt thiết bị in là máy in
Set Printer To : đặt thiết bị in là File văn bản.
Iii- các cấu trúc điều khiển trong program.
1- Cấu trúc rẽ nhánh
a- Rẽ hai nhánh IFENDIF
- Chức năng: Sử dụng trong những đoạn chương trình có 
>2 giá trị để lựa chọn, ta chỉ được phép chọn 1 giá trị thoả 
mãn.
- Cú pháp:
+ Dạng 1
IF 
ENDIF
Trong đó là biểu thức logic cho kết qủa .T. hoặc .F.
Hoạt động: Nếu đúng(.T.) thì VF thực hiện <nhóm 
lệnh>, nếu sai (.F.) thì kết thúc lựa chọn 
ĐK
Nhóm lệnh
Đ
S
+ Dạng 2:
IF 
ELSE
ENDIF
Trong đó là biểu thức logic cho kết qủa .T. 
hoặc .F.
Nếu đúng(.T.) thì thực hiện 
Nếu sai (.F.) thì thực hiện 
sau đó kết lựa chọn thực hiện lệnh kế tiếp (nếu có)
ĐK
Nhóm lệnh1 Nhóm lệnh 2
Đ S
Ví dụ: Viết chương trình nhập các thông tin về 1 loại 
vật tư như sau : Mã vật tư, Tên vật tư, Loại, SL, Giá
Yêu cầu:
- Tính thuế :
+Nếu vật tư loại A: thuế=10%*SL*Giá
+Nếu vật tư loại B: thuế=7.5%*SL*Giá
+Nếu vật tư loại C: thuế=5%*SL*Giá 
- Tính Thành tiền=SL*Giá +Thuế 
- In ra màn hình : Mã vật tư, tên vật tư, Sl, giá, thành 
tiền.
b- Rẽ nhiều nhánh Do CASEENDCASE
- Chức năng: Sử dụng trong đoạn chương trình có 
nhiều lựa chọn.
- Cú pháp:
DO CASE
CASE 
CASE 
.
CASE 
[OTHERWISE
]
ENDCASE
Hoạt động: (Hoạt động giống như lệnh IF)
2- Cấu trúc lặp
Được sử dụng trong chương trình có những đoạn tính toán phải 
thực hiện lặp đi lặp lại nhiều lần theo một qui luật nào đó, sau 1 
quá trình mới cho kết quả.
a- Lệnh lặp FORENDFOR (Biết trước số lần lặp)
- Cú pháp:
FOR = TO [STEP ]
ENDFOR
- Hoạt động của lệnh: Khi thực hiện máy gán 
=, sau đó là việc lặp lại chừng 
nào giá trị của biến còn . Cứ mỗi lần thực hiện 
xong nhóm lệnh giá trị của biến đếm lại được cộng thêm <bước 
nhảy>, nếu không dùng tuỳ chọn STEP thì ngầm 
định là 1.
b- Lệnh lặp DO WHILE ENDDO (Ko biết trước số lần 
lặp)
- Cú pháp:
DO WHILE 
ENDDO
- Hoạt động của lệnh: 
chừng nào còn đúng thực hiện lặp đi lặp lại 
, khi sai ra khỏi vòng lặp và 
thực hiện lệnh sau ENDDO (nếu có). 
ĐK
Nhóm lệnh
Đ
s
- Một số trường hợp của lệnh Do WhileEnddo.
+ Nhóm lệnh có thể không được thực hiện lần nào 
do đã sai.
+ Có thể vòng lặp không dừng( vô hạn) khi <điều 
kiện> luôn đúng, ấn ESC để ra khỏi vòng lặp
Ví dụ : Cho bảng HSLUONG.DBF có cấu trúc sau:
Name Type Width Dec
HOTEN Character 20
NS Date 8
LUONGCB Currency 10
HSLUONG Number 5 2
NGAYLL Date 8
Yêu cầu: Viết chương trình nối thêm các bản ghi mới vào bảng trên: 
Clear
USE HSLUONG
TL=‘C’
Do While TL=‘C’
APPEND BLANK
@1,2 Say ‘Họ tên :’ get HOTEN
@2,2 Say ‘Ngày sinh:’ get NS
@3,2 Say ‘Lương cơ bản:’ get LUONGCB
@4,2 Say ‘Hệ số lương:’ get HSLUONG
@5,2 Say ’Ngày lên lương:’ get NGAYLL
READ
@7,10 Say’ Có nhập tiếp không?’ get TL
READ
ENDDO
USE 
c- Lệnh lặp SCAN ENDSCAN 
- Lệnh lặp quét các bản ghi của tệp dữ liệu đang mở
- Cú pháp :
SCAN [For ][While ]
ENDSCAN
- Cách dùng lệnh Scan: 
+ Dùng Scan không có tùy chọn For/While 
các bản ghi của tệp đang mở được duyệt lần lượt bắt đầu 
từ bản ghi đầu tiên, với mỗi bản ghi thì được 
thực hiện, vòng lặp kết thúc khi duyệt xong các bản ghi. 
ý nghĩa: Tự động duyệt dữ liệu từ bản ghi đầu cho đến bản ghi cuối
+ Dùng Scan với For 
Chỉ duyệt các bản ghi thoả mãn điều kiện của tệp 
đang mở với mỗi bản ghi đó thì được 
thực hiện.
+ Dùng Scan với While giống như For
Chú ý: trong vòng lặp Scan tự động dịch con trỏ về cuối 
tệp DBF (xong một lần lặp), nếu trong thân vòng lặp lại 
có lệnh Skip thì con trỏ bản ghi sẽ dịch chuyển 2 lần.
Ví dụ 1: Cho tệp KHOID.DBF có cấu trúc sau: 
Yêu cầu:
Viết CT In ra màn hình danh sách những thí sinh có 
TONG (tổng điểm) >=20 
Name Type Width Dec
SBD Character 5
HOTEN Character 20
NS Dte 8
KV Number 3
TOAN Number 5 2
ANH Number 5 2
VAN Number 5 2
TONG Number 5 2
Clear
Set talk off 
use KhoiD
?’SBD ’, ‘ Ho va ten ‘, ‘ Tong 
Scan For TONG>=20
?SBD+HOTEN+STR(TONG)
EndScan
?Replicate(‘-’,40)
USE
v- chương trình con (lập trình cấu trúc)
1- Chương trình con là gì?
Là đoạn chương trình được một chương trình khác 
gọi thực hiện bằng lệnh Do 
thực hiện chức năng nào đó của bài toán còn gọi là 
thủ tục.
2- Các loại chương trình con
a-Thủ tục(Procedure)
Procedure 
Return
b- Hàm (Function)
Function ()
Return 
3- Cấu trúc của chương trình chứa thủ tục:
* Bắt đầu chương trình chính
..
..
* Kết thúc chương trình chính
* Bắt đầu các chương trình con
Procedure 
Return
. 
Vi- dữ liệu mảng
1- Mảng là gì?
Là tập hợp các phần tử có cùng tên nhưng khác chỉ 
số, mỗi phần tử của mảng là một ô nhớ của máy 
chứa 1 giá trị nhất định.
2- Mảng 1 chiều:
a-KN: Mảng một chiều là tập hợp các phần tử 
theo một chiều.
b-Cách khai báo mảng 1 chiều
Dimension ()
Ví dụ: Khai báo mảng A gồm 5 phần tử
Dime A(5) 
c-Truy xuất các phần tử của mảng
- Cú pháp : ()
- Gán giá trị cho phần tử của mảng
()=
- Nhập giá trị cho các phần tử của mảng: dùng 
lệnh For
3- Mảng 2 chiều (Ma trận):
a-KN: Mảng 2 chièu là tập hợp các phần tử theo 
dòng và cột.
b- Cách khai báo mảng:
Dimension (,)
Ví dụ : Dime B(5,2)

File đính kèm:

  • pdfbai_giang_visual_foxpro_6_0_ho_viet_thinh.pdf