Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Trang 1Visual Basic
1 Mở đầu
Visual Basic (VB) là một công cụ lập trình hướng đối tượng sử dụng rộng rãi để xây dựng các ứng dụng trong nhiều lĩnh vực khác nhau Đối với các ứng dụng phục vụ đào tạo VB đặc biệt quan trọng vì khả năng thiết kế nhanh chóng các giao diện đẹp và thân thiện giữa người và máy tính khác với một số ngôn ngữ lập trình khác bên cạnh các tập lệnh, cú pháp lập trình VB thường xuyênphải xử dụng các khái niệm như đối tượng, thuộc tính, phương thức, lớp…
1.1 Đối tượng:
Một tập hợp các dữ liệu, các lệnh được thiết kế để thực hiện một mục đíchnào đó được VB xây dựng thành các đối tượng Ví dụ như đối tượng nút lệnh dùng để thực hiện một tập lệnh do người lập trình đưa vào khi có sự kiện nhấp chuột Trong VB có sẵn một tập hợp các đối tượng Các đối tượng này được lưutrữ trong các file.OCX và có thể lấy ra từ hộp công cụ trong môi trường soạn thảo Ngoài ra lập trình viên VB có thể lập trình riêng cho mình các đối tượng cuối khi có nhu cầu đặt ra
1.2 Thuộc tính
Đối tượng của VB có thể được hiểu như những linh kiện hay những viêngạch dùng để xây dựng nên một ứng dụng Do đó để có thể dùng các viên gạch này phải hiểu rõ các tính chất (thuộc tính) và các thao tác trên nó (tác vụ) Các thuộc tính thường gặp của các đối tượng trong VB là chiều rộng, chiều cao, toạ
Private Sub Command1_Click()
……
End Sub
Thực hiện sự kiện nhấp chuột lên đối tượng nút lệnh có tên là Command1
Trang 2Khi xây dựng các ứng dụng trong VB chúng ta phải thông qua hai bước:
- Thiết kế giao diện (Visual programming)
- Viết code (Code programming)
Khi thiết kế giao diện chúng ta sử dụng các công cụ do VB cung cấp Chúng
ta có thể lôi, kéo, thả các đối tượng trong quá trình thiết kế hay nói cách khác quá trình thiết kế được thực hiện dưới sự trợ giúp của mose và bàn phím
Khi viết code chúng ta sử dụng chương trình soạn thảo của VB Bước nàytương tự như tất cả các ngôn ngữ lập trình khác
2 Môi trường Visual Basic
2.1 Vào ra môi trường VB
Cách khởi động VB đơn giản nhất là thực hiện các tác vụ sau:
1) kích nút Start
2) Nhấp thanh Programs
3) Nhấp Microsoft Visual Studio 6.0
4) Nháy kép mục Visual Basic 6.0
Sau khi thực hiện các tác vụ nói trên màn hình sẽ xuất hiện giao diện môi trường
VB (hình 2.1)
Để thoát khỏi môi trường VB trở về Windows có thể thực hiện hai cách:
- (1) Vào menu File, (2) chọn Exit
Thanh công cụ (Tool bar)
Thanh thực đơn (Menu bar) Cửa sổ Form Cửa sổ Project windows
Cửa sổ Project Container
Cửa sổ thuộc tính
Cửa sổ Form layout
Hình 3 Môi trường Visual Basic Hộp công cụ (Tool box)
Cửa sổ Code
Trang 32.2 Xây dựng ứng dụng trong môi trường VB
Trên hình 2.1 là cửa sổ môi trường VB Trong môi trường VB chúng ta có thể thực hiện các tác vụ thông qua hệ thống các phím nóng hoặc các chức năng trong thực đơn Sau đây là một số chức năng cơ bản của môi trường VB
- Thanh Menu : chứa các menu lệnh phục vụ soạn thảo
- Thanh công cụ : chứa các nút lệnh thông dụng dùng để điều khiển môi trường lập trình Visual Basic
- Hộp công cụ : chứa các đối tượng
- Cửa sổ Project Container : chứa 2 cửa sổ:
+ Cửa sổ Code : là nơi soạn thảo lệnh của chương trình
+ Cửa sổ biểu mẫu : là nơi soạn thảo giao diện của chương trình
- Cửa sổ Project : liệt kê tất cả các tệp tin đã xử dụng trong quá trình lập trình
- Cửa sổ đặc tính : chứa các thuộc tính của các đối tượng có trong chươngtrình vào thời gian thiết kế
- Cửa sổ Form layout : xác định vị trí hiển thị, kích thước của form vào lúcthực hiện chương trình Cho phép người lập trình thay đổi vị trí hiển thị của form bằng chuột
2.3 Lập trình đơn thể
Cũng giống như các ngôn ngữ lập trình khác, lập trình đơn thể trong VB thông qua các biến, hằng và các cấu trúc lệnh…các lệnh và biến được đặt trong các hàm, thủ tục
a) Biến
Trong VB biến được khai báo bằng phát biểu Dim với cú pháp như sau:
Dim VariableName [As Type]
Trong đó Dim, As là từ khoá VariableName là tên do bạn đặt Type làkiểu dữ liệu áp dụng cho biến
Ví dụ:
Dim Số As Integer ; khai báo biến Số có kiểu số nguyên
Dim Số_thực As Single ; khai báo biến Số_thực có kiểu số thực
Dim OBJ As Object ; khai báo biến OBJ có kiểu đối tượng
Dim Chuỗi As String *10 ; khai báo biến Chuỗi có kiểu chuỗi 10 ký tự Dim Mảng (1 To 100) As Integer ; khai báo mảng số nguyên
VB có một kiểu dữ liệu đặc biệt (Variant) có thể chứa bất kỳ một kiểu dữ liệu nào có trong VB Ví dụ: bạn khai báo biến AnyData như sau:
Dim AnyData As Variant
Trang 4ví dụ trên sẽ cho hiển thị hộp thoại ghi “Số là một trăm” vì điều kiện trong Condition là True.
- Ví dụ:
Số = 1000
If số=100 Then
Msgbox (‘Số là một trăm’) Else
Msgbox (‘Số là một nghìn’) End If
ví dụ trên sẽ cho hiển thị hộp thoại ghi “Số là một nghìn” vì điều kiện trong Condition là True
Lệnh Select Case
Select Case TestTextpression [Case expressionlist-1 [<Statements 1> ] ]
…
Trang 5[Case expressionlist-n [<Statements n> ] ] End Select
TestTextpression là một chuỗi hoặc số dùng để so sánh với các chuỗi hoặc số chứa trong Testextpression_n Nếu TestTextpression có giá trị bằng Testextpression_i thì Statements_i sẽ được thực hiện
- Ví dụ:
Private Sub Form_KeyPress(KeyAscii As Integer)
Select Case KeyAscii Case 1 : Msgbox(‘Số bạn ấn là 1’) Case 2 : Msgbox(‘Số bạn ấn là 2’) Case 3 : Msgbox(‘Số bạn ấn là 3’) Case 4 : Msgbox(‘Số bạn ấn là 4’) Case 5 : Msgbox(‘Số bạn ấn là 5’) Case 6 : Msgbox(‘Số bạn ấn là 6’) Case 7 : Msgbox(‘Số bạn ấn là 7’) Case 8 : Msgbox(‘Số bạn ấn là 8’) Case 9 : Msgbox(‘Số bạn ấn là 9’) Case 0 : Msgbox(‘Số bạn ấn là 0’) End Select
Couter là biến đếm, được khởi gán giá trị = a Các lệnh trong Statements
sẽ được thực hiện b-a lần
- Ví dụ:
For i = 1 To 10
Form1.PrintForm = i Next
ví dụ trên sẽ cho hiển thị lần lượt các số từ 1 đến 10 trên Form1
Trang 6ví dụ trên sẽ lần lượt đưa ra Form1 các số từ 0 đến 9.
Lệnh Do Loop While
Do
<Statements >
Loop While <Condition>
Condition là điều kiện, nếu Condition có giá trị True thì các lệnh trong
Statements sẽ được thực hiện Chú ý khác với lệnh Do While Loop lệnh
Do Loop While được thực hiện ít nhất một lần trong khi lệnh Do While Loop có thể không được thực hiện lần nào.
- Ví dụ:
i = 1 Do
Form1.PrintForm = i
i = i + 1
Loop While i < 1
ví dụ trên sẽ lần lượt đưa ra Form1 số 1
2.4 Các đối tượng cơ bản trong VB
Form
Form là một đối tượng cơ bản được sử dụng làm nền cho thiết kế giao diện Một Form mặc định của VB có dạng như hình 2.2
Là một đối tượng cơ bản của VB nên Form có các thuộc tính cơ bản sau:
- Name : tên Form
- Caption : chuỗi ký tự hiển thị trên thanh tiêu đề
- Top : toạ độ Y Form
- Left : toạ độ X của Form
Hình 2.2 Form
Biểu tượng Thanh tiêu đề
Nút điều khiển cửa sổ
Cửa sổ chương trình
Trang 7- Width : cho giá trị chiều rộng của Form.
- Height : cho giá trị chiều cao của Form
- WindowsState: cho trạng thái cửa sổ Form lúc chạy chương trình Có 3giá trị cho WindowsState 0 – bình thường, ở chế độ này kích thước cửa
sổ là các giá trị Width, Height 1- Minimized, cửa sổ ở dạng thu nhỏ nằm trên thanh trạng thái của Windowd 2-Maximized, cửa sổ chiếm toàn mànhình
Các giá trị thuộc tính của From cũng như của các đối tượng khác có thể cập nhật trong quá trình thiết kế giao diện hoặc viết Code Ví dụ ta đặt thuộc tính Top của Form trong cửa sổ thuộc tính là 100 hoặc viết
Form1.Top = 100
trong cửa sổ code đều cho kết quả tương tự
Khác với các thuộc tính, phương thức chỉ hoạt động vào thời gian thực hiện chương trình Sau đây là một số phương thức cơ bản của Form:
- Load / Unload : cho phép nạp và giải phóng một Form khỏi bộ nhớ
- Cls : xoá form
- Move : dịch chuyển tới vị trí định trước
Các sự kiện xảy ra vào lúc chương trình thực hiện
- Resize : sự kiện này xảy ra khi người sử dụng thay đổi kích thước Form vào lúc chương trình đang chạy Người sử dụng có thể tự viết lệnh xử lý
sự kiện này trong thủ tục Form_Resize()
Chú ý : Ngoài các thuộc tính, phương thức, sự kiện của đối tượng Form cũng như các đối tượng chúng tôi sẽ giới thiệu sau đây còn nhiều thuộc tính, phương thức, sự kiện khác rất hữu ích trong lập trình ứng dụng Bạn cần phải cập nhật trong quá trình làm bài thực hành.
Một số đối tượng cơ bản của VB.
Các đối tượng cơ bản được Visual Basic cho hiển
thị ngay trên hộp công cụ (hình 2.3), bao gồm:
(1) PictureBox: cho phép hiển thị hình ảnh
(2) Label: hiển thị nhãn
(3) TextBox: hiển thị văn bản
(4) Frame: tạo khung Frame
(10) HSCrollBar thanh cuộn ngang
(11) VSCrollBar: thanh cuộn dọc
(12) Timer: điều khiển thời gian
(13) DriverBox: hộp danh sách ổ đĩa
(14) DirListBox: hộp danh sách thư mục
(15) FileListBox: hộp danh sách file
(1)
(3) (5) (7) (9) (11) (13) (15) (17) (19)
(2) (4) (6) (8) (10) (12) (14) (16) (18) (20)
Trang 8(17) Line: đoạn thẳng.
(18) Image: hộp ảnh
(19) Data: hộp điều khiển dữ liệu
(20) OLE: hộp điều khiển OLE
Sau đây là một số thuộc tính, phương thức, sự kiện chung của các đối tượng
- Thuộc tính:
Name: tên của đối tượng
Caption: chuỗi hiển thị trên đối tượng
Top: toạ độ X của đối tượng
Left: toạ độ Y của đối tượng
Width: độ rộng của đối tượng
Height: chiều cao của đối tượng
Enable: cho phép đối tượng hoạt động
Visible: cho hiển thị đối tượng
TabIndex: chỉ số thứ tự dùng cho việc ấn định thứ tự đối tượng khi sử dụng phím Tab
ToolTipText: chứa dòng nhắc, hiển thị vào lúc chạy chương trình khibạn đưa chuột vào vị trí của đối tượng
BackColor: cho màu nền của đối tượng
BackStyle: cho kiểu nền của đối tượng
BordeStyle: cho kiểu viền ngoài của đối tượng
- Phương thức:
Move: dịch chuyển đối tượng
Refresh: quét lại đối tượng
- Sự kiện:
Click: sự kiện Click sảy ra vào lúc tực hiện chương trình, khi người sử dụng nháy chuột vào đối tượng Người lập trình có thể viết lệnh cho
sự kiện này thông qua thủ tục Click
DbClick: sự kiện Click sảy ra vào lúc tực hiện chương trình, khi người
sử dụng nháy kép chuột vào đối tượng
KeyPress: sự kiện KeyPress của một đối tượng xảy ra khi đối tượng đang đang được chọn đồng thời người dùng ấn phím (trên bàn phím)
Change: sự kiện Change của một đối tượng xảy ra khi có tác động lênđối tượng
Thêm các đối tượng khác
Ngoài các đối tượng chuẩn được đưa sẵn vào hộp công cụ Visual Basic còncho phép bạn bổ xung vào hộp công cụ những đối tượng khác bằng cách chọn các đối tượng mở rộng trong mục Control của cửa sổ Components (hình 2.4) Để thêm một đối tượng bạn hãy đánh dấu chọn vào ô kiểm tra ở phía bên trái của đối tượng đó, sau đó nháy chuột vào nút Apply Đối tượng mà bạn chọn sẽ được thêm vào phía cuối của hộp ToolBox Sau đó ấn nút OK để xác nhận các lựa chọn
Trang 92.5 Thao tác với một số đối tượng của VB
Thao tác với các đối tượng cơ sở dữ liệu
Visual Basic cho phép bạn thao tác với cơ sở dữ liệu thông qua các đối
tượng dữ liệu Ví dụ sau đây sẽ cho bạn cách mở một cơ sở dữ liệu được tạo bằng Microsoft Access:
- Đối tượng Data: được sử dụng để mở một dữ liệu Bạn hãy đặt Data vàoForm sau đó thực hiện các bước sau:
+ Đặt lại tên cho Data bằng cách thay đổi lại chuỗi Name trong hộp Propety = DtcMyData (từ đây Data Control bạn đưa vào Form sẽ có tên làDtcMyData)
+ Nối DtcMyData với cơ sở dữ liệu bằng cách: nháy chuột vào nút
“…” bên phải của thuộc tính DatabaseName Trong hộp thoại bật ra bạn hãychọn đường dẫn tới file “Biblio.mdb” Sau đó ấn OK
+ Chọn “Authors” trong danh sách thả xuống phía bên phải của
thuộc tính RecordSouce Thao tác này sẽ cho phép bạn mở bảng “Authors”
trong file cơ sở dữ liệu “Biblio.mdb”
Hình 2.4 Hộp Commponents
Trang 10- Đối tượng DBGrid: Bạn hãy đưa đối tượng DBGrid vào hộp ToolBox, sau đó đưa vào Form và thay đổi lại thuộc tính DataSouce = CtcMyData.Sau khi đã tạo hai đối tượng Data Control và Data Grid như trên bạn hãy ấn phím F5 để thực hiện chương trình Bạn sẽ thấy được dữ liệu trong “Authors” như hình 2.5.
Thao tác với các đối tượng tệp tin
Visual Basic cho phép bạn thao tác với hệ thống quản lý tệp tin thông qua các đối tượng Drive Box, Dir Box, FileListBox Ví dụ sau đây sẽ tạo ra một trình duyệt tệp tin Bạn hãy tạo một Form mới và thực hiện các bước sau:
- Drive List Box: hộp danh sách ổ đĩa Bạn hãy đưa hộp DirveListBox trênToolBox vào Form và đặt tên cho nó là “DrvMyCompute”
- Dir Box: hộp danh sách thư mục Bạn hãy đưa hộp DirListBox trênToolBox vào Form và đặt tên cho nó là “DbMyCompute”
- FileListBox: hộp danh sách file Bạn hãy đưa hộp fileListBox trênToolBox vào Form và đặt tên cho nó là “LfbMyCompute”
- Sau khi đã thực hiện các bước trên bạn hãy viết các thủ tục sự kiện:
Thủ tục sự kiện DChange để mỗi khi chọn ổ đĩa thì hệ thống thư mục được cập nhật như sau
Private Sub DrvMyCompute_Change()
DbMyCompute.Path = DrvMyCompute.Path End Sub
Viết thủ tục sự kiện Change để mỗi khi chọn thư mục thì hệ thống file được cập nhật như sau
Private Sub DbMyCompute_Change()
LfbMyCompute.Path = DbMyCompute.Drive End Sub
Bây giờ, bạn hãy chạy chương trình và thử thay đổi ổ đĩa, thư mục… bạn sẽ thấy cách làm việc của Drive Box, Dir Box, FileListBox và cáchhoạt động của các thủ tục sử lý sự kiện DrvMyCompute_Change(),
Hình 2.5 dữ liệu trong Authors
Trang 11- CommonDialogBox: không có sẵn trong hộp ToolBox, bạn phải thêm vàoToolBox bằng cách chọn mục Microsoft CommonDialogBox trong hộp Component Đối tượng CommonDialogBox có hai thuộc tính quan trọng:+ Action: có thể có các giá trị: 1 hộp Open file, 2 hộp Save file
+ Path: chứa đường dẫn tới file được chọn
2.6 Hộp đối thoại có sẵn
VB định nghĩa sẵn hai hộp đối thoại MsgBox và InputBox, chúng có cáctham số định dạng hiển thị Bạn có thể sử dụng chúng thông qua các hàmMsgBox và InputBox
MsgBox(): Bạn có thể dùng MsgBox để hiển thị thông báo và nhận lại trả lời của người dùng Hàm MsgBox() có các tham số như sau:
MsgBox(Message, DialogType, Title)Message: là chuỗi thông báo
DialogType: là số nguyên xác định dạng của hộp đối thoại VB cũng quy định sẵn các hằng dùng cho hộp đối thoại (bảng 2.1), bạn có thể sử dụng tênhằng hoặc số nguyên trong DialogType
Tên hằng Giá trị Nút hiển thị
MB_ABORTRETRYIGNORE 2 Aboart, Retry, Ignore
MB_YESNOCANCEL 3 Yes, No, Cancel
MB_RETRYCANCEL 5 Retry, Cancel
Bảng 2.1 Các hằng dùng trong MsgBox
Title: là chuỗi hiển thị trên thanh tiêu đề của hộp MsgBox
Ví dụ: đoạn lệnh sau sẽ cho hiển thị hộp đối thoại như hình 2.6
Dim KQ As Integer
Dim Thong_bao, Nhan1 As String
Thong_bao = "Ban hay nhay chuot vao nut OK"
Nhan1 = "Thong bao"
KQ = MsgBox(Thong_bao, vbOKOnly, Nhan1)
InputBox(): InputBox có thể được sử dụng để nhận thông tin từ người dùng Hàm InputBox() có các tham số như sau:
InputBox(Message, DialogType, Title)Cách sử dụng hàm InputBox tương tự như hàm MsgBox Hàm InputBox()trả về một chuỗi do người dùng đánh vào do đó biến nhận giá trị trả về phải có
Hình 2.6 hộp thông báo
Trang 12kiểu String hoặc Variant.
- Sau khi chọn Menu Editor, cửa sổ Menu Editor hiện ra trên màn hình(như hình ) Các thành phần của Menu Editor gồm:
+ Caption: mục menu sẽ hiện ra trên menu
+ Name: tên của menu Bạn sẽ sử dụng tên này để truy cập tới menu.+ Index: mục chỉ số Được sử dụng khi bạn thiết kế một mục menu (cùng tên) có nhiều mục con, khi đó chỉ số Index sẽ trỏ tới các mục tươngứng trong menu
+ Shotcut: cho phép bạn tạo ra các tổ hợp phím nóng để truy cập tới menu
+ Next: được sử dụng khi bạn tạo mục tiếp theo cho menu
+ Insert: chèn vào một mục mới vào vị trí đang được điểm sáng
+ Delete: xoá mục menu dang được điểm sáng
+: dịch chuyển menu đang được điểm sáng lên trên
+: dịch chuyển menu đang được điểm sáng xuống dưới
+ : dịch chuyển menu đang được điểm sáng xuống một bậc (tạo
Hình Cửa sổ Menu Editor