Tải bản đầy đủ (.pdf) (102 trang)

Bài giảng Visual FoxPro pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.68 MB, 102 trang )















Bài giảng Visual FoxPro
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 1
MỤC LỤC
CHƯƠNG I: GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VS FOXPRO
3
BÀI 1: GIỚI THIỆU
3
I. Hệ quản trị csdl 3
II. Mô hình dữ liệu quan hệ 3
III. Bài toán quản lý 3
BÀI 2: TỔNG QUAN VỀ FOXPRO VÀ VISUAL FOXPRO
5
I. Giới
thiệu
5
II. Khởi động Visual


F
ox
p
r
o.
5
III. Thoát khỏi VS FoxPro: 5
CHƯƠNG II: XÂY DỰNG PROJECT VÀ CƠ SỞ DỮ LIỆU 7
BÀI 1: TẠO PROJECT 17
I. Tạo mới một Project 17
II. Cửa sổ Project (Project Manager) 17
BÀI 2: CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ 7
I. Từ khóa, kí hiệu, Lệnh 7
II. Kiểu dữ liệu 7
III. Các phép toán 9
IV. Toán hạng 12
V. Hằng 12
VI. Biến 12
VII. Hàm 14
VIII. Biểu thức 15
IX. Từ khoá 15
X. Lệnh và chương trình 16
BÀI 3: THIẾT KẾ
DATABASE VÀ CÁC TABLES 19
I. Giới thiệu 19
II. Tạo Database 19
III. Bảng dữ liệu (Table) 21
IV. Tạo bảng 23
V. Các lệnh


bản trên
f
i
l
e
dbf 28
VI. Thao tác với cấu trúc bảng. 35
CHƯƠNG III: SẮP XẾP, TÌM KIẾM, THỐNG KÊ 38
I.
Sắp xếp.
38
II. Tìm kiếm 40
III. Thống kê 41
IV. Sắp xếp 43
V. Lọc 44
VI. Làm việc với nhiều bảng 45
CHƯƠNG IV: QUERIES VÀ VIEWS 48
I. Thiết lập quan hệ giữa các bảng 48
II. Tạo các queries 52
CHƯƠNG V: LẬP TRÌNH TRÊN VISUAL FOXPRO 61
I. Chương trình 61
II. Soạn
thảo
chương trình. 61
III. Biến nhớ 62
IV. Các cấu trúc điều khiển chương trình 64
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 2
CHƯƠNG VI: FORMS 70
I. Khái niệm lập trình hướng đối tượng. 70

II. Lập trình trên Windows 70
III. FORM 71
IV. Data Environment 81
V. Các đối tượng thường sử dụng 83
CHƯƠNG VII: REPORT 92
VI.

Khái niệm
93
VII. Tạo Report bằng Wizard 93
VIII. Tạo Report bằng REPORT
DESIGNER
94
IX.

Các control trên Report
96
CHƯƠNG VIII: TẠO MENU VÀ QUẢN LÝ ĐỀ ÁN 98
I. TẠO MENU 98
II. Tạo menu hệ thống. 98
III. Tạo menu hệ
thống thông
qua Menu
D
e
s
i
g
n
e

r
98
IV. Quản lý đề án 99
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 3
CHƯƠNG I: GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VS FOXPRO
BÀI 1: GIỚI THIỆU
I. Hệ quản trị csdl
Hệ quản trị cơ sở dữ liệu (Database Management System) là một hệ thống phần mềm máy
tính được thiết kế chuyên biệt cho bài toán quản lý. Mô hình dữ liệu của các hệ quản trị
csdl là mô hình quan hệ.
Hệ quản trị CSDL cung cấp 2 tính năng chính sau:
• Lưu trữ, quản lý dữ liệu.
• Công cụ truy cập, khai thác dữ liệu.
Các Hệ quản trị
csdl thường dùng hiện nay:
• SQL Server: Phát triển bởi Microsoft; là hệ CSDL dùng cho các tổ chức, doanh
nghiệp lớn; Khả năng đáp ứng trên mạng cao; Đảm bảo tính an toàn, bảo mật.
• Oracle: Phát triển bởi Oracle; là hệ CSDL dùng cho các tổ chức, doanh nghiệp lớn;
Khả năng đáp ứng trên mạng cao; Đảm bảo tính an toàn, bảo mật. (Được đánh giá là
mạnh hơn SQL verver và thực tế giá phần mền này cũng đắt hơn SQL Server).

Foxpro, Access: Phát triển bởi Microsoft; là hệ CSDL dùng cho các tổ chức, doanh
nghiệp vừa và nhỏ; có khả năng triển khai trên mạng; tính bảo mật, an toàn là không
cao.
• MySQL: Hệ CSDL mã nguồn mở, được sử dụng chủ yếu cho các ứng dụng Web.
II. Mô hình dữ liệu quan hệ
Trong mô hình này người ta mô tả các [đối tượng] (như con người, hàng hóa, môn học )
thông qua các bảng (Table), mỗi bảng lại được mô tả qua các trường dữ liệu.
• B

