GIAÏO TRÇNH LÁÛP TRÇNH VISUAL BASIC<br />
<br />
LỜI NÓI ĐẦU<br />
Giáo trình “Lập trình Visual Basic” được biên soạn nhằm phục vụ cho các đối tượng<br />
học viên Trung cấp Tin học, Kỹ thuật viên Tin học và những ai muốn làm quen với ngôn<br />
ngữ lập trình đầy tính năng này. Nội dung của Giáo trình phù hợp với các đối tượng học<br />
viên và cơ cấu môn học hiện nay đang được giảng dạy tại Trung tâm Phát triển phần mềm Ðại học Ðà Nẵng. Giáo trình được chia làm 9 Chương:<br />
Chương 1: Một số khái niệm mở đầu. Giúp học viên nắm vững các kiến thức cơ bản về<br />
lập trình, chương trình, thuật toán, các hệ đếm....<br />
Chương 2: Giới thiệu Ngôn ngữ lập trình Visual Basic. Tìm hiểu một cách tổng quát về<br />
Ngôn ngữ lập trình Visual Basic, cách cài đặt chương trình vào bộ nhớ, cách thực thi một<br />
chương trình cũng như tìm hiểu một số khái niệm về đối tượng, điều khiển ,...<br />
Chương 3: Bước đầu lập trình với Visual Basic. Tìm hiểu một số vấn đề phục vụ cho<br />
việc viết một chương trình đơn giản đầu tiên như: cửa sổ soạn thảo mã lệnh, các kiểu dữ<br />
liệu, cách khai báo biến, mảng, phép toán và thứ tự ưu tiên của các phép toán, ...<br />
Chương 4: Các cấu trúc lệnh Visual Basic. Tìm hiểu các cấu trúc lệnh của Visual Basic<br />
như các câu lệnh điều kiện, các vòng lặp.<br />
Chương 5: Các điều khiển cơ bản. Tìm hiểu các điều khiển cơ bản của Visual Basic như<br />
Label, TextBox, CommandButton, CheckBox, OptionButton, ListBox, PictureBox... và áp<br />
dụng để giải quyết một số bài toán đơn giản.<br />
Chương 6: Chương trình con. Trình bày ưu điểm và phương pháp sử dụng chương trình<br />
con đồng thời giới thiệu một số chương trình con (hàm và thủ tục chuẩn) có sẵn của Visual<br />
Basic.<br />
Chương 7: Các điều khiển nâng cao. Tìm hiểu các điều khiển nâng cao của Visual Basic<br />
ngoài các điều khiển cơ bản như: CommonDialog, ImageList, ListView, TreeView,<br />
ProgressBar, ToolBar, StatusBar, cách tạo hệ thống Menu trong Visual Basic.<br />
Chương 8: Truy cập Cơ sở dữ liệu. Trình bày phương pháp truy cập Cơ sở dữ liệu trong<br />
Visual Basic sử dụng các đối tượng truy cập Cơ sở dữ liệu DAO (Data Acces Object), ADO<br />
(ActiveX Data Object) và RDO (Remote Data Object).<br />
Chương 9: Bài thực hành. Giới thiệu các bài thực hành tham khảo giúp cho học viên có<br />
thể tự thực hành sau khi đã nắm vững lý thuyết. Học viên còn có thể thực hành theo các ví<br />
dụ minh họa trong giáo trình này.<br />
Do thời gian học không nhiều, khối lượng kiến thức lại lớn hơn nữa các đối tượng học<br />
viên chưa có nhiều kinh nghiệm trong lập trình. Vì vậy để giúp học viên nắm được kiến<br />
thức cơ bản môn học, chúng tôi đã rất kỹ càng trong quá trình biên soạn, tham khảo nhiều<br />
tài liệu cũng như thực tế giảng dạy môn học Lập trình Visual Basic tại Trung tâm Phát triển<br />
Phần mềm - Ðại học Ðà Nẵng trong thời gian qua. Mặc dầu vậy, Giáo trình này chắc chắn<br />
sẽ không tránh khỏi thiếu sót. Chúng tôi rất mong nhận được sự góp ý chân tình của bạn đọc<br />
cũng như bạn bè đồng nghiệp gần xa.<br />
TT. Phát triển phần mềm - Ðại học Ðà Nẵng<br />
Ðịa chỉ: 41 Lê Duẩn - Tp. Ðà Nẵng<br />
Email: sdc@ud.edu.vn<br />
TRUNG TÁM PHAÏT TRIÃØN PHÁÖN MÃÖM - ÂAÛI HOÜC ÂAÌ NÀÔNG<br />
<br />
Trang: 1<br />
<br />
GIAÏO TRÇNH LÁÛP TRÇNH VISUAL BASIC<br />
<br />
CHƯƠNG I: MỘT SỐ KHÁI NIỆM MỞ ĐẦU<br />
Từ khi con người đã chế tạo thành công máy vi tính, máy vi tính chỉ có thể giúp con<br />
người thực hiện một số phép toán đơn giản như: cộng, trừ. Trong suốt quá trình phát triển<br />
máy vi tính đã không ngừng thay đổi cả về kích thước cũng như tốc độ tính toán ngày càng<br />
nhanh hơn. Từ những bài toán đơn giản ban đầu mà máy tính có thể thực hiện được, đến nay<br />
máy vi tính đã tham gia vào cuộc sống con người hầu như trên tất cả mọi lĩnh vực. Ðể thực<br />
hiện được những điều kỳ diệu đó con người đã tác động vào máy vi tính bằng một hoạt<br />
động mang tính trí tuệ cao đó là Lập trình.<br />
<br />
I. KHÁI NIỆM VỀ LẬP TRÌNH<br />
Lập trình là viết chương trình trên dựa trên một ngôn ngữ lập trình cụ thể nhằm giải<br />
quyết một vấn đề hoặc một bài toán được đặt ra mà máy tính có thể hiểu, thực hiện và cho<br />
ra kết quả. Sản phẩm của lập trình gọi là Chương trình, một chương trình lớn có thể được<br />
gọi là Phần mềm. Ðể lập trình, nhất là giải quyết các bài toán lớn nên trải qua các bước:<br />
- Phân tích vấn đề cần giải quyết: Nội dung vấn đề là gì? cần phải làm gì?<br />
- Xây dựng thuật toán và cấu trúc dữ liệu để giải quyết vấn đề: Làm như thế nào?<br />
- Viết chương dựa trên một ngôn ngữ lập trình đã chọn.<br />
- Chạy thử chương trình, sửa sai và hoàn thiện.<br />
- Bảo trì và nâng cấp chương trình.<br />
Như vậy máy tính được lập trình nó chỉ giải quyết được những bài toán mà cách giải<br />
quyết chúng đã được con người nghĩ ra, điều đó khẳng định rằng máy tính không có khả<br />
năng sáng tạo ra phương pháp giải quyết một bài toán.<br />
Lợi dụng tốc độ tính toán cực nhanh của mình (hàng chục triệu phép tính trên giây) máy<br />
tính ngày nay đã thay con người giải quyết một số bài toán rất hiệu quả, giải thoát con người<br />
khỏi một số công việc nhàm chán, mất rất nhiều thời gian và công sức.<br />
Tuy nhiên trong cuộc sống không phải bất cứ bài toán nào máy tính cũng có thể giải<br />
quyết được, có những bài toán con người thực hiện rất đơn giản nhưng rất khó hoặc không<br />
thể áp dụng bài toán đó cho máy tính thực hiện. Những bài toán như vậy gọi là những bài<br />
toán không thể giải được trên máy tính.<br />
Một bài toán có thể có nhiều phương pháp giải quyết khác nhau, vấn đề của người lập<br />
trình là phân tích để lựa chọn phương pháp giải quyết tốt nhất. Tốt nhất được hiểu trên các<br />
khía cạnh đó là thời gian thực hiện nhanh nhất, tiêu tốn bộ nhớ máy tính ít nhất và thời gian<br />
soạn thảo chương trình ít nhất.<br />
<br />
II. NGÔN NGỮ LẬP TRÌNH<br />
Ngôn ngữ lập trình là công cụ để viết chương trình điều khiển máy tính thực hiện các<br />
công việc theo ý muốn. Cùng với quá trình phát triển của máy tính, yêu cầu đòi hỏi đối với<br />
chương trình ngày càng cao cũng như để giảm bớt thời gian và công sức lập trình, các ngôn<br />
ngữ lập trình đã không ngừng phát triển từ những ngôn ngữ lập trình đơn giản đến nay loài<br />
người đang sử dụng những ngôn ngữ lập trình hiện đại, dễ lập trình và nhiều tính năng.<br />
Dựa theo trường phái và phong cách lập trình người ta có thể chia ngôn ngữ lập trình<br />
thành các loại sau:<br />
- Ngôn ngữ lập trình bậc thấp (Ví dụ: Assembly)<br />
- Ngôn ngữ lập trình hướng thủ tục (Ví dụ: Fortran, Algol 60, Cobol, Pascal, C, ...)<br />
TRUNG TÁM PHAÏT TRIÃØN PHÁÖN MÃÖM - ÂAÛI HOÜC ÂAÌ NÀÔNG<br />
<br />
Trang: 2<br />
<br />
GIAÏO TRÇNH LÁÛP TRÇNH VISUAL BASIC<br />
- Ngôn ngữ lập trình hướng đối tượng (Ví dụ: C++ , Java, ...).<br />
- Ngôn ngữ lập trình trực quan (Ví dụ: Visual Basic, Access, Delphi, ...).<br />
- Lập trình theo chủ đích (đang được Microsoft nghiên cứu phát triển).<br />
Mỗi ngôn ngữ lập trình có những thế mạnh và điểm yếu riêng. Ví dụ một số ngôn ngữ<br />
lập trình có tốc độ thực thi cao nhưng lại khó sử dụng, ngược lại một số ngôn ngữ lập trình<br />
tốc độ thực thi chậm nhưng bù lại là tính dễ sử dụng và giao diện chương trình đẹp hơn. Do<br />
vậy tuỳ thuộc vào đặc điểm và yêu cầu của từng bài toán cụ thể mà người lập trình lựa chọn<br />
ngôn ngữ lập trình cho hợp lý.<br />
<br />
III. THUẬT TOÁN<br />
Như đã biết để yêu cầu máy tính giải quyết một bài toán nào đó thì đầu tiên người lập<br />
trình phải biết được phương pháp giải quyết của bài toán đó và sau đó đòi hỏi phải có tư duy<br />
lập trình để giải quyết bài toán đó trên máy tính.<br />
Thuật toán, hay còn gọi là thuật giải (giải thuật), là tập hợp đặc trưng các trình tự lôgic<br />
và toán học đơn giản, được xác định rõ ràng, để theo đó giải quyết một vấn đề với một số<br />
bước nhất định. Như vậy có thể hiểu thuật toán là công cụ để biều diễn phương pháp giải<br />
quyết một bài toán bằng máy tính bằng cách chia nhỏ bài toán đó thành những thao tác đơn<br />
giản, dễ thực hiện và có trình tự hợp lý. Thuật toán đóng vai trò rất quan trọng bởi thông<br />
qua thuật toán người ta có thể hiểu được phương pháp giải quyết một bài toán. Một thuật<br />
toán phải thoã mãn ba điều kiện sau đây:<br />
- Các thao tác phải có tính khả thi (thực hiện được trên máy) và có trình tự xác định.<br />
- Mỗi thao tác phải cụ thể, rõ ràng và chỉ được hiểu theo một nghĩa duy nhất.<br />
- Thuật toán phải kết thúc sau một số bước hữu hạn.<br />
Có nhiều phương pháp để biểu diễn thuật toán khác nhau, nhưng thông dụng nhất là<br />
biểu diễn thuật toán bằng Sơ đồ khối và bằng ngôn ngữ giả.<br />
Ví dụ 1: Sơ đồ khối bài toán tìm giá trị lớn nhất trong 3 số a, b, c<br />
Begin<br />
Nhập a, b, c<br />
true (T)<br />
<br />
(a>=b) And (a>=c)<br />
<br />
false (F)<br />
T<br />
<br />
max := a<br />
<br />
b>=c<br />
<br />
max := b<br />
<br />
F<br />
max := c<br />
<br />
In max<br />
End<br />
<br />
Hình 1: Biểu diễn thuật toán bằng sơ đồ khối<br />
<br />
TRUNG TÁM PHAÏT TRIÃØN PHÁÖN MÃÖM - ÂAÛI HOÜC ÂAÌ NÀÔNG<br />
<br />
Trang: 3<br />
<br />
GIAÏO TRÇNH LÁÛP TRÇNH VISUAL BASIC<br />
Ví dụ 2: Sơ đồ khối bài toán giải phương trình bậc hai: ax2 + bx + c = 0 (a#0)<br />
Begin<br />
Nháûp a, b, c<br />
Delta=b*b-4*a*c<br />
T<br />
<br />
Delta0<br />
<br />
x1=(-b-sqrt(Delta))/(2*a)<br />
x2=(-b+sqrt(Delta))/(2*a)<br />
<br />
x1,2 = -b/(2*a)<br />
<br />
Vä nghiãûm<br />
<br />
T<br />
<br />
In x1,x2<br />
<br />
End<br />
<br />
Hình 2: Biểu diễn thuật toán bằng sơ đồ khối<br />
Ví dụ 3: Biểu diễn một số bài toán bằng ngôn ngữ giả<br />
Thuáût toaïn: Tçm Max(a,b,c)<br />
Bàõt âáöu<br />
Âoüc (a,b,c)<br />
Nãúu (a>=b) vaì (a>=c) Thç<br />
Max=a<br />
Nãúu khäng thç<br />
Nãúu (b>=c) Thç<br />
Max=b<br />
Nãúu khäng thç<br />
Max=c<br />
Hãút nãúu<br />
Hãút nãúu<br />
In ra (Max)<br />
Kãút thuïc<br />
<br />
Thuáût toaïn: Giaíi pt báûc hai (a#0)<br />
Bàõt âáöu<br />
Âoüc (a,b,c); Delta=b*b-4*a*c<br />
Nãúu (Delta1) sử dụng p chữ số khác nhau a0, a1, a2, ..., ap-1 thì một<br />
số q bất kỳ trong hệ đếm cơ số này dạng: pn pn-1 ... p1 p0 p-1 p-2 ... p-m sẽ được đổi sang hệ<br />
đếm cơ số 10 nhờ cách viết tổng quát sau:<br />
q = pn 3 pn + pn-1 3 pn-1 + ... + p13 p1 + p03 p0 + p-13 p-1 + p-23 p-2 + ... + p-m3 p-m<br />
n<br />
<br />
=<br />
<br />
∑p<br />
<br />
i=− m<br />
<br />
i<br />
<br />
× pi<br />
<br />
Ví dụ: Ðổi số 268.78 trong hệ đếm cơ số 8 sang hệ đếm cơ số 10:<br />
268.78(8) = 23 82 + 63 81 + 83 80 + 73 8-1 + 83 8-2 = 185(10)<br />
<br />
IV.3. Ðổi từ hệ đếm cơ số 10 sang các hệ đếm cơ số khác<br />
Ðể đổi một số trong hệ đếm cơ số 10 bất kỳ sang hệ đếm cơ số p ta phải đổi riêng phần<br />
nguyên và đổi riêng phần lẻ, sau đó nối hai kết quả lại:<br />
a) Quy tắc đổi phần nguyên<br />
Ðể đổi phần nguyên của một số từ hệ 10 sang hệ p ta thực hiện phép chia liên tiếp số<br />
cần đổi và các thương số nhận được cho p (chia trong hệ 10) cho đến khi thương số bằng 0.<br />
Kết quả là các số dư lấy theo chiều ngược lại.<br />
Ví dụ: Ðổi phần nguyên hệ 10 của x = 1987 ra số nguyên hệ 2, 8 và 16:<br />
1990 (/2 = 995 dư 0), 995 (/2 = 497 dư 1), 497 (/2 = 248 dư 1), 248 (/2 = 124 dư 0), 124<br />
(/2 = 62 dư 0), 62 (/2 = 31 dư 0), 31 (/2 = 15 dư 1), 15 (/2 = 7 dư 1), 7 (/2 = 3 dư 1), 3 (/2 =<br />
1 dư 1), 1 (/2 = 0 dư 1). Lấy các số dư theo thứ tự ngược lại ta được: 11111000110 (2).<br />
Tương tự với phép chia cho 8 và 16 ta có: 1990(10) = 3706(8) và 1990(10) = 7C6(16)<br />
b) Quy tắc đổi phần lẻ<br />
Ðể đổi phần lẻ của một số từ hệ 10 sang hệ p, thực hiện phép nhân liên tiếp số cần đổi<br />
và các phần lẻ nhận được với p (trong hệ 10) cho đến khi phần lẻ bằng 0. Kết quả là các số<br />
phần nguyên viết theo thứ tự.<br />
Ví dụ: Ðổi phần lẻ hệ 10 của số x = 0.4375 ra số lẻ hệ 8 và 16:<br />
0.4375(10) (38) 3.5000 (38) 4.000. Lấy phần nguyên theo thứ tự: 0.34(8)<br />
0.3475(10) (316) 7.000. Lấy phần nguyên theo thứ tự: 0.7(16)<br />
Như vậy số 1990.4375 đổi ra các hệ 8 và 16 bằng cách nối hai kết quả chuyển đổi phần<br />
nguyên và phần lẻ ta được: 3706.34(8) và 7C6.7(16).<br />
TRUNG TÁM PHAÏT TRIÃØN PHÁÖN MÃÖM - ÂAÛI HOÜC ÂAÌ NÀÔNG<br />
<br />
Trang: 5<br />
<br />