Visual Basic là một công cụ phát triển phần mềm, được phát triển bởi Microsoft. Visual Basic 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. Đây là thuận lợi lớn so với các ngôn ngữ lập trình khác, Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng màu sắc, kích thước, hình dáng của các đối tượng có mặt trong ứng dụng.
Một khả năng khác của Visual Basic 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 Visual Basic tức là khi xây dựng một ứng dụng nào đó có một số yêu cầu mà Visual Basic chưa đáp ứng đủ, ta viết thêm DLL phụ trợ.
Khi viết chương trình bằng Visual Basic, chúng ta phải qua hai bước :
- Thiết kế giao diện (Visual Programming)
- Viết lệnh (Code Programming)
37 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 3585 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Ebook Ngôn ngữ lập trình Visual Basic, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phần I
NGƠN NGỮ LẬP TRÌNH VISUAL BASIC
I. GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC
Visual Basic là một công cụ phát triển phần mềm, được phát triển bởi Microsoft. Visual Basic 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. Đây là thuận lợi lớn so với các ngôn ngữ lập trình khác, Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng màu sắc, kích thước, hình dáng của các đối tượng có mặt trong ứng dụng.
Một khả năng khác của Visual Basic 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 Visual Basic tức là khi xây dựng một ứng dụng nào đó có một số yêu cầu mà Visual Basic chưa đáp ứng đủ, ta viết thêm DLL phụ trợ.
Khi viết chương trình bằng Visual Basic, chúng ta phải qua hai bước :
Thiết kế giao diện (Visual Programming)
Viết lệnh (Code Programming)
II. THIẾT KẾ GIAO DIỆN
Do Visual Basic là ngôn ngữ lập trình hướng đối tượng nên việc thiết kế giao diện rất đơ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 các đối tượng đó.
FORM :
Form là biểu mẫu của mỗi ứng dụng trong Visual Basic. Ta dùng Form để định vị 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.
Ta có thể xem Form như là bộ phận mà nó có thể chứa các bộ phận khác. Form chính của ứng dụng, các thành phần của nó tương tác với các Form khác và các bộ phận của chúng tạo nên giao tiếp cho ứng dụng. Form chính là giao diện chính của ứng dụng, các Form khác có thể chứa các hộp thoại, hiển thị cho nhập dữ liệu và hơn thế nữa.
Trong nhiều ứng dụng Visual Basic, kích cỡ và vị trí của biểu mẫu vào lúc hoàn tất thiết kế là kích cỡ và hình dáng mà người dùng sẽ gặp vào thời gian thực hiện, hoặc lúc chạy. Điều này có nghĩa là Visual Basic cho phép ta thay đổi kích cỡ và di chuyển vị trí của các Form đến bất kỳ nơi nào 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 Visual Basic đó 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.
2. TOOLS BOX : (Hộp công cụ)
Bản thân hộp công cụ này chỉ chứa các biểu tượng biểu thị cho các điều khiển mà ta có thể bổ sung vào biểu mẫu, là bảng chứa các đối tượng được định nghĩa sẵn của Visual Basic. Các đối tượng này được sử dụng trong Form để tạo thành giao diện cho các chương trình ứng dụng của Visual Basic. Các đối tượng trong thanh công cụ sau đây là thông dụng nhất :
2.1 Scroll Bar : (Thanh cuốn)
Các thanh cuốn được dùng để nhận nhập liệu hoặc hiển thị kết xuất khi ta không quan tâm đến giá trị chính xác của một đối tượng nhưng lại quan tâm sự thay đổi đó nhỏ hay lớn. Nói cách khác, thanh cuốn là đối tượng cho phép nhận từ người dùng một giá trị tùy theo vị trí con chạy (Thumb) trên thanh cuốn thay cho cách gõ giá trị số.
Thanh cuốn có các thuộc tính quan trọng nhất là :
- Thuộc tính Min : Xác định cận dưới của thanh cuốn
- Thuộc tính Max : Xác định cận trên của thanh cuốn
- Thuộc tính Value : Xác định giá trị tạm thời của thanh cuốn
2.2 Option Button Control : (Nút chọn)
Đối tượng nút chọn cho phép người dùng chọn một trong những lựa chọn đưa ra. Như vậy, tại một thời điểm chỉ có một trong các nút chọn được chọn.
2.3 Check Box : (Hộp kiểm tra)
Đối tượng hộp kiểm tra cho phép người dùng kiểm tra một hay nhiều điều kiện của chương trình ứng dụng. Như vậy, tại một thời điểm có thể có nhiều hộp kiểm tra được đánh dấu.
2.4 Label : (Nhãn)
Đối tượng nhãn cho phép người dùng gán nhãn một bộ phận nào đó của giao diện trong lúc thiết kế giao diện cho chương trình ứng dụng. Dùng các nhãn để hiển thị thông tin không muốn người dùng thay đổi. Các nhãn thường được dùng để định danh một hộp văn bản hoặc một điều khiển khác bằng cách mô tả nội dung của nó. Một công cụ phổ biến nhất là hiển thị thông tin trợ giúp.
2.5 Image : (Hình ảnh)
Đối tượng Image cho phép người dùng đưa hình ảnh vào Form
2.6 Picture Box :
Đối tượng Picture Box có tác dụng gần giống như đối tượng Image.
2.7 Text Box : (Hộp soạn thảo)
Đối tượng Text Box cho phép đưa các chuỗi kí tự vào Form
Thuộc tính quan trọng nhất của Text Box là thuộc tính Text _ cho biết nội dung hộp Text Box.
2.8 Command Button : (Nút lệnh)
Đối tượng Command Button cho phép quyết định thực thi một côngviệc nào đó.
2.9 Directory List Box, Drive List Box, File List Box :
Đây là các đối tượng hỗ trợ cho việc tìm kiếm các tập tin trên một thư mục của ổ đĩa nào đó
2.10 List Box : (Hộp danh sách)
Đối tượng List Box cho phép xuất các thông tin về chuỗi.
Trên đây là những đối tượng được sử dụng thường xuyên nhất trong phần thiết kế giao diện cho một chương trình ứng dụng của Visual Basic.
3. PROPERTIES WINDOWS : (Cửa sổ thuộc tính)
Properties Windows là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể. Các thuộc tính này có thể thay đổi được để phù hợp với yêu cầu về giao diện của các chương trình ứng dụng.
PROJECT EXPLORER :
Do các ứng dụng của Visual Basic thường dùng chung mã hoặc các Form đã tùy biến trước đó, nên Visual Basic tổ chức các ứng dụng thành các Project. Mỗi Project có thể có nhiều Form và mã kích hoạt các điều khiển trên một Form sẽ được lưu trữ chung với Form đó trong các tập tin riêng biệt. Mã lập trình chung mà tất cả các Form trong ứng dụng chia sẻ có thể được phân thành các Module khác nhau và cũng được lưu trữ tách biệt, gọi là các Module mã. Project Explorer nêu tất cả các biểu mẫu tùy biến được và các Module mã chung, tạo nên ứng dụng của ta.
III. VIẾT LỆNH CHO CÁC ĐỐI TƯỢNG
Điểm mấu chốt cần phải nhận thức rõ trong khâu lập trình Visual Basic là : Visual Basic xử lí mã chỉ để đáp ứng các sự kiện. Thực vậy, không như nhiều ngôn ngữ lập trình khác, các dòng mã thi hành trong một chương trình Visual Basic phải nằm trong các thủ tục hoặc các hàm, các dòng mã bị cô lập sẽ không làm việc.
1. CỬA SỔ CODE :
Cửa sổ Code là nơi để viết mã. Cửa sổ Code có một thanh tách (Split bar) nằm bên dưới thanh tiêu đề, tại đầu thanh cuộn dọc. Thanh cuộn này có tác dụng tách cửa sổ Code thành hai cửa sổ Code con để có thể xem cả hai phần cửa sổ Code cùng lúc.
Hộp liệt kê Object :
Hộp liệt kê bên trái cửa sổ Code là hộp Object, nó liệt kê mọi đối tượng trên Form, cùng với một đối tượng trên General lưu giữ mã chung mà tất cả mọi thủ tục dính kèm với Form có thể sử dụng.
Hộp liệt kê Procedure :
Hộp liệt kê bên phải cửa sổ Code là hộp liệt kê Procedure. Hộp liệt kê này cung
cấp mọi sự kiện mà đối tượng đã lựa trong hộp liệt kê Object nhận ra.
Intellisense :
Intellisense là một công nghệ bổ sung hoàn thành phức hợp của hãng Microsoft,
nó cho phép đỡ mất công gõ và tra cứu. Intellisense bật ra các hộp nhỏ với các thông tin hữu ích về đối tượng mà ta đang làm việc. Nó có ba thành phần như mô tả dưới đây :
QuickInfo : Đây là nơi ta có thông tin về cú pháp của một toán tử Visual Basic. Mỗi khi nhập một từ khóa theo sau là một dấu cách hoặc dấu ngoặc đơn mở, một thủ thuật gợi ý hiện ra cung cấp cú pháp của thành phần đó.
List Properties / Methods : Tính năng Intellisense này đưa ra một danh sách các tính chất và phương pháp của một đối tượng ngay sau khi bạn gõ dấu chấm.
Available Constants : Tính năng Intellisense tiện dụng này cung cấp một danh sách các hằng sẵn có.
2. BIẾN :
Trong Visual Basic, các biến [variables] lưu giữ thông tin (các giá trị). Khi dùng một biến, Visual Basic xác lập một vùng trong bộ nhớ máy tính để lưu giữ thông tin. Trong Visual Basic, tên biến có thể dài tới 255 ký tự và trừ ký tự đầu tiên phải là một mẫu tự, ta có thể gộp một tổ hợp mẫu tự, con số và dấu gạch dưới bất kỳ. Chữ hoa, chữ thường trong tên biến không quan trọng.
3. CÁC KIỂU DỮ LIỆU :
Dữ liệu cũng có nhiều kiểu : kiểu dữ liệu số, chuỗi và Boolean. Thực tế, Visual Basic điều quản 14 kiểu dữ liệu chuẩn. Ta cũng có thể định nghĩa các kiểu biến riêng. Các kiểu thường dùng để điều tác dữ liệu là :
3.1 Kiểu String :
Các biến chuỗi [String] lưu giữ kí tự. Một chuỗi có thể có thể có một hay nhiều kí tự. Tất nhiên, biến lưu trữ một chuỗi được gọi là một biến chuỗi. Một phương pháp để định danh các biến kiểu náy đó là đặt một dầu đồng đô la ($) vào cuối tên biến : Astring Variables.
Trên lý thuyết, các biến chuỗi có thể lưu giữ khoảng 2 tỷ kí tự. Trong thực tế, một máy cụ thể có thể lưu giữ ít hơn, do các hạn chế của bộ nhớ, các yêu cầu phần việc chung của Windows, hoặc số lượng chuỗi dùng trong biểu mẫu.
3.2 Kiểu Integer :
Các biến số nguyên Integer lưu trữ các giá trị số nguyên tương đối nhỏ (giữa -32768 và +32767). Số học số nguyên tuy rất nhanh song bị hạn chế trong các phạm vi này. Dấu định danh được dùng là dấu “ % “
3.3 Kiểu Long Integer :
Các biến số nguyên dài Long Integer lưu trữ các số nguyên giữa
-2,147,483,648 và +2,147,483,647. Dấu định danh được dùng là dấu “ &”
3.4 Kiểu Single Precision :
Các biến kiểu này lưu giữ các con số ở các mức xấp xỉ. Chúng có thể là phân số
nhưng chỉ có thể bảo đảm độ chính xác ở mức bảy chữ số. Dấu định danh được dùng là dấu “ ! “
3.5 Kiểu Double Precision :
Kiểu dữ liệu chính đôi [double _ precision] khi cần các con số có tới 16 vị trí độ chính xác và cho phép có hơn 300 chữ số. Các phép tính cũng là xấp xỉ cho kiểu biến này, chỉ có thể căn cứ trên 16 chữ số đầu. Ngoài ra, với các con số chính đôi, phép tính thực hiện tương đối chậm, chủ yếu được dùng trong các phép tính khoa học của Visual Basic. Dấu định danh dùng cho biến chính đôilà dấu pao “ # “.
Phải dùng số # tại cuối con số thực tế, nhất là khi có tương đối ít chữ số bởi bằng không Visual Basic sẽ mặc nhận ý ta muốn dùng biến với độ chính xác hạn chế của một số chính đơn. Chính xác hơn nếu ta viết :
AdoublePrecisionVariable # = 12.345 #
3.6 Kiểu Currency :
Các biến kiểu này được thiết kế để tránh một số vấn đề trong khi chuyển từ các phân số nhị phân thành các phân số thập phân (không thể tạo 1/10 từ số tổ hợp 1/2, 1/4, 1/8, 1/16 …). Kiểu Currency có thể có 4 chữ số về bên phải của vị trí thập phân và lên tới 14 chữ số về bên trái của dấu chấm thập phân. Dấu định danh được dùng là “@”
3.7. Kiểu Date :
Kiểu dõ liệu ngày tháng là một phương cách tiện dụng để lưu trữ thông tin cảngày tháng lẫn giờ khắc cho bất kỳ thời điểm nào giữa nửa đêm ngày 1 tháng giêng năm 100 đến nửa đêm ngày 31 tháng 12 năm 9999. Ta phải bao phép gán cho các biến ngày tháng bằng dấu #
Ví dụ : Ngày = # January, 1, 2000#
Nếu không gộp một giờ khắc vào ngày, Visual Basic mặc nhận nó là nửa đêm
3.8. Kiểu Byte :
Kiểu Byte mới có trong Visual Basic 5 và có thể lưu giữ các số nguyên giữa 0 và255
3.9. Kiểu Boolean :
Dùng kiểu Boolean khi cần các biến là True hay False
3.10. Kiểu Variant :
Kiểu Variant được thiết kế để lưu trữ toàn bộ dữ liệu khả dĩ khác nhau của Visual Basic nhận được trong một chỗ. Nếu ta không báo cho Visual Basic biết kiểu thông tin mà một biến đang lưu giữ, nó sẽ dùng kiểu Vriant.
Ngoài cách dùng dấu định danh để chỉ định kiểu, Visual Basic còn cho phép dùng điều lệnh
“Dim” để khai báo biến
Ví dụ : Dim A as integer
Dim B as string, C as Byte
4. ĐIỀU KHIỂN LUỒNG CHƯƠNG TRÌNH :
4.1 Phát biểu IF :
IF điều kiện THEN
Các lệnh thực hiện khi điều kiện thỏa
ELSE
Các lệnh thực hiện khi điều kiện không thỏa
END IF
4.2 Phát biểu SELECT CASE :
Đây là cấu trúc chọn lựa
SELECT CASE X
CASE 0 :
Các lệnh thực hiện khi X = 0
CASE 1 :
Các lệnh thực hiện khi X = 1
. . .
CASE n :
Các lệnh thực hiện khi X = n
END SELECT
4.3 Lệnh DO WHILE . . LOOP :
Đây là cấu trúc lặp kiểm tra điều kiện trước, vòng lặp tiếp tục khi điều kiện lặp còn đúng
DO WHILE Điều kiện
Các lệnh thực hiện khi điều kiện còn thỏa mãn
LOOP
4.4 Lệnh DO . . LOOP WHILE :
Đây là cấu trúc lặp kiểm tra điều kiện sau, vòng lặp tiếp tục khi điều kiện lặp còn đúng
DO
Các lệnh
LOOP WHILE Điều kiện
Như vậy với cấu trúc này, vòng lặp thực hiện ít nhất 1 lần
4.5 Lệnh FOR . . NEXT :
Đây là cấu trúc lặp hay dùng nhất trong Visual Basic
FOR . . TO STEP n
Các lệnh
NEXT
Trong đó Step là bước tăng. Mặc định Step là 1
4.6 Lệnh DO . . LOOP UNTIL :
DO . .
Các lệnh
LOOP UNTIL Điều kiện
Tương tự như DO . . LOOP WHILE. Vòng lặp thực hiện ít nhất 1 lần
4.7 Phát biểu EXIT . . FOR :
Phát biểu EXIT được sử dụng khi cần dừng ngay quá trình lặp của FOR
4.8 Lệnh EXIT DO :
Phát biểu EXIT DO sử dụng khi cần dừng ngay quá trình lặp của phát biểu DO
5. HIỂN THỊ VÀ NHẬN THÔNG TIN :
Ta sử dụng các hộp đối thoại để hiển thị thông tin cho người dùng hoặc nhận thông tin. Trong Visual Basic có ba loại hộp đối thoại :
Hộp đối thoại có sẵn (Predefined Dialog Box)
Hộp đối thoại của người dùng (Custom Dialog Box)
Hộp đối thoại chung (Common Dialog Box)
1. Hộp đối thoại có sẵn :
Các hộp đối thoại này do Visual Basic định nghĩa sẵn, chúng có các tham số qui định dạng hiển thị chung. Ta có thể hiển thị các hộp đối thoại có sẵn thông qua :
Phát biểu MsgBox hay hàm MsgBos ( )
Hàm InputBox
Phát biểu MsgBox hay hàm MsgBox ( ) :
Ta sử dụng MsgBox hay hàm MsgBox ( ) để hiển thị thông báo và nhận lại trả lời của người dùng.
Phát biểu MsgBox hay hàm MsgBox ( ) có ba đối :
Thông báo cần hiển thị : chuỗi kí tự
Dạng hộp đối thoại : số nguyên (integer)
Tiêu đề hộp đối thoại : chuỗi kí tự
MsgBox (Message, Dialog Type, Tittle).
Khi sử dụng hàm MsgBox ( ) thì ta phải có giá trị trở về
1.2. Hàm InputBox ( ) :
Hàm inputBox ( ) dùng nhận thông tin từ người dùng. Hàm InputBox ( ) gồm một dòng thông báo (Message), hộp soạn thảo và hai nút OK, Cancel. Người dùng đưa thông tin nhập vào hộp soạn thảo và bấm OK.
Tham số thứ nhất của InputBox ( ) là dòng thông báo, tham số thứ hai là tiêu đề hộp đối thoại InputBox ( ) trả về chuỗi kí tự nằm trong hộp soạn thảo.
Hàm InputBox còn có thêm ba thông số khác. Đối thứ ba xác định chuỗi ban đầu trong hộp soạn thảo ngay khi hộp đối thoại xuất hiện. Hai đối số cuối xác định tọa độ của hộp đối thoại.
a. Hộp đối thoại của người dùng :
Đây là loại hộp đối thoại do người lập trình định nghĩa để tương thích yêu cầu nhập thông tin của người sử dụng
Dùng phương thức Show với đối số 1 (do hộp thoại dạng Modal) để hiển thị hộp thoại người dùng
b. Hộp đối thoại dùng chung :
Ta có thể thực hiện (run time) bằng cách thay đổi một số thuộc tính của nó
IV. CÁC HÀM VỀ CHUỖI
Do thông tin trong các hộp văn bản Visual Basic luôn được lưu trữ dưới dạng văn bản, nên trong Visual Basic, các chuỗi tỏ ra quan trọng hơn nhiều so với trong Basic bình thường. Một chuỗi chẳng qua là một nhóm kí tự được bao trong các dấu nháy kép. Khi có người nhập thông tin vào hộp văn bản, Visual Basic luôn lưu trữ chúng dưới dạng một chuỗi. Do đó, cho dù ta có một hộp văn bản chủ ý để lưu giữ một khối lượng, thì nội dung đó vẫn được xem là một chuỗi.
Phân tích chuỗi bằng hàm Mid, Left và Right :
Để tiến hành phân tích một chuỗi hiện có, ta phải đặt một hàm trong thân vòng lặp cho phép kéo từng mẫu tự riêng lẻ hoặc các chùm lớn hơn ra khỏi một chuỗi.
For I = 1 To Len (The String)
‘ mã hàm làm việc với các kí tự riêng lẻ
Next I
Hàm Mid :
Trong các hàm trên, quan trọng nhất, ta có hàm Mid, trả về một chuỗi lưu trữ trong một variant, và hàm Mid$, hàm trả về chuỗi thực tế. Có thể dùng hoán đổi hai phiên bản này.
Cú pháp của hàm Mid là :
Mid (String, start [,length])
Khoản nhập đầu tiên lưu giữ chuỗi (hoặc biểu thức chuỗi) mà ta muốn cắt bỏ. Tiếp theo là vị trí khởi đầu của các kí tự mà ta muốn ra khỏi chuỗi. Ví trí chót tùy chọn sẽ chỉ định số lượng kí tự mà ta muốn kéo ra. Hai tùy chọn chót này có thể là những số nguyên hoặc các số nguyên dài hoặc một biểu thức mà Visual Basic có thể làm tròn để nằm trong miền này.
Mid là một hàm có ba (hoặc thỉnh thoảng là hai) tham số, hay đối số. Cả hai thuật ngữ này đều vay mượn từ toán học. Trong một hàm, từng đối số được tách biệt với nhau bằng dấu phẩy. Hàm Mid thường dùng ba mẩu tin : một chuỗi tại ví trí đầu tiên và các số nguyên hay các số nguyên dài tại hai vị trí còn lại.
Mid còn một tính năng hữu ích khác. Ta có thể dùng nó như một điều lệnh để tiến hành các thay đổi bên trong một chuỗi.
Hàm Left và Right :
Hàm Mid có hai hàm bà con (Left và Right) đôi lúc cũng rất hữu ích ; cũng như mọi hàm chuỗi khác, chúng cũng có hai phiên bản: một bình thường và một có kèm dấu $
Như tên gọi gợi ý, Left (Left$ ) tạo một bản sao các kí tự tính từ đầu một từ và Right (Right$ ) chọn từ cuối trở lên. Right thường được dùng hơn. Nó tránh được phép trừ bên trong hàm Mid và có thể làm việc nhanh hơn. Left cũng làm việc tương tự nhưng chỉ giúp ta đỡ mất công đưa một 1 vào vị trí thứ hai trong hàm Mid.
Hàm InStr :
Cũng như hàm Mid, hàm InStr cũng làm việc với ba (và đôi lúc là hai) mẩu tin ; nghĩa là, nó là một hàm có ba (thỉnh thoảng là hai ) đối số.
Giả sử, ta muốn tìm tất cả mọi chữ số đứng trước dấu chấm thập phân trong một con số. Tất nhiên, có thể dùng hàm Mid để rà qua biên bản chuỗi của con số đó, theo từng kí tự một, cho đến khi tìm thấy dấu chấm thập phân. Tuy nhiên, làm như vậy sẽ nhọc công và chạy chậm hơn nhiều so với hàm InStr.
Hàm InStr báo cho biết chuỗi có thuộc thành phần của một chuỗi khác hay không (chuyên ngữ gọi là “ chuỗi con của” ). Nếu có, InStr sẽ báo cho biết vị trí bắt đầu chuỗi con.
Hàm InStr cũng cho phép chỉ định bắt đầu tìm kiếm tại một kí tự nhất định.
Ví dụ : InStr ([nơi bắt đầu,]) chuỗi tìm kiếm, chuỗi tìm thấy)