ảng (Table): Mô tả qua các cột - trường (Field) và các dòng - Bản ghi (Record) (ví
dụ) (Mỗi bảng có thể hiểu như một [quan hệ])
• Trường (Field): Mô tả 1 thuộc tính nào đó của đối tượng thông qua tên trường (Field
name), kiểu (Type) và độ rộng (Width).
• Bản ghi (Record): Tập các giá trị cụ thể của các trường của cùng 1 đối tượng.
• Quan hệ giữa các bảng (Relationship): Là cách thức mô tả một đối tượng lớn hơn từ
những đối tượng nhỏ.
III. Bài toán quản lý
Bài toán quản lý có ở hầu hết mọi đơn vị, tổ chức, thậm chí với cả một số cá nhân. Những
bài toán quản lý có thể kể đến như:
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 4
• Quản lý nhân sự.
• Quản lý hàng hóa.
• Quản lý kế toán.
• Quản lý lương.
• Quản lý sinh viên, điểm.
• Quản lý sách.

Đặc điểm chung của những bài toán này:
• Không cần sử dụng những thuật toán phức tạp mà yêu cầu chủ yếu là: Thống kê, tìm
kiếm, lọc thông tin.
• Khối lượng dữ liệu thường là rất lớn.
Đặc điểm này thực sự là một thách thức lớn
nếu chúng ta phải quản lý thủ công (việc tìm kiếm, thống kê, lọc -> mất rất nhiều
thời gian và không chính xác)
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 5
BÀI 2: TỔNG QUAN VỀ FOXPRO VÀ VISUAL FOXPRO


I. Giới
thiệu

Foxpro là hệ quản trị cơ sở dữ liệu dùng để giải quyết các bài toán trong các lĩnh vực
quản lý. FoxPro được thừa kế và phát triển trên phần mềm DBASE III PLUS và DBASE
IV, những sản phẩm nổi tiếng của hãng ASTON-TATE. Khi các công cụ lập trình và
các ứng dụng trên môi trường Windows ngày nhiều thì Microsoft cho ra đời các phiên
bản FoxPro 2.6, chạy được trên hai môi trường DOS và Windows. Visual Foxpro là sản
phẩm của hãng Microsoft, nó được kế thừa từ Foxpro for Windows, là một trong
những công cụ tiệ
n lợi để giải quyết các bài toán trong lĩnh vực quản lý cho những
người chuyên nghiệp và không chuyên nghiệp. Từ khi phát triển đến nay, Hãng
Microsoft đã cho ra đời nhiều phiên bản Visual Foxpro 3.0, 4.0, 5.0, 6.0.
II. Khởi động Visual
F
ox
p
r
o.

Sau khi đã cài đặt Visual FoxPro, ta có thể khởi động nó bằng cách thực hiện:
• C1: Start/Progam/Microsoft studio/ Microsoft Visual Foxpro

C2: Click
c
huộ
t

v
à

o

b
iể
u

tượ
ng

c

a

FoxPro

ho
ặc

V
i
su
al

Foxpro

t
r
ê
n


D
e
sk
t
op

Màn hình Visual Foxpro sau khi khởi động:

III. Thoát khỏi VS FoxPro:
- C1: Từ cửa sổ Command, gõ lệnh: Quit
- C2: Menu File/ Quit.
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 6
III. Những nét đặc trưng cơ bản
• Công cụ quản lý ứng dụng - Project manager đem lại một cách nhìn tổng quan, hiệu quả
trong việc phát triển một ứng dụng nào đó.
• Công cụ trực quan cho phép thiết kế giao diện được nhanh chóng, đẹp.
• Công cụ Report Designer tiện dụng, cho phép tạo ra nhiều report đa dạng.
• Công cụ tool tip trong Visual Foxpro 7.0 trợ giúp nhanh và hữu hiệu với việc lập trình.
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 7
C
C
H
H
Ư
Ư
Ơ
Ơ
N

N
G
G


I
I
I
I
:
:


X
X
Â
Â
Y
Y


D
D


N
N
G
G



P
P
R
R
O
O
J
J
E
E
C
C
T
T


V
V
À
À


C
C
Ơ
Ơ


S

S




D
D




L
L
I
I


U
U


BÀI 1: CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ
I. Từ khóa, kí hiệu, Lệnh
1. Từ khóa (Key Word):
Là các từ mà Visual Foxpro đã sử dụng cho một mục đích nào đó. Và người dùng không
được phép đặt tên trùng với từ khóa. Tham khảo tài liệu về tất cả các khóa của Visual
Foxpro. Trong Foxpro từ khoá có thể không cần viết đầy đủ mà chỉ cần viêt 4 ký tự đầu của
từ khoá đó, ví dụ từ khoá CREATE có thể chỉ cần viết Crea (Visual Foxpro không phân
biệt chữ hoa, chữ thườ
ng).

