- Với sự phát triển mạnh mẽ của nền kinh tế thị trường , các hoạt động kinh doanh ngày càng trở nên đa dạng và phức tạp trong đó có các hoạt động kinh doanh nhà nghỉ và quầy bar . Sự đa dạng và phức tạp đó gây rất nhiều khó khăn cho quá trình quản lý . Chính vì lý do đó người ta đã đưa ra giải pháp đó là đưa tin học vào quá trình quản lý nhằm giảm khó khăn cho hoạt động kinh doanh và việc viết các phần mềm quản lý kinh doanh đã trở nên phổ biến và cần thiết đặc biệt trong đó có các phần mềm quản lý nhà nghỉ và quầy bar .
Trang 1MỤC LỤC
MỤC LỤC 1
Chương 1 2
CHƯƠNG MỞ ĐẦU 2
LỜI NÓI ĐẦU 2
1 Mục đích của đề tài 3
2 Yêu cầu của đề tài 3
3 Phương pháp thực hiện đề tài 4
Chương 2 4
KHẢO SÁT THỰC TẾ MÔ HÌNH KINH DOANH NHÀ NGHỈ VÀ QUẦY BAR 4
1) Mô hình hoạt động cho thuê nhà nghỉ 4
a) Mô hình Tour du lịch 5
b) Mô hình khách lẻ 6
2) Mô hình hoạt động của Quầy Ba 8
3) Mô hình hoạt động của nhà bếp 9
Chương 3 10
CƠ SỞ LÝ THUYẾT 10
A LÝ THUYẾT THIẾT KẾ CSDL 10
I Khái niệm cơ bản về cơ sở dữ liệu 10
II Mô hình cơ sở dữ liệu quan hệ 11
III Lý thuyết về chuẩn hóa các quan hệ 12
B LÝ THUYẾT NGÔN NGỮ LẬP TRÌNH 14
I Lý do chọn ngôn ngữ 14
II Tìm hiểu sơ lược về Microsoft Visual Basic 6.0 14
III Chi tiết về ngôn ngữ Visual Basic 6.0 16
IV Lập trình sử dụng Visual Basic 6.0 21
V Thư viện liên kết động và các hàm 26
Chương 4 30
PHÂN TÍCH THIẾT KẾ HỆ THỐNG 30
1 Chức năng của hệ thống 30
a) Quản lý nhà nghỉ 30
b) Quản lý quầy bar , bếp 31
d) Quản lý người dùng 32
2 Các dữ liệu liên quan 33
2.1 Dữ liệu đầu vào 33
2.2 Dữ liệu đầu ra 33
3 Các sơ đồ hệ thống 35
3.1 Sơ phân rã chức năng 35
3.2 Sơ đồ luồng dữ liệu mức ngữ cảnh 36
3.3 Sơ đồ luồng dữ liệu mức đỉnh 37
3.4 Sơ đồ luồng dữ liệu mức dưới đỉnh 38
Trang 23.5 Cơ sở dữ liệu liên quan 42
Chương 5 46
CÁC KẾT QUẢ ĐẠT ĐƯỢC 46
1 Giao diện chính của chương trình 46
2 Giao diện chương trình phần Quầy bar – Bếp 47
3 Giao diện chương trình phần Nhà nghỉ 48
4 Giao diện chương trình phần quản lý người dùng 49
5 Giao diện chương trình phần Thống kê , báo cáo 50
6 Giao diện form pha chế đồ uống 51
7 Giao diện form bán hàng 52
8 Giao diện form đăng kí thuê phòng khách tour 53
9 Giao diện form đăng kí thuê phòng khách lẻ 54
10 Giao diện form đăng trả phòng khách tour 55
11 Giao diện form đăng trả phòng khách lẻ 56
12 Giao diện form thống kê chi tiết thuê phòng khách tour 57
13 Giao diện form thống kê chi tiết bán đồ uống 58
14 Giao diện form thống kê tổng thu 59
PHỤ LỤC 60
HƯỚNG PHÁT TRIỂN 60
LỜI CẢM ƠN 60
Chương 1 CHƯƠNG MỞ ĐẦU
LỜI NÓI ĐẦU
Ngày nay công nghệ thông tin đang phát triển rất nhanh và trở thành một
ngành rất quan trọng trong nền kinh tế thế giới nói chung và Việt Nam nói riêng
.Từ khi ra đời , công nghệ thông tin đã đạt được nhiều thành tựu lớn trong nhiều
lĩnh vực như quốc phòng , y tế , giáo dục và đặc biệt là kinh tế …
Sự phát triển đến chóng mặt của ngành kinh tế toàn cầu nói chung , và Việt
Nam nói riêng đang là một thách thức lớn đòi hỏi các nhà kinh doanh phải có
những biện pháp tối ưu hỗ trợ quản lý và tính toán nhanh chóng trong quá trình
hoạt động kinh doanh của họ , trong khi việc quản lý theo mô hình cũ trên giấy
Trang 3tờ , sổ sách , trên các file văn bản lại rất chậm , việc cập nhật , tìm kiếm , thống
kê gặp nhiều khó khăn và dễ sai sót
Với việc sử dụng khả năng lưu trữ và xử lý của máy tính , công nghệ thông
tin đang giúp cho con nguời khắc phục được những khó khăn về độ phức tạp
cũng như thời gian trong công việc Chính vì vậy ý tưởng đưa công nghệ thông
tin vào bài toán quản lý là một giải pháp tối ưu để quá trình kiểm soát và tính
toán trong hoạt động kinh doanh được nhanh chóng và dễ dàng
Từ thực tế như vậy chúng em đã quyết định chọn đề tài “ Xây dựng chương
trình quản lý kinh doanh nhà nghỉ và quầy bar ” làm đề tài của mình
1 Mục đích của đề tài
- Với sự phát triển mạnh mẽ của nền kinh tế thị trường , các hoạt động kinh doanh
ngày càng trở nên đa dạng và phức tạp trong đó có các hoạt động kinh doanh nhà
nghỉ và quầy bar Sự đa dạng và phức tạp đó gây rất nhiều khó khăn cho quá trình
quản lý Chính vì lý do đó người ta đã đưa ra giải pháp đó là đưa tin học vào quá
trình quản lý nhằm giảm khó khăn cho hoạt động kinh doanh và việc viết các phần
mềm quản lý kinh doanh đã trở nên phổ biến và cần thiết đặc biệt trong đó có các
phần mềm quản lý nhà nghỉ và quầy bar
- Với sự trợ giúp của chương trình quản lý , nhất định hoạt động kinh doanh nhà
nghỉ , quầy bar sẽ đạt hiệu qủa cao hơn , nhanh chóng chính xác hơn và đáp ứng
yêu cầu ngày càng cao của nên kinh tế thị trường
2 Yêu cầu của đề tài
* Chương trình quản lý nhà nghỉ và quầy bar phải đáp ứng các yêu cầu sau:
- Quản lý đầy đủ các thông tin và hoạt động của 3 hệ thống sau:
+ Cho thuê nhà nghỉ
Trang 4+ Bán đồ uống của quầy bar
+ Bán đồ ăn của bếp
- Đảm bảo xử lý tốt các nghiệp vụ kinh doanh trong kinh doanh nhà ghỉ và quầy
bar
- Kiểm soát được các sự cố xảy ra
- Dễ sử dụng , giao diện thân thiện với người dùng
- Dễ cài đặt , triển khai trong thực tế
3 Phương pháp thực hiện đề tài
- Khảo sát thực tế kết hợp với lý thuyết chuyên ngành để xây dựng mô hình hoạt
động tổng quát
- Phân tích mô hình hệ thống để đưa ra các giải pháp và cơ sở dữ liệu liên quan
- Lựa chọn ngôn ngữ lập trình , hệ quản trị cơ sở dữ liệu và tiến hành xây dựng các
module xử lý công việc
- Cài đặt và chạy thử chương trình
+ Xây dựng cơ sở dữ liệu bằng Microsoft Access
+ Xây dựng chương trình bằng Microsoft Visual Basic 6.0
+ Chương trình cài đặt trên Windows
Chương 2 KHẢO SÁT THỰC TẾ MÔ HÌNH KINH DOANH
NHÀ NGHỈ VÀ QUẦY BAR 1) Mô hình hoạt động cho thuê nhà nghỉ
* Hoạt động cho thuê phòng của nhà nghỉ theo 2 mô hình :
Trang 51 Cho thuê phòng theo mô hình Tour du lịch
2 Cho thuê phòng theo mô hình khách lẻ
a) Mô hình Tour du lịch
- Giải thích :
+ Khách hàng sẽ trả tiền cho công ty du lịch để tham gia Tour du lịch của công ty du
lịch
+ Công ty du lịch sẽ đưa khách hàng đến thuê phòng tại nhà nghỉ
+ Người quản lý nhà nghỉ sẽ đăng ký thuê phòng cho khách hàng và sau đó cập nhật
thông tin thuê phòng , trả phòng vào cơ sở dữ liệu
+ Sau mỗi tháng công ty du lịch sẽ thanh toán tiền thuê phòng của những khách của
họ đã thuê phòng tại nhà nghỉ đầy đủ cho nhà nghỉ
Trả tiền
theo Tour
du lịch
Đưa khách hàng đến nhà nghỉ
Đăng ký thuê phòng cho khách hàng
Cơ Sở
Dữ Liệu
Cập nhật Thông tin Thuê phòng
Trang 6+ Khi trả phòng , khách hàng sẽ thanh toán tiền phòng cho nhà nghỉ và người quản lý
lại tiếp tục cập nhật thông tin trả phòng vào cơ sở dữ liệu
+ Cuối tháng , nhà nghĩ sẽ thanh toán tiền hoa hồng cho những người môi giới
Người môi giới
Nhà Nghỉ
Đến thuê phòng và trả tiền phòng theo ngày
Thanh toán % tiền hoa hồng
Đưa khách hàng đến nhà nghỉ
Đăng ký thuê phòng cho khách hàng
Cơ Sở
Dữ Liệu
Cập nhật Thông tin Thuê phòng
Trang 7- Khách hàng đến thuê phòng không qua môi giới
- Giải thích :
+ Khách hàng đến đăng ký thuê phòng
+ Người quản lý cho khách hàng thuê phòng và cập nhật thông tin thuê phòng
+ Khi khách hàng trả phòng sẽ thanh toán tiền thuê phòng và người quản lý lại tiếp tục
cập nhật thông tin trả phòng
Đến thuê phòng và trả tiền phòng theo ngày
Đăn ký thuê phòng cho khách hàng
Cơ Sở
Dữ Liệu
Cập nhật Thông tin Thuê phòng
Trang 82) Mô hình hoạt động của Quầy Ba
- Giải thích :
+ Khách hàng gọi đồ uống
+ Người quản lý quầy bar yêu cầu nhân viên quầy bar bán đồ uống cho khách
+ Nhân viên quầy bar sẽ pha chế đồ uống và bán cho khách hàng sau đó xác nhận để
người quản lý nhập thông tin bán hàng
Khách Hàng Gọi đồ uống, yêu cầu thanh toán Quản lý
Nhân viên quày bar
Yêu cầu bán hàng, tính tiền
Thanh toán
Cơ Sở
Dữ Liệu
Cập nhật Thông tin Bán hàng
Xác nhận Bán hàng, Thanh toán Bán đồ
uống
Trang 9+ Khi khách hàng yêu cầu thanh toán , người quản lý sẽ tính tiền và yêu cầu nhân viên
Thanh toán
Cơ Sở
Dữ Liệu
Cập nhật Thông tin Bán hàng
Xác nhận Bán hàng, Thanh toán Bán đồ
ăn
Trang 10+ Nhân viên bếp sẽ nấu , pha chế đồ ăn và bán cho khách hàng sau đó xác nhận để
người quản lý nhập thông tin bán hàng
+ Khi khách hàng yêu cầu thanh toán , người quản lý sẽ tính tiền và yêu cầu nhân viên
I Khái niệm cơ bản về cơ sở dữ liệu.
Cơ sở dữ liệu (CSDL) là nguồn cung cấp thông tin cho hệ thống thông tin trên
máy tính, trong đó các dữ liệu được lưu trữ một cách có cấu trúc theo một quy định
nào đó nhằm giảm thiểu sự dư thừa và đảm bảo toàn vẹn dữ liệu
Hệ quản trị cơ sở dữ liệu là hệ các chương trình để có thể xử lý, thay đổi dữ
liệu Theo nghĩa này, hệ quản trị CSDL có nhiệm vụ rất quan trọng như là một bộ
diễn dịch với ngôn ngữ bậc cao nhằm giúp người sử dụng có thể dùng được hệ
thống mà ít nhiều không cần quan tâm đến thuật toán chi tiết hoặc biểu diễn dữ liệu
trong máy tính
Trong lịch sử phát triển của CSDL, có 3 mô hình CSDL chính thường được
sử dụng, đó là:
Trang 11- Mô hình phân cấp: Mô hình dữ liệu là một cây, trong đó các nút biểu diễn
các tập thực thể, giữa các nút con và nút cha được liên hệ theo một mối quan hệ
xác định
- Mô hình mạng: Mô hình đuợc biểu diễn là một đồ thị có hướng Mô hình
mạng cũng gần giống như mô hình cây, đó là một nút cha có thể có nhiều nút con,
nhưng khác là một nút con không chỉ có một nút cha mà có thể có nhiều nút cha
Do vậy việc truy nhập thông tin mềm dẻo hơn
- Mô hình quan hệ: Mô hình này dựa trên cơ sở lý thuyết tập hợp của các
quan hệ Các dữ liệu được chuyển vào bảng hai chiều, mỗi bảng gồm các hàng và
các cột, mỗi hàng xác định một bản ghi, mỗi cột xác định một trường dữ liệu Các
bảng có thể móc nối với nhau để thể hiện các mối quan hệ
Trong ba loại mô hình trên thì mô hình quan hệ được nhiều người quan tâm
hơn cả, bởi nó có tính độc lập dữ liệu rất cao, lại dễ dàng sử dụng và được hình
thức hoá toán học tốt
II Mô hình cơ sở dữ liệu quan hệ.
1 Các khái niệm cơ bản.
- Miền: là tập các giá trị Ví dụ miền của các giá trị màu vẽ là tập hợp {đỏ, da
cam, vàng }
Khái niệm tiếp theo là tích Đề-Các của các miền Giả sử có các miền D1, D2,
D3, , Dn, tích Đề-Các của n miền D1 D2 D3 Dn là tập tất cả n-bộ (v1, v2,
v3, , vn) trong đó vi Di
- Quan hệ: Là tập con các tích Đề-Các của một hoặc nhiều miền.
Quan hệ hay bảng quan hệ là bảng hai chiều Quan hệ có các hàng và các cột,
các cột ứng với các miền, các hàng ứng với các bộ của tích Đề-Các
- Thuộc tính: Thuộc tính của một quan hệ là cột của bảng quan hệ, đặc trưng
bởi một tên
Trang 12- Khoá: Khoá của quan hệ trên tập thuộc tính R={A1, ,An} là tập con K R
sao cho bất kỳ hai bộ khác nhau t1, t2 r luôn thoả t1 (K) t2 (K), bất kỳ tập con
thực sự K K nào đó đều không có tính chất đó
Tập K là siêu khóa của quan hệ r nếu K là một khóa của quan hệ r
2 Các phép tính trên CSDL quan hệ.
Các phép tính cơ bản thay đổi một CSDL là: chèn (insert), loại bỏ (delete) và
thay đổi (change) Trong mô hình CSDL quan hệ, các phép tính này được áp dụng
cho từng bộ của các quan hệ lưu trữ trong máy
Gọi tập {C1, , Cp} {A1, , An} là tập các thuộc tính mà tại đó các giá trị của
bộ cần thay đổi, khi đó phép thay đổi có dạng r = r \ t t
III Lý thuyết về chuẩn hóa các quan hệ.
Do việc cập nhật dữ liệu (chèn, loại bỏ, thay đổi) gây nên những dị thường
cho nên các quan hệ cần được biến đổi thành dạng phù hợp Quan hệ được chuẩn
hoá là quan hệ trong đó mỗi miền của một thuộc tính chỉ chứa những giá trị
nguyên tố tức là không phân nhỏ được nữa và do đó mỗi giá trị trong quan hệ cũng
là nguyên tố Một quan hệ được chuẩn hoá có thể thành một hoặc nhiều quan hệ
chuẩn hoá khác và không làm mất mát thông tin
Trước khi nghiên cứu các dạng chuẩn, ta xét một số khái niệm cần thiết.
1 Các khái niệm.
Trang 13- Thuộc tính khoá: Cho một lược đồ quan hệ R trên tập thuộc tính U={A1, ,
An} Thuộc tính AU được gọi là thuộc tính khoá nếu A là thành phần thuộc một
khoá nào đó của R, ngược lại A là thuộc tính không khoá
- Phụ thuộc hàm: Cho R là một lược đồ quan hệ trên tập thuộc tính U={A1, ,
An} và X, Y là tập con của U Nói rằng X Y (X xác định hàm Y hay Y phụ
thuộc hàm vào X) nếu r là một quan hệ xác định trên R(U) sao cho bất kỳ hai bộ t1,
t2 r mà
nếu t1[X] = t2[X] thì t1[Y] = t2[Y]
Nói cách khác, phụ thuộc hàm có nghĩa là với mọi giá trị của khóa tại mọi thời
điểm được xét, chỉ có một giá trị cho từng thuộc tính khác trong quan hệ
- Phụ thuộc hàm đầy đủ: Y là phụ thuộc hàm đầy đủ vào X nếu Y là phụ
thuộc hàm vào X nhưng không phụ thuộc vào bất kỳ một tập hợp con thực sự nào
của X
2 Các dạng chuẩn.
Năm 1970, khi đề xuất mô hình CSDL quan hệ, trong lý thuyết ban đầu Codd
E.F đưa ra ba dạng chuẩn của quan hệ Đó là: dạng chuẩn thứ nhất (First Normal
Form-1NF), dạng chuẩn thứ hai (2NF), dạng chuẩn thứ ba (3NF) Ngoài ba dạng
chuẩn trên trong lý thuyết chuẩn hoá còn có một số dạng chuẩn khác, tuy nhiên
chúng không sử dụng rộng rãi nên ta không xét ở đây
- Dạng chuẩn thứ nhất (First Normal Form-1NF):
Một lược đồ quan hệ R được gọi là ở dạng chuẩn thứ nhất khi và chỉ khi toàn
bộ các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố, tức là các giá trị
đơn
- Dạng chuẩn thứ hai (2NF):
Trang 14Lược đồ quan hệ R ở dạng chuẩn hai nếu nó ở dạng chuẩn một và nếu mỗi
thuộc tính không khóa của R là phụ thuộc hàm đầy đủ vào khóa chính, không phụ
thuộc hàm vào một phần của khóa
- Dạng chuẩn thứ ba (3NF):
Lược đồ quan hệ R là ở dạng chuẩn ba nếu nó là dạng chuẩn hai và mỗi thuộc
tính không khóa của R không phụ thuộc hàm bắc cầu vào khóa chính Hay nói cách
khác, các thuộc tính không khóa không phụ thuộc hàm vào bất kỳ phần tử không
phải khóa nào
B LÝ THUYẾT NGÔN NGỮ LẬP TRÌNH
I Lý do chọn ngôn ngữ
Hiện nay có rất nhiều ngôn ngữ lập trình cả trên nền của DOS và trên nền của
Windows nhưng lập trình trên nền Window ngày càng được ưa chuộng và sử dụng
nhiều hơn vì giao diện đẹp dễ sử dụng và đa nhiệm.Em thấy Visual Basic hỗ trợ
giao diện thân thiện , hỗ trợ cả đồ họa ,lập trình đa nhiệm , dễ thiết kế , dễ sử
dụng , ít gây lỗi và nhất là yêu cầu cấu hình thấp , cài đặt đơn giản rất phù hợp với
các mô hình quản lý vừa và nhỏ như là mô hình quản lý nhà nghỉ và quầy bar mà
em đang nói đến, Cho nên em chọn ngôn ngữ lập trình Visual Basic
II Tìm hiểu sơ lược về Microsoft Visual Basic 6.0
1 Những điều kiện cần thiết của Visual Basic 6.0
+ Yêu cầu về hệ điều hành:
- Hệ điều hành Windows95 hoặc phiên bản mới hơn
+ Yêu cầu về máy tính:
- Máy 486 với tốc độ của bộ vi xử lý 66 Mhz hoặc lớn hơn
Trang 15- Chuột
- Bộ nhớ RAM 16MB
- Đĩa cứng có dung lượng còn lại là 85 MB (Nếu cài đặt Typical), 192 MB
Nếu có cài đặt đầy đủ
- Màn hình VGA
+ Tiến hành cài đặt:
Bạn cài đặt Microsoft Visual Basic bằng đĩa CD, hay đĩa mềm Trước khi cài
đặt Visual Basic bạn phải tắt chế độ bảo vệ chống virus Các bước tiến hành cài đặt
+ Cài tối thiểu(15MB): Chỉ cài một số File cần thiết của Visual Basic
+ Cài bình thường yêu cầu 85 MB đĩa trống
+ Cài đầy đủ yêu cầu 192MB đĩa trống
Đối với phiên bản 6.0 tất cả các ví dụ và hướng dẫn đều nằm trên 2 đĩa
MSDN đính kèm Vì vậy muốn sử dụng phần hướng dẫn sử dụng bạn phải tiến
hành cài đặt 2 đĩa này sau khi đã cài xong phần mềm Visual Basic
3 Khởi động Visual Basic 6.0
Trong Windows ngoài các cách truyền thống, bạn có thể tạo một shortcut trên
màn hình Desktop để kích hoạt Visual Basic
- Hoặc kích vào start\Program\Visual Basic
- Hoặc kích vào biểu tượng trên thanh Toolbar
- Hoặc kích đúp vào biểu tượng shortcut trên màn hình (Desktop)
Trang 16- Thêm và loại bỏ một số thành phần Microsoft Visual Basic.
Sau khi cài đặt Visual Basic, bạn có thể thêm một số thành phần
chưa cài hoặc loại bỏ một số thành phần khác không cần thiết đã được
cài đặt Cách tiến hành như sau:
- Trong cửa sổ Control Panel, chọn mục Add/Remove Program, chọn
Microsoft Visual Basic 6.0, kích vào nút Add/Remove
- Trong hộp hội thoại Microsoft Visual Basic Setup, kích nút Add/Remove
Trong hộp thoại Visual Basic Custom, bạn có thể thêm hay gỡ bỏ các thành
phần bằng cách chọn hay bỏ các thành phần đó
- Chọn nút continue để kết thúc
4 Thoát khỏi Visual Basic
- Kích vào Menu File chọn exit
- Bấm tổ hợp phím Alt+F4
III Chi tiết về ngôn ngữ Visual Basic 6.0
Visual Basic(VB) được xem là công cụ phát triển phần mềm phổ dụng nhất
hiện nay VB ngày càng phát triển mạnh: VB 2.0 nhanh hơn, dễ dùng hơn VB 1.0
VB 3.0 tăng thêm những cách thức đơn giản để điều kiểm các cơ sở dữ liệu VB
4.0 hỗ trợ sự phát triển 32-bit và bắt đầu tiến trình chuyển VB thành ngôn ngữ lập
trình hướng đối tượng VB 5.0 thêm khả năng tạo tập tin thi hành(.exe) VB 6.0
tăng cường khả năng Internet, và các tính năng cơ sở dữ liệu
Một ưu điểm khác khi dùng VB là tiết kiệm thời gian và công sức so với các
ngôn ngữ lập trình khác khi xây dựng cùng một ứng dụng
Trang 17VB gắn liền với khái niệm lập trình trực quan (Visual), nghĩa là khi thiết kế
chương trình, ta nhìn thấy ngay kết quả qua từng thao tác và giao diện khi chương
trình thực hiện
Một khả năng khác của VB chính là khả năng kết hợp các thư viện liên kết
động DLL (Dynamic Link Library) DLL chính là phần mở rộng cho VB tức là khi
xây dựng một ứng dụng nào đó có một số yêu cầu mà VB chưa đáp ứng đủ, ta viết
thêm DLL phụ trợ
Khi viết chương trình bằng VB, chúng ta phải qua các bước căn bản sau:
- Tạo một giao diện
- Thiết lập thuộc tính, viết mã lệnh cho thuộc tính
1 Tạo giao diện.
Do VB là ngôn ngữ lập trình hướng đối tượng nên việc thiết kế giao diện đơn
giản, bằng cách đưa các đối tượng vào Form và tiến hành thay đổi một số thuộc
tính của đối tượng đó
Form là biểu mẫu của mỗi ứng dụng trong VB Ta dùng Form như là một biểu
mẫu nhằm định vị sắp xếp các bộ phận trên nó khi thiết kế các phần giao tiếp với
người dùng VB cho phép ta thay đổi kích cỡ và di chuyển vị trí của Form đến bất
kỳ đâu trên màn hình khi chạy một đề án, bằng cách thay đổi các thuộc tính của nó
trong cửa sổ thuộc tính đối tượng (Properties Windows) Thực tế, một trong những
tính năng thiết yếu của VB đó là khả năng tiến hành các thay đổi động để đáp ứng
các sự kiện của người dùng
Các đối tượng đưa vào Form là các biểu tượng hiển thị cho các điều khiển
nằm trên hộp công cụ (Tools box) mà ta có thể bổ sung vào biểu mẫu Tools box là
bảng chứa các đối tượng được định nghĩa sẵn của VB Các đối tượng thông dụng
Trang 18trong Tools box thường là: Label (nhãn), Textbox (hộp văn bản), Image (hình ảnh),
Check box (hộp kiểm tra)
2 Đối tượng
Lấy ví dụ trong đời sống, đối tượng có thể là một máy truyền hình (TV) hoặc
một cái công tắc đèn Mỗi cái có công dụng riêng TV dùng để xem các chương
trình truyền hình, còn công tắc dùng để thắp sáng Mỗi đối tượng có thể được cấu
tạo từ nhiều đối tượng khác.Trong Visual Basic, đối tượng là những thành phần tạo
nên giao diện người sử dụng cho ứng dụng Các điều khiển là những đối tượng
những nơi chứa (container) như biểu mẫu (form), khung (Frame), hay hộp ảnh
(Picture box) cũng là một đối tượnso s¸nh
3 Thuộc tính
Nói một cách đơn giản, thuộc tính(properties) mô tả đối tượng Mỗi đối tượng
đều có một bộ thuộc tính mô tả đối tượng Biểu mẫu và điều khiển đều có thuộc
tính Thậm chí, màn hình và máy in, là nhữmg đối tượng cho phép can thiệp vào
lúc thi hành cùng có thuộc tính
Mặc dù mỗi đối tượng có những bộ thuộc tính khác nhau, nhưng trong đó, vẫn
có một số thuộc tính thông dụng cho hầu hết các điều khiển (Bạn có thể xem toàn
bộ thuộc tính của một một điều khiển bằng cách chon điều khiểu và mở Properties
trong Visual Basic)
Các thuộc tính thông dụng
Thuộc tính Giải thích
Left Vị trí căn trái của điều khiển so với vật chứa nó
Top Vị trí căn trên của điều khiển so với vật chứa nó
Trang 19Height Chiều cao của điều khiển
With Chiều rộng của điều khiển
Name Một giá trị chuổi được dùng để nói đến điều khiển
Enable Giá trị logic(True hoặc false) quyết định người sử
dụng có làm việc với điều khiển hay không
Visible Giá trị logic(True hoặc false) quyết định người sử
dụng có thấy điều khiển hay không
4 Phương thức
Nếu như thuộc tính mô tả đối tượng, phương thức chỉ ra cách thức đối tượng
hành động thì sự kiện là những phản ứng của đối tượng Tương tự thuộc tính và
phương thức, mỗi điều khiển có những bộ sự kiện khác nhau, nhưng một số sự
kiện rất thông dụng và hầu hết các điều khiển, các sự kiện này xảy ra thường là kết
quả của một hành động nào đó, như là di chuyển chuột, nhấn nút bàn phím, hoặc
gõ vào hộp văn bản kiểu sự kiện này được gọi là sự kiện khởi tạo bởi người sử
dụng, và ta sẽ lập trình cho chúng
Các sự kiện thông dụng:
Change Người sử dụng sửa đổi chuổi kí tự trong hộp kết
hợp(combobox) hoặc hộp văn bản(textbox)
Click Người sử dụng nút chuột để ấn lên đối tượng
DblClick Người sử dụng nút chuột để nhấn đúp lên đối tượng
DragDrop Người sử dụng kéo rê một đối tượng sang nới khác
DragOver Người sử dụng kéo rê một đối tượng quan ngang một
đối tượng khácGotFocus Đưa một đối tượng vào tầm ngắm của người sử dụng
KeyDown Người sử dụng nhấn nút trên bàn phím trong khi một
đối tượng đang trong tầm ngắm
KeyPress Người sử dụng nhấn và thả một nút trên bàn phím
trong khi một đối tượng trong tầm ngắm
KeyUp Người sử dụng thả một nút trên bàn phím trong khi
Trang 20một đối tượng đang trong tầm ngắm.
LoesFocus Đưa một đối tượng ra khỏi tầm ngắm
MouseDown Người sử dụng nhấn nút chuột ở một nút bất kỳ
trong khi con trỏ đang nằm trên một đối tượng
MouseMove Người sử dụng di chuyển con trỏ chuột đi ngang qua
một đối tượngMouseUp Người sử dụng thả chuột trong khi con trỏ chuột
dang nằm trên một đối tượng
5 Mối quan hệ giữa thuộc tính, phương thức và sự kiện
Mặc dù thuộc tính, phương thức và sự kiện có vai trò khác nhau, nhưng chúng
thường xuyên liên hệ với nhau
Ví dụ: Nếu ta di chuyển một điều khiển bằng phương thức Move (thường
để đáp ứng một điều kiện), một số thuộc tính Top, Height, Left, With sẽ đổi theo
Bởi vì khi kích cở thay đổi thì sự kiện Resize xảy ra
Phụ thuộc lẫn nhau còn có ý nghĩa là ta có thể đạt được mục đích công việc
bằng nhiều cách: xử lý trên thuộc tính hoặc phương thức
Các điều khiển trên biểu mẫu chỉ là một phần nhỏ của quá trình phát triển ứng
dụng, nhằm tạo ra giao diện cho ứng dụng Sau đó, bạn cần viết chương trình để
ứng dụng hoạt động Do đó, chương này sẽ đi sâu vào phần công việc chính của
VB, viết chương trình
VB là ngôn ngữ lập trình dựa trên đối tượng Nếu bạn là một người mới học,
chương này sẽ giới thiệu các khối thiết kế cơ bản để xây dựng chương trình Khi đã
hiểu được các khái niệm cơ bản, bạn có thể tạo ra các ứng dụng rất mạnh bằng VB
IV Lập trình sử dụng Visual Basic 6.0
1 Hàm và thủ tục
Trang 21- Chia nhỏ chương trình thành nhiều phần lôgíc, giúp gỡ rối dễ dàng
- Thủ tục có thể được sử dụng lại trong một ứng dụng khác
Các loại thủ tục:
a Thủ tục con không trả về giá trị:
{Private| Public}{Static}Sub <tên thủ tục>(tham số)
Hoặc : Myproc FistArg,SecondArg
Thoát khỏi thủ tục hay hàm
Exit Sub dùng để thoát thủ tục, Exit Function dùng để thoát khỏi hàm
Truyền tham số bằng giá trị
Bản sao của biến được truyền vào thủ tục Nếu thủ tục thay đổi giá trị, chỉ bản
sao bị ảnh hưởng và không liên quan đến giá trị của biến
Ta dùng:
Trang 22Sub PostAcount(ByVal IntAcct As Integer)
End Sub
Truyền tham số bằng tham chiếu
Địa chỉ biến được truyền cho thủ tục Do đó bất kỳ sự thay đổi nào của thủ tục
trên biến sẽ ảnh hưởng trực tiếp đến giá trị biến Truyền tham chiếu là mặc định
của VB
2 Cấu trúc điều khiển:
2.1 Câu lệnh điều kiện: if…then
Trong đó điều kiện là một so sánh hay một biểu thức mang giá trị số Và
thông dịch giá trị thành True hoặc False
2.2 Câu lệnh Select Case:
Giải quyết trong trường hợp có nhiều elseif được dùng, giúp chương trình
sáng sủa, dễ đọc, biểu thức được tính toán một lần vào đầu cấu trúc Sau đó, Visual
Trang 23Basic so sánh kết quả biểu thức với từng Case Nếu bằng, nó thi hành khối lênh
Thi hành khối lệnh với số lần lặp không điịnh trước, trong đó một biểu thức
điều kiện dùng so sánh để quyết định vòng lặp có tiếp tục hay không Điều kiện
phải quy về False hoặc True
Trang 24Biết số lần lặp Ta dùng biến tăng dần hoặc gảm dần trong vòng lặp.
For<biến đém>=<điểm đầu>[Step<Bước nhảy>]
<Khối lệnh>
Next[<biến đếm>]
Biến đếm, điểm đầu, điểm cuối và bước nhảy có thể âm hoặc dương Nếu
bước nhảy là dương, điểm đầu nó nhỏ hơn hoăc bằng điểm cuối Nếu không thi câu
lệnh không thi hành Nếu bước nhảy là số âm, điểm đầu phải lớn hơn hoặc bằng
điểm cuối Nếu Step không chi ra thi ngầm định là 1
3.3 For Each Next
Tương tự vòng lặp For Next, nhưng nó lặp khối lệnh theo số phần tử của một
tập các đối tượng hay một mảng thay vì theo số lần lặp xác định Vòng lặp này tiện
lợi khi ta không biết chính xác bao nhiêu phần tử trong tập hợp
For Each<phần tử> In <Nhóm>
<Khối lệnh>
Next <phần tử>
Trang 253.4 Vòng lặp While Wend
Tương tự vòng lặp Do While, nhưng ta không thể thoát vòng lặp bằng lệnh
Exit Vì vậy, vòng lặp kiểu này chỉ thoát khi biểu thức điều kiện sai
While Spasw<>”letmein”
Spasw=inputbox(“Enter Password”)
Wend
4 Câu lệnh Go To
Được dùng để bẫy lỗi:
on error goto errorHandler
Khi có lỗi, chương trình sẽ nhảy tới nhãn errorHandler và thi hành dòng lệnh
đó
5 Thoát khỏi vòng lặp sớm
Lệnh Exit cho phép thoát lập tức vòng lặp For, Do Loop, thủ tục hay hàm
Exit For dùng cho vòng lặp For, Exit Do dùng cho vòng lặp Do Loop
V Thư viện liên kết động và các hàm
VB đã làm thay cho lập trình viên các công việc bên dưới của Windows Tuy
nhiên, đây là lúc ta cần tìm hiểu đằng sau bức tường VB
Windows cung cấp vô số các hàm gọi, dưới dạng các thư viện liên kết
độngDLL (Dynamic Link Library) Trong VB 6, còn có các tiện ích gọi ngược của
DLL(DLL Callback Facilities), nghĩa là thay vì ta gọi chương trình trong API, nó
cho phép ta gọi một API mà bản thân nó có thể gọi ngược về chương trình của ta
như là một phần của nó vậy
Trang 261 DLL và cấu trúc của Windows
1.1 Các hộp thoại thông dụng
Chẳng hạn một hộp thoại mở tập tin Hộp thoai này không những tiết kiệm
thời gian cho chúng ta mà còn tạo nên một giao diện người sử dụng gần gũi và
thống nhất với môi trường Windows
Hộp thoại này do Windows cung cấp, nằm trong thư viện “\Windows\
System\comdlg32.dll” Tập tin này chứa các đoạn chương trình tạo ra các hộp
thoại thông dụng khác nhau Do tập hợp lại trong một thư mục dùng chung là \
Windows\System, nó cho phép mọi ứng dụng Windows có quyền truy cập và thậm
chí bản thân Windows cũng vậy
Các tập tin DLL này được biên dịch với C/C++
1.2 Thư viện liên kết động
Đối với các ngôn ngữ lập trình cổ điển như C, khi biên dịch chương trình, ta
có một tập tin EXE duy nhất có thể được thi hành mà không cần bất cứ một tập tin
nào khác(tập tin vbp của VB không phải trường hợp này, vì nó chỉ chạy trong môi
trường VB) Toàn bộ chương trình cần thiết được chứa hết trong tệp tin EXE Tuy
nhiên cũng có rất nhiều thư viện C được dùng rộng rãi Vấn đề là làm sao sử dụng
lại các đoạn mã chương trình viết sẵn trong chương trình của ta Đó chính là liên
kết(link) Có hai loại liên kết : Liên kết tĩnh(static link) và Liên kết động(Dynamic
link)
*Liên kết tĩnh
Cung cấp một kết nối bền vững giữa chương trình và môđun viết sẵn ngay
trong lúc thiết kế, tương tự tạo ra một môđun trong VB và gọi thủ tục trong đó, chỉ
khác là liên kết tĩnh thì chứa bên ngoài VB Tuy nhiên, để sử dụng liên kết tĩnh thì
ta cần copy phần chương trình viết sẵn của thư viện vào tập tin chương trình khi
Trang 27biên dịch Từ đó trở đi, chúng trở thành một phần của chương trình và bị khoá chặt
với chương trình
*Liên kết động
Là giải pháp linh hoạt hơn liên kết tĩnh Tập tin thư viện bên ngoài không bị
ràng buộc với chương trình Nó chứa ở một nơi sao cho tập tin EXE có thể tìm ra
và gửi thông điệp cho nó Khi thi hành, các thông điệp này là những cuộc gọi đến
các hàm/thủ tục, yêu cầu phần chương trình nào đó của DLL được thi hành
* Các DLL của Windows
Có lẽ VB là một minh hoạ cho việc sử dụng DLL Vào thư mục \Windows\
System, ta sẽ thấy một loạt các tập tin cấu tạo nên cơ chế thi hành của VB Ví dụ:
VB5DB.DLL chứa chương trình liên kết với DAO(đối tượng truy cập cơ sở dữ
liệu) lúc thi hành để ứng dụng có thể tìm kiếm các cơ sở dữ liệu cục bộ
Khi ta xây dựng một ứng dụng cơ sở dữ liệu và biên dịch nó, tập tin EXE
không biết gì về cơ sở dữ liệu Thay vào đó, nó sử dụng một số đoạn chương trình
của VB cho phép nạp thư viện VB5DB.DLl lúc thi hành và gọi các hàm của nó
Thế mạnh của DLL
- Nhất quán: Người sử dụng ưa chuộng Windows vì nó không ít thì nhiều có
một giao diện người sử dụng phổ biến cho mọi ứng dụng Ví dụ các hộp thoại
thông dụng, các menu, thanh công cụ Nghĩa là những đoạn chương trình dùng
chung để tạo ra chúng
- Dễ bảo trì: Những thay đổi và bổ sung nếu có sẽ thể hiện trên mọi ứng dụng
- Tập tin EXE nhỏ hơn: Do một phần công việc chứa ở nơi khác, và không
gắn kết “cứng nhắc ” như liên kết tĩnh, kích thước tập tin EXE được giảm nhỏ Chỉ
có điều DLL còn chứa nhiều phần khác không chỉ là những gì mà chương trình mà
ta cần
Trang 28*Cấu trúc của Windows
DLL là nền tảng của thiết kế Windows Windows thực chất là một tập hợp
các DLL để các ứng dụng khác nhau có thể dùng chung Bên trong các DLL này là
hàng trăm hàm/ thủ tục Ta gọi chúng là Windows API
2 Các DLL của Windows
a Kernel32:
Là DLL chính đảm nhiệm quản lý bộ nhớ, thực hiện chức năng đa nhiệm và
những hàm ảnh hưởng trực tiếp đến hoạt động của Windows
b.User32:
Thư viện quản lý Windows Thư viện này chứa các hàm xử lý menu, định giờ,
truyền tin, tập tin và nhiều phần không được hiển thị khác của Windows
c.GDI32:
Giao diện thiết bị đồ hoạ Thư viện này cung cấp các hàm vẽ trên màn hình,
cũng như kiểm tra phần biểu mẫu nào cần vẽ lại
d.Winnm:
Cung cấp các hàm multimedia để xử lý âm thanh, nhạc, video thời gian thực,
lấy mẫu, Nó là DLL 32 bit
3 Gọi các hàm trong thư viện DLL
Gọi hàm API không khác với gọi hàm/ thủ tục trong môđun của đề án
Vd: Public Sub FindText(objectDataControl As Control,Sfilename as string)
‘Code
End Sub
Để gọi thủ tục ta dùng:
FindText datTitles,”Titles”
Trang 29Chỉ có điều là API là một thủ tục không chỉ nằm ngoài môđun mà còn nằm
ngoài cả VB
3.1 Khai báo một lời gọi API
Trước khi dùng hàm của DLL, ta cần phải khai báo hàm đó VB cần biết:
- Tên hàm/Thủ tục
- Tập tin DLL chứa nó
- Tham số truyền
- Kiểu dữ liệu trả về nếu là hàm
Khai báo API tương tự khai báo hằng/ thủ tục thông thường Ta vẫn bắt đầu
bằng từ khoá Sub/Function, chỉ khác là trước đó phải có từ khoá Declare
Ví dụ:
Private Declare Function Flash Lib” User32.dll” lias”FlashWindow”(Byval
hWnd as long,Byval Invert As Long) As Long
Giải thích các thành phần:
- Từ khoá Declare : Báo cho VB biết đây là khai báo hàm của DLL
- Declare là từ khoá Sub hay Function, cho biết đây là thủ tục hay hàm
- Từ khoá Lib cho biết tên DLL nào đang chứa hàm/ thủ tục
- Cuối cùng là khai báo các tham số truyền, cùng với kiểu dữ liệu trả về
ở đây tham số được truyền là:
Byval hWnd As Long, Byval Binvert As Long) As Long
Chú ý:
Điểm quan trọng trong khai báo tham số truyền cho API là từ khoá Byval
Với chương trình thông thường, nếu truyền giá trị cho hàm,VB biết rằng nó
chỉ xử lý với bản sao của tham số
Một cách khác của truyền tham số là truyền tham chiếu Tham số truyền là
biến chứ không phải là bản sao của nó Do đó nếu hàm thay đổi tham số, các thay
Trang 30đổi này sẽ ảnh hưởng đến biến truyền vào Nếu không chỉ rõ Byval VB sẽ tự động
xem là truyền tham chiếu
Chương 4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 Chức năng của hệ thống
- Qua khảo sát thực tế của nghiệp vụ quản lý nhà nghỉ và quầy bar và kết hợp với
những giải pháp đưa ra để xử lý công việc , chương trình quản lý nhà nghỉ và quầy
bar sẽ được xây dựng với các chức năng như đã dự kiến :
a) Quản lý nhà nghỉ
- Quản lý khách hàng theo tour du lịch
+ Quản lý phòng
+ Quản lý nhân viên
+ Quản lý Tour, giá Tour
+ Quản lý thông tin về công ty du lịch đã đưa khách hàng tới
+ Quản lý thông tin khách hàng
+ Quản lý thuê phòng , trả phòng , tiền phòng , hóa đơn thuê phòng
- Quản lý khách hàng lẻ
+ Quản lý phòng ,quản lý giá phòng
+ Quản lý thông tin khách hàng
+ Quản lý thông tin người môi giới
+ Quản lý hoa hồng trả cho người môi giới
+ Quản lý thuê phòng , trả phòng , tiền phòng , hóa đơn thuê phòng
Trang 31* Thống kê
- Quản lý doanh thu từ khách hàng theo tour (Số lượng , doanh thu , lợi
nhuận thu được từ khách hàng theo Tour theo từng tháng , từng năm )
- Quản lý doanh thu từ khách hàng lẻ ( Số lượng , doanh thu , lợi nhuận thu
được khách hàng lẻ theo từng tháng , từng năm )
- Quản lý doanh thu tổng hợp ( Số lượng , doanh thu , lợi nhuận thu được từ
cả khách hàng theo Tour và khách hàng lẻ theo từng tháng , năm )
b) Quản lý quầy bar , bếp
- Quản lý nhập hàng (rượu , bia, nước ngọt, nguyên liệu chế biến đồ uống , đồ
ăn… )
+ Thông tin hàng hóa
+ Thông tin hàng nhập (Tên hàng hóa , xuất xứ , thể tích , khối lượng …)
+ Giá trị hàng nhập chi tiết
+ Quản lý hóa đơn nhập (Số tiền đã trả , số tiền còn nợ )
- Quản lý bán hàng (rượu , bia , nước ngọt, đồ ăn … )
+ Quản lý pha chế các loại đồ uống
+ Quản lý bán hàng (đồ uống , số lượng , khách hàng , …)
+ Quản lý thanh toán tiền bán hàng , hóa đơn bán hàng