2. Kí hiệu comment:
Đối với phần cuối 1 dòng dùng kí tự &&
Với cả dòng: dùng ký tự * hoặc &&
3. Lệnh của Visual Foxpro
Trong Visual Foxpro có hai loại câu lệnh:
• Các câu lệnh có thể thực hiện trực tiếp từ cửa sổ lệnh (Command Windows) - gọi
là Lệnh trực tiếp.
• Các lệnh chỉ thực hiện trong chương trình. Các lệnh trực tiếp cũng thực hiện được
trong chương trình.
C
ấu trúc lệnh trực tiếp của Foxpro có dạng: <Động từ> [Các tham số] ↵
Trong đó: <Động từ> - Động từ tiếng anh (tương ứng với công việc cần làm);
[Tham số] - Các tham số trong lệnh của fox có thể có, có thể không, hoặc có
thể có nhiều; trường hợp có nhiều tham số thì thứ tự các tham số này có thể không
quan trọng.
4. Một số lệnh trực tiếp của Visual Foxpro
1. L
ệnh ?, ?? -> In kết quả lên màn hình
2. QUIT -> Thoát khỏi foxpro
3. CLEAR -> Xoá màn hình
4. SET DEFAULT TO <Path> -> Thiết lập đường dẫn mặc định
5. SET DATE <FRENCH | AMERICA> -> Thiết lập ngày tháng
II. Kiểu dữ liệu
Đố
i
tượng xử lý của V. FOXPRO là dữ liệu, để quản lý và khai thác tốt các dữ liệu này,
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 8
tuỳ theo tính chất, V.FOXPRO phải chia dữ liệu thành nhiều kiểu dữ liệu khác
nhau.

Kiểu dữ liệu là thuộc tính gắn liền với biến hay trường trong các bảng. Các kiểu dữ liệu
trong Visual Foxpro gồm có: Character (Xâu kí tự), Date và DateTime (Ngày, giờ),
Currency (Tiền tệ), Logic, Numeric (Số); các kiểu chỉ dùng cho các trường của bảng gồm
có: Memo (Văn bản), General (Tổng hợp - ảnh).
1. Charater (C):
Chứa các số liệu là tổ hợp một s
ố bất kỳ các ký tự ASCII. Ví dụ: tên, họ hoặc là số
nhưng không có nhu cầu tính toán như số chứng minh, địa chỉ, số phòng,…
Mỗi dữ liệu kiểu chuỗi có độ dài tối đa 255 ký tự (mỗi ký tự chiếm 1 byte trong bộ nhớ).
Là xâu ký tự a->z, A->Z, 0 ->9 và một số các ký tự khác như + ,*, /, = ….
Hằng xâu kí tự: Đặt trong dấu “”, ‘’, hoặc []; ví dụ “Hà nội”, ‘Việt nam’ hoặc [Visual Fox]
Các phép toán:
• +: Nối chuỗi 2 vào chuổ
i 1.
• -: Nối 2 chuỗi nhưng huỷ bỏ các khoảng trắng trước và sau mỗi chuỗi.
• $: Chứa ở trong (st1$st2 – st1 có trong st2 ->TRUE, ngược lại ->FALSE)
2. Date and DateTime

Date
(D): Dùng cho những số liệu dạng ngày tháng như ngày sinh, ngày đến,
đ
ó
là những số nguyên dạng "yyyymmdd" khi hiển thị ra bên ngoài sẽ được chuyển
thành dạng ngày tháng bình thường như mm-dd-yy, dd-mm-yyyy, tuỳ theo yêu
cầu của người lập trình. Đ

dài cố định của dữ liệu kiểu ngày là 8 ký tự.
• Kiểu ngày, giờ dùng 8 bytes để lưu trữ.
• Hằng Date và DateTime: {^yyyy-mm-dd [hh[:mm[:ss]][alp]]}; ví dụ: {^2005-12-
10}, {^2005-12-10 10:20:25}

• Các phép toán:
• Ngày + Số = Ngày
• Số + Ngày = Ngày
• Ngày - Số = Ngày
• Ngày - Ngày = Số
Tương tự cho ngày giờ
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 9
3. Currency
Kiểu tiền tệ (thực chất là kiểu số và thêm kí tự tiền $ hoặc ký tự bất kỳ khác) vào số đó.
Kiểu này thường ít được sử dụng.
4. Logic
• Logical (L): Dùng cho những dữ liệu chỉ có một trong hai trường hợp hoặc đúng
(T) hoặc sai (F) như giới tính, đối tượng ưu tiên, Đ

dài cố định của dữ liệu kiểu
lý luận là 1 ký tự.
• Kiểu logíc, tập giá trị là Đúng hoặc Sai
• Hằng Logic: .T. ->TRUE đúng (hoặc .t.); .F. ->FALSE sai (hoặc .f.)
• Các phép toán: NOT, AND, OR.
5. Numeric

N
u
m
e
r
ic
(N): dùng để biểu diễn các số liệu mang giá trị số học và có nhu cầu
tính toán như trong kế toán, quản lý, Mỗi dữ liệu kiểu số chiếm tối đa 20 chữ số

gồm cả phần nguyên, phần thập phân và dấu chấm thập phân.

Float (F):
Dùng để biểu diễn số là các số có dấu chấm động như: 2.03e5 (2.03
x10
5
), thường được sử dụng trong các chương trình thuộc lĩnh vực khoa học kỹ
thuật,
• Kiểu số, dùng tối đa 20 byte.
• Hằng số: 10, 20, 15.7
• Các phép toán: +, - , *, /, ^ (mũ), % (chia lấy phần dư)
6. Memo
Memo
(M):
Dữ liệu kiểu ghi nhớ là một đoạn văn bản có độ dài lớn hơn 255 ký tự, như
khen thưởng, lý kịch, quá trình công tác, Đ

dài khai báo là 10 nhưng nội dung thực sự
của kiểu ghi nhớ là tuỳ ý, chúng được lưu trữ trong một tập tin khác có cùng tên nhưng
phần mở rộng là .FPT (FoxPro Text).
7. General
• Kiểu kí ức, dùng 4 byte để ánh xạ đến 1 file khác có phần mở rộng là fpt. Kiểu này
cho phép lưu 1 đối tượng bất kỳ như file văn bản, file word, file excel, file ảnh và
thường được sử dụng để lưu trữ file ảnh.
• Kiể
u hình ảnh -
F
ic
t
u

r
e
(P): Dữ liệu lưu dưới dạng hình ảnh .BMP, thường
được dùng trong các chương trình "quản lý nhân sự", "nhận dạng",
III. Các phép toán
a. Phép
toán
số học:
đ
ược
thực hiện trên các dữ liệu kiểu số, gồm các phép toán:

Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 10

Độ ưu tiên các phép toán theo thứ tự đã nêu ở trên, có thể thay đổi thứ tự tính toán bằng
cách đặt chúng trong 2 dấu ngoặc đơn ( ) như các quy tắc tính toán số học thông thường.
b. Phép
toán
chuỗi: Dùng để xử lý các dữ liệu kiểu chuỗi.

Phép toán ghép nối (+): dùng để ghép 2 chuỗi cạnh nhau, kết quả của phép toán là
một
dữ liệu kiểu chuỗi.
o Ví dụ: Trung tâm' + 'Tin học' > 'Trung tâm Tin học'
• Phép toán ghép nối (-): dùng để ghép 2 chuỗi cạnh nhau và di chuyển các dấu
cách ở chuỗi thứ nhất (nếu có) ra cuối chuỗi tạo thành.
o Ví dụ: ' T r u n g t â m ' - ' T i n h ọc' > 'Trung tâm Tin học '
• Phép toán $: kiểm tra chuỗi bên trái có nằm trong chuỗi bên phải không. Kết quả
của phép toán có kiểu logic.

o Ví dụ: 'ab' $ "ABab" cho giá trị .T. nhưng 'ab $ "AaBb" cho giá trị .F.
c. Phép
toán
ngày: Hai dữ liệu kiểu ngày có thể trừ (-) cho nhau để cho khoảng cách đại
số giữa 2 ngày.
Ví dụ:
• {01/08/2003} - {05/09/2003} > - 35
• {01/08/2003} - {05/07/2003} > 25
Một dữ liệu kiểu ngày có thể cộng (+) hay trừ (-) một số nguyên để cho kết quả là một
dữ liệu kiểu ngày.
Ví dụ: {01/08/2003}+ 10 > {11/ 08/2003}
{01/08/2003}- 20 > {12/07/2003}
Chú ý: Hai dữ liệu kiểu ngày không thể cộng (+) cho nhau.
Một số không thể trừ (-) với một dữ liệu kiểu ngày.
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 11

Việc diễn tả thứ tự ngày (D), tháng (M), năm (Y) trong một dữ liệu kiểu ngày còn phụ
thuộc vào thời điểm hiện tại đang theo hệ thống ngày tháng nào.
(1) Lệnh SET DATE FRENCH |AMERICAN| JAPAN: Cho phép thiết lập dữ liệu
dạng ngày theo kiểu Pháp|Mỹ|Nhật.
(2) SET CENTURY ON|OFF: Quy ước năm có một dữ liệu dạng ngày được biểu diễn
theo dạng hai số (mặc định) hay dạng bốn số. Nếu SET CENTURY ON thì năm
được
biểu diễn theo dạng bốn con số, nếu SET CENTURY OFF (dạng mặc định) thì năm
được biểu diễn theo dạng hai con số.
(3) Lệnh SET MARK TO <bthức C>: để ấn định ký tự phân cách ngày tháng, năm là
<bthức
Dùng lệnh SET MARK TO để trở về ký tự phân cách ngày tháng mặc định.
d. Phép

toán
quan hệ: dùng để so sánh hai giá trị của hai biểu thức cùng kiểu.

• Hai dữ liệu kiểu số được so sánh dựa theo biểu diễn của chúng trên trục số.
• Hai dữ liệu kiểu ngày được so sánh dựa theo biểu diễn của chúng theo chiều của
thời gian. Trong kiểu logic, Visual FoxPro quy ước: .T.<.F.
• Hai dữ liệu kiểu chuỗi có độ dài bằng nhau được so sánh dựa theo nguyên tắc
sau: đầu tiên so sánh 2 mã ASCII của 2 ký tự đầu của hai chuỗi, nếu bằng nhau thì
so sánh tiếp.
Ví dụ: 'ABCD' < 'ABCE' > .T. 'a' < 'A' > .F.
• Trường hợp hai chuỗi có độ dài khác nhau, thì việc so sánh dựa vào việc thiết lập
môi trường SET EXACT ON/OFF, nghĩa là:
o Nếu SET EXACT ON thì 'AB' = 'AB ' > .F.
o Nếu SET EXACT OFF thì 'ABCD' = 'AB' > .T.
e. Phép
toán
logic: Visual FoxPro có 3 phép toán logic: NOT; AND; OR NOT hay ! :
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 12
phủ định của toán hạng theo sau.
• AND : cho giá trị .T. nếu cả hai toán hạng đều .T.
• OR : cho giá trị .F. nếu cả hai toán hạng đều .F.
IV. Toán hạng
Toán hạng là các dữ liệu tham gia vào các phép toán. Ví dụ: del=b^2 - 4*a*c thì b,2,4,a,c
là các toán hạng.
V. Hằng
• Là đối tượng dữ liệu mà giá trị của nó chỉ xác định 1 lần khi khai báo và không thay đổi
được. Hằng cũng được xác định qua tên, kiểu và phạn vi tác động của nó. Trừ kiể
u dữ liệu
memo thì mỗi kiểu dữ liệu đều có hằng của nó.

• Khai báo hằng: Visual Foxpro dùng từ khoá #DEFINE <Tênhằng> <Giá trị> để khai
báo hằng. Kiểu của hằng phụ thuộc vào kiểu của biểu thức <Giá trị>
• Phạm vi tác động của hằng được xác định tương tự với Biến.
• Hằng kiểu số: như -2.5, 100, 4.14
• Hằng kiểu chuỗi: hằng lo
ại nầy phải để trong hai dấu " " hoặc ' ' hoặc [ ], có độ
dài tối đa không quá 253 kí tự.
Ví dụ: "abc"; tổng hợp', '123',
• Hằng kiểu ngày: phải được đặt trong cặp dấu { } Ví dụ: {01/01/96}; {}: ngày rỗng.
• Hằng logic: chỉ có 2 giá trị .T. và .F.
VI. Biến
• Là đại lượng lưu trữ dữ liệu trong bộ nhớ, được xác định qua tên biến, kiểu và phạm vi
tác động của biế
n
o Tên biến: Dài không quá 254 kí tự, có thể dùng các chữ cáI, chữ số, dấu gạch
dưới (_) nhưng không được bắt đầu bằng chữ số (và không được trùng với từ
khoá).
o Kiểu: Các kiểu dữ liệu kể trên trừ kiểu General. Kiểu của biến trong Visual
Foxpro có thể thay đổi. Visual FoxPro hiểu kiểu của biến là kiểu của giá trị
mà nó đang mang. Số lượng tối đa của biến
được phép sử dụng là 2048 biến.
o Visual FoxPro chia biến làm 3 loại:
o Biến bộ nhớ: Gọi chung là biến, do người sử dụng tạo ra trong bộ nhớ, khi
không sử dụng nữa có thể giải phóng để tiết kiệm bộ nhớ.
Ví dụ: hsl = 3.12
ngaysinh =
{
01
/
01

/
88
}

Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 13
o Biến hệ thống:
Đ
ược
tạo ra ngay từ khi khởi động Visual FoxPro. Có tên
bắt đầu bằng dấu gạch nối ( _ ) thường được sử dụng trong vấn đề in ấn,
người sử dụng không thể giải phóng biến loại này.
o Biến
trường:
Tên các trường trong tập tin CSDL , nó chỉ có ý nghĩa khi tập
tin chứa nó được mở ra để sử dụng. Nếu có một biến đặt trùng với một biến
trường thì biến trường được ưu tiên thực hiện trước.
• Phạm vi tác động của biến phụ thuộc vào vị trí mà nó được khai báo. Ví dụ
Chương trình chính
Biến A
Chương trình Con 1
Biến B
Gọi chương trình con 2

Chương trình con 2
Biến C


Trong ví dụ trên: Biến A có tác động trong toán bộ chương trình chính, chương trình con 1
và chương trình con 2; Biến C chỉ có tác động trong chương trình con 2; Biến B có tác

động trong chương trình con 1, nếu trong chương trình con 1 có lời gọi chương trình con 2
thì biến B có thể tác động trong chương trình con 2 (nhưng nếu lời gọi chương trình con 2
tại vị trí khác mà ở đó không khai báo B thì lúc đó sẽ phát sinh lỗi).
• Khai báo biến: Trong Visual Foxpro thực ra không có khái niệm khai báo biến (như
trong PASCAL) mà các biến sẽ được sinh ra khi thực hiện lệnh gán (=) hoặ
c lệnh STORE.
Ví dụ
o a=150 -> Tạo ra biến có tên là a, kiểu là số
o STORE ”Visual Foxpro“ TO monhoc -> Tạo ra biến monhoc, kiểu xâu kí tự
• Xoá bỏ các biến: Khi không dùng nữa thì có thể xoá bỏ các biến để giảI phóng bộ nhớ.
Visual Foxpro dùng lệnh RELEASE <tenbien> để xoá bỏ các biến. Ví dụ RELEASE a;
RELEASE monhoc.
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 14
Biến trường và biến hệ thống có phạm vi tác động trong toàn bộ chương trình.
VII. Hàm
Hàm là những đoạn chương trình được viết sẵn nhằm thực hiện một công việc nào đó.
Các hàm này thường cho ra một giá trị, nhưng cũng có hàm chỉ thi hành một việc nào đó
mà không cho ra một trị nào cả. Về hình thức, hàm được đặc trưng bởi tên hàm và theo
sau là cặp dấu ( ) dùng để bao các đối số, các đối số
này đặt cách nhau bởi dấu phẩy. Một
hàm có thể có nhiều đối số hoặc không có đối số nào cả nhưng phải có ( ) theo sau.
Ví dụ: Date ( ): cho biết ngày tháng năm hệ thống.
Sqrt(x): căn bậc 2 của x.
Có 2 loại hàm: Hàm có sẵn của Visual FoxPro và hàm tự tạo do người sử dụng tạo ra.
Trong phần này sẽ giới thiệu một số hàm do Visual Foxpro cung cấp.
1. Hàm xâu kí tự
1. ALLTRIM(st), LTRIM(st), RTRIM(st)
2. LEFT(st,n), RIGHT(st,2), SUBSTRING(st,p,n)
3. AT(st1,st2,n), RAT(st1,st2,n)

4.
LOWER(st), UPPER(st)
5. ASC(ch), CHR(n)
6. DTOC(d)
7. LEN(st)
8. STR(ex)
2. Hàm Date và DateTime
1. DATE()
2. DATETIME()
3. TIME()
4. CTOD(st)
5. DAY(d)
6. MONTH(d)
7. YEAR(d)
3. Hàm số
1. ABS(ex)
2. INT(ex)
3. ROUND(ex,n)
4. VAL(st)
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 15
4. Hàm tự tạo của người sử dụng
Cú pháp
FUNCTION <Tenham> [PARAMETER <danh sách các tham số>]
(Các lệnh của fox)
RETURN <Biểu thức>
Trong đó TenHam: Tên hàm do người sử dụng tự định nghĩa
Parameter: Từ khoá cho phép truyền vào các tham số cho hàm
VIII. Biểu thức
Biểu thức là tập hợp của một hay nhiều thành phần như hằng, hàm, biến, phép toán, dấu

ngoặc tròn. Sau khi tính toán biểu thức sẽ cho một trị duy nhất. Trị củ
a biểu thức thuộc
về một trong 4 kiểu: N, C, D, L. Một biểu thức có thể rất phức tạp, trị của biểu thức
được tính theo nguyên tắc
• Thứ tự ưu tiên của các phép toán trong 1 biểu thức
1. Các phép số học:
o Dấu âm, dương
o Luỹ thừa
o Nhân, chía
o Phần dư
o Cộng, trừ
2. Các phép chuỗi: +, -
3. Các phép quan h
ệ: =,<,>,>=,<=,<>
4. Các phép logic: NOT, AND, OR
• Sử dụng cập dấu () trong biểu thức để tránh sai sót về thứ tự ưu tiên các phép toán.
Bên trái tính trước, bên phải tính sau.
IX. Từ khoá
Từ khoá là những từ được Visual FoxPro sử dụng vào một mục đích riêng, người sử dụng
không được đặt tên trùng với các từ khoá này. Thông thường từ khoá là những động từ
của lệnh thực hiện. Nếu từ khoá có nhiều hơ
n 4 ký tự thì khi sử dụng chỉ cần ghi 4 ký tự
đầu.
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 16
Ví dụ: Câu lệnh MODIFY COMMAND LUONG.PRG có 2 từ khoá là
MODIFY và COMMAND có thể viết gọn là: MODI COMM LUONG.PRG
X. Lệnh và chương trình
Lệnh là những yêu cầu để thực hiện một nhiệm vụ nào đó. Lệnh trong Visual FoxPro
thường là một động từ, cũng có trường hợp là một kí hiệu như: !. ?, Tập hợp các

lệnh nhằm đạt được một mục tiêu đề ra gọi là chương trình.
Trong Visual FoxPro có 3 cách để ban hành lệnh:
a. Dùng cửa sổ lệnh:
L
ệnh được đưa vào cửa sổ lệnh, sau khi ấn Enter lệnh được thi hành ngay. Thi hành
xong một lệnh thì lệnh cũ được lưu lại trên cửa sổ lệnh có thể sử dụng cho lần sau. Cách
này thường dùng trong những tính toán đơn giản để kiểm tra kết quả của lệnh.
b. Dùng
menu:

Lệnh được ban hành bằng cách kích hoạt menu tương ứng, sau khi thi hành xong câu
lệnh cũng được lưu lại trên cửa sổ lệnh. Cách này chỉ hạn chế trong một số lệnh thông
thường trên tập tin CSDL.
c. Dùng chương trình: Soạn thảo trước một chương trình gồm nhiều lệnh thích
hợp. Chương trình được lưu trên đĩa dưới tên một tập tin có phần mở rộng PRG.
Đ

thực hiện chương trình này, tại cửa sổ lệnh đưa câu lệnh DO <tên file.PRG>. Sau
khi ấn Enter chương trình được nạp vào bộ nhớ và từng lệnh được thực hiện theo thứ tự.
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 17
BÀI 2: XÂY DỰNG PROJECT
I. Tạo mới một Project
Việc phát triển một ứng dụng trong Visual Foxpro thường được tổ chức thành một Project -
Dự án.
Việc tạo mới một Project có thể được thực hiện bằng 1 trong hai cách sau:
• Cách 1: Trong cửa sổ lệnh gõ vào lệnh CREATE PROJECT <Tên Project>
• Cách 2: Vào menu File ->Chọn New, khi đó giao diện New của VS Foxpro xuất
hiện


• Tiếp đến chọn File type = Project (Mặc định).
• Chọn New file để
tạo một Project trống.
• Chọn Wizard để tạo một Project theo một trong các mẫu
thiết kế sẵn của Microsoft.
• Khi chọn New file hộp thoại Create hiển thị cho phép
nhập vào tên project cần tạo, tiếp chọn chọn Save.
• Kết thúc việc tạo mới, cửa sổ Project Manager xuất hiện
(xem phần tiếp theo) cho phép quản lý, làm việc với
Project này.

II. Cửa sổ Project (Project Manager)
[Ch
ạy Foxpro -> Project Manager]
Các thành phần chính trong Project Manager
1-Các tuỳ chọn (Tab) :
• Data: Database, Free Tables, Queries
• Documents: Forms, Reports, Labels.
• Class
• Code: Program, API Libraries, Applications
• Other: Menu, Text file, Other file
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 18
2-Các nút chức năng trong cửa sổ Project Manager
T
T
Ê
Ê
N
N



N
N
Ú
Ú
T
T


C
C
H
H


C
C


N
N
Ă
Ă
N
N
G
G



A
A
D
D
D
D


T
T
H
H
Ê
Ê
M
M


C
C
Á
Á
C
C


T
T
H
H

À
À
N
N
H
H




P
P
H
H


N
N


V
V
À
À
O
O


P
P

R
R
O
O
J
J
E
E
C
C
T
T


N
N
E
E
W
W


T
T


O
O



M
M


T
T


T
T
H
H
À
À
N
N
H
H


P
P
H
H


N
N



M
M


I
I


T
T
R
R
O
O
N
N
G
G
P
P
R
R
O
O
J
J
E
E
C
C

T
T
M
M
O
O
D
D
I
I
F
F
Y
Y


S
S


A
A


C
C


U
U



T
T
R
R
Ú
Ú
C
C


C
C


A
A


M
M


T
T


T
T

H
H
À
À
N
N
H
H


P
P
H
H


N
N
T
T
R
R
O
O
N
N
G
G
P
P

R
R
O
O
J
J
E
E
C
C
T
T
B
B
R
R
O
O
W
W
S
S
E
E


X
X
E
E

M
M


V
V
À
À


S
S


A
A


D
D




L
L
I
I



U
U


C
C


A
A


C
C
Á
Á
C
C


B
B


N
N
G
G



H
H
A
A
Y
Y
T
T
R
R
U
U
Y
Y
V
V


N
N
R
R
E
E
M
M
O
O
V
V

E
E


L
L
O
O


I
I


B
B




M
M


T
T


T
T

H
H
À
À
N
N
H
H


P
P
H
H


N
N


T
T
R
R
O
O
N
N
G
G

P
P
R
R
O
O
J
J
E
E
C
C
T
T

Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 19
BÀI 3: XÂY DỰNG DATABASE VÀ CÁC TABLES
I. Giới thiệu
Bảng dữ liệu (gọi tắt là bảng) là nơi lưu trữ dữ liệu và nó đóng một vai trò quan trọng trong
các bài toán quản lý. Xuất phát từ việc phân tích yêu cầu, các mẫu biểu của bài toán để từ
đó đưa ra cấu trúc các bảng sao cho phù hợp, đáp ứng các yêu cầu đặt ra là một công việc
khá phức tạp, đòi hỏi phải có kiến thức và kinh nghiệm trong lĩnh v
ực cụ thể đó.
II. Tạo Database
1. Tạo mới Database
Câch 1: Sử dụng câu lệnh
Bằng cách này chúng ta có thể tạo ta một Database, tuy nhiên database này là một Database
độc lập (không liên quan đến Project nào)
Câu lệnh: CREATE DATABASE <TenDatabase> ↵

Kết thúc lệnh này Visual Foxpro sẽ tạo ra file Database có tên là TenDatabase (phần mở
rộng là DBC)
Về sau có thể thêm Database này vào trong 1 Project nào đó.
Cách 2: Sử dụng Project Manager
Bằng cách này thì Database được tạo ra sẽ là một thành phần của Project
• Mở Project QLDIEM

Trong Tab Data, chọn mục Database rồi chọn New, khi đó giao diện New database xuất
hiện như hình 1.
• Chọn New Database để tạo một database trống.
• Visual Foxpro sẽ yêu cầu nhập vào tên Database
(file có phần mở rộng là DBC), rồi chọn Save để
ghi lại. Khi đó giao diện Database designer xuất
hiện như hình 2.
• Giao diện Database Designer cho phép xem một
cách tổng thể các thành phần (bảng, view, mỗi
quan hệ giữa các bảng ) trong csdl.


Hình 1 - Hộp thoại New database
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 20
2. Sửa đổi Database
• Trong Project Manager, chọn Tab Data, tiếp đến chọn Database và mở rộng đối tượng
này (bằng cách kích vào dấu + phía trước) .
• Chọn Database cần sửa (vì trong một Project có thể có nhiều hơn một Database) rồi
chọn lệnh Modify, khi đó cửa sổ Database designer xuất hiện.
3. Thêm vào Project một Database đã có
Trường hợp Project sử dụng một Database đã có (đã thiết kế trước đó) thì chúng ta có thể
thêm (Add) Database đ

ó vào Project.
• Trong Project Manager, chọn Tab Data, tiếp đến chọn mục Database.
• Chọn lệnh Add, khi đó sẽ xuất hiện cửa số open file (hình 3) cho phép chúng ta chọn
csdl cần thêm vào.

Hình 3 - Hộp thoại Open file (Select Database)
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 21
4. Loại bỏ một Database khỏi Project
Khi không cần dùng một Database nào đó, chúng ta có thể loại bỏ Database đó khỏi Project
như sau:
• Trong Project Manager, chọn Tab Data, tiếp đến chọn mục Database và mở rộng đối
tượng này.
• Chọn Database cần bỏ, tiếp đến chọn lệnh Remove khi đó xuất hiện hộp thoại như
hình 4.
Hình 4 - Hộp thoại Remove Database
• Chọn Remove (khỏi Project) nếu không muốn xoá hẳn Database này; chọn Delete
nếu muốn xoá hẳn Database này; chọn Cancel khi muốn huỷ bỏ thao tác này.
III. Bảng dữ liệu (Table)
1. Khái niệm
Bảng dữ liệu chứa dữ liệu theo dạng dòng và cột, mỗi dòng được gọi là một mẫu tin
(record), mỗi cột được gọi là một trường (field) của bảng.
Một số công việc cần làm khi làm việc các tables:
• Xác định các Field cần thiết có trong table.
• Loại dữ liệ
u, tạo tiêu đề diễn giải, giá trị mặc định cho từng field.
• Chọn khóa.
• Tạo bẫy lỗi.
• Tạo chỉ mục.
• Thiết lập các mối quan hệ giữa các Tables.

2. Cách
tổ
chức
một
file dữ liệu
• File dữ liệu: Là tập hợp dữ liệu phản ánh về một tập hợp các đối tượng được quản
lý thông qua các thuộc tính của nó.
• Bản ghi
(
R
ec
or
d
)
:
Là một bộ giá trị các thuộc tính phản ánh về một đối tượng.

Tr
ư

n
g
(Field): Là một thuộc tính trong file dữ liệu, mỗi trường được xác
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 22
định bởi tên trường, kiểu trường và kích thước trường.
• Tên trường (Field name): Tên trường dài tối đa 10 ký tự bao gồm chữ cái, chữ
số, ký tự gạch dưới, ký tự đầu tiên của tên trường phải là chữ cái.

Kiểu trường (Field type): Kiểu trường có các dạng sau:


• Kích thước
trường
(Field Width): Là khoảng bộ nhớ cần thiết để lưu trữ các
giá trị của trường, kích thướ
c của trường phụ thuộc vào kiểu trường:
• Kiểu C: Tối đa 254 Byte
• Kiểu N: Tối đa 20 Byte kể cả dấu thập phân
• Kiểu L: Chiếm 1 Byte
• Kiểu D: Chiếm 8 Byte
• Kiểu M: độ dài tuỳ ý, chiếm 10 Byte khi khai báo
• Currency: Chiếm 8 byte
Mỗi bảng dữ liệu được lưu trữ trên đĩa với tên file có phần mở rộng mặc định là DBF,
mỗi b
ảng dữ liệu có hai phần: cấu trúc và nội dung của bảng.
Cấu trúc file: Mỗi tổ hợp trường sắp xếp theo thứ tự nhất định gọi là cấu trúc của file dữ
liệu, mỗi file dữ liệu chỉ có một cấu trúc cụ thể.
Ví dụ: bảng nhân viên (nhanvien.dbf) có cấu trúc sau:
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 23
Nội dung của NHANVIEN.DBF

IV. Tạo bảng
1. Tạo mới Tables
Cách 1: Sử dụng câu lệnh
Trong Visual Foxpro, một bảng dữ liệu có thể tồn tại ở một trong hai trạng thái: tự do (free)
hoặc thuộc một CSDL nào đó. Bằng cách này, Table được tạo ra là một Table độc lập.
Câu lệnh: CREATE TABLE <TableName>(FieldName1 Ftype1(width1) [, ])
Trong đó:
• TableName - tên bảng (không chứa dấu cách).

• FieldName1 - Tên trường 1.
• Ftype1 - Kiểu trường 1 (dùng các chữ cái
đầu của kiểu trong fox để mô tả)
• With1 - độ rộng của trường. Tương tự như vậy cho trường thứ 2.
Ví dụ: CREATE TABLE Hososv(masv C(10), Hoten C(30))
Cách 2: Sử dụng Project Manager
• Trong Project Manager chọn Tab Data, chọn mục
Database và mở rộng đối tượng này (bằng cách kích
vào dấu + phía trước).
• Chọn Database cần làm việc và mở rộng đối tượng này
(bằng cách click vào dấu + phía trước), tiếp đến chọn
Tables rồi chọ
n New. Khi đó giao diện New table có
dạng như hình 5.
• Chọn New Tbale để tạo một Table trống.
• Nhập vào tên Table (file có phần mở rộng là dbf), rồi
chọn Save để ghi lại. Giao diện Table Designer:
Hình 5 - New table
Bài giảng Visual FoxPro
Bộ môn Tin học – ĐHTN 24
• Tab Field: Phần khai báo chính cho 1 trường của bảng
Trong đó:
N
ame: Tên trường.
Type: Kiểu dữ liệu của trường.
Width:
Độ
rộng của trường.
Decimal: Số chữ số lẻ sau phần dấu chấm thập phân, phần này chỉ sử dụng
cho dữ liệu kiểu số.

Index Sắp xếp (Ascending, Descending, None)

N
ull Checked or Unchecked: cho phép hoặc không cho phép giá trị null
Format Định dạng dữ liệu hiển thị (sử dụng các ký tự qui định cho format củ
a

Foxpro - xem bảng sau)
Các kiểu dữ liệu:
Kiểu dữ liệu Diễn giải Kiểu dữ liệu Diễn giải Kiểu dữ liệu Diễn giải
C Kí tự F Float L Logic
D Ngày I Integer M Memo
T Ngày giờ B Double G General
N Số Y Tiền tệ
Hình 6 - Table Designer

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×