Phát triển ứng dụng với VB
Trang 1Phát triển ứng dụng với
Visual Basic 6
Hà nội - 2003
Trang 21 Giới thiệu về Visual Basic 6
Trang 3Giíi thiÖu vÒ VB6
1.1Visual Basic là gì?
Micrsoft Visual Basic (viết tắt là VB) là cách dễ dàng nhất và nhanh nhất để xây dựng 1 chương trình ứng dụng chạy trên nền Microsoft Windows VB cũng cấp sẵn 1 tập đầy đủ các công cụ để
làm nhanh, đơn giản quá trình phát triển ứng dụng
“Visual” chỉ cách tạo giao diện người dùng đồ hoạ (GUI – graphic
user interface) một cách trực quan Thay vì phải viết rất nhiều dòng
mã lệnh để mô tả hình dáng và vị trí của các phần tử tạo nên giao diện, ta chỉ cần đặt những đối tượng đã được xây dựng sẵn lên màn hình (như cách vẽ một bức tranh bằng chương trình Paint)
“Basic” chỉ tới ngôn ngữ lập trình BASIC (Beginners All-Purpose
Symbolic Intstruction Code), một trong những ngôn ngữ lập trình nổi
tiếng VB phát triển từ ngôn ngữ BASIC và hiện chứa rất nhiều câu lệnh, hàm, từ khoá, mà nhiều trong số chúng có liên quan trực tiếp tới GUI của Windows Người mới lập trình có thể tạo những chương trình hữu ích bằng cách học sử dụng một số ít các câu lệnh Còn những người lập trình chuyên nghiệp có thể sử dụng VB để thực hiện bất kỳ công việc nào mà các ngôn ngữ lập trình cho Windows khác có thể làm được
Ngôn ngữ lập trình Visual Basic không chỉ duy nhất được sử dụng trong xây dựng chương trình bằng sản phẩm Microsoft Visual Basic Phiên bản VB cho lập trình các ứng dụng (VBA) có trong Microsoft Excel, Microsoft Access, VBScript là ngôn ngữ script được sử dụng rộng rãi trong các ứng dụng Web
1.2 Các bản Visual Basic (Visual Basic Editions)
Visual Basic được bán ở 3 bản khác nhau, phù hợp cho những yêu cầu phát triển khác nhau:
• Bản Visual Basic Learning cho phép lập trình viên xây dựng
các ứng dụng chạy trên MS Windows 95/98/NT/2000 Bản này chứa đầy đủ các điều khiển cơ sở (intrinsic control), cùng với các điều khiển lưới (grid), tab, và điều khiển gắn-dữ liệu Tài liệu
đi kèm gồm có đĩa CDROM chứa “Learn VB Now” và “Microsoft Developer Network (MSDN) Library”
Trang 4• Bản Professional chứa tất cả các tính năng của bản Visual
Basic Learning, cùng với: ActiveX control, Internet Information Server Application Designer, tích hợp với Visual Database Tools, Data Environment, Active Data Objects, Dynamic HTML Page Designer Tài liệu đi kèm với bản Professional chứa sách
“Visual Studio Professional Features” cùng với thư viện tài liệu
“Microsoft Developer Network“.
• Bản Enterprise cho phép những lập trình viên chuyên nghiệp
tạo các ứng dụng mạnh, phân tán Nó gồm các tính năng của bản Professional, cùng với công cụ cho bộ “Back Office” như: SQL Server, Microsoft Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, Tài liệu của bản Enterprise gồm sách “Visual Studio Enterprise Features” cùng với thư viện tài liệu “Microsoft Developer Network”
Phiên bản Visual Basic (Visual Basic Versions)
Phiên bản Visual Basic hiện hành là Visual Basic 6.0 (Các phiên bản thông dụng trước đó là 3.0, 4.0 và 5.0)
Phiên bản VB 6.0 ra đời năm 1998 trong bộ Visual Studio 6.0
Phiên bản VB 6.0 có nhiều đặc điểm mới, tăng cường so với các phiên bản VB trước đó:
• Truy nhập cơ sở dữ liệu (ADO, Data Enviroment, )
• Hỗ trợ Internet (hỗ trợ IIS, DHTML, )
• Thêm nhiều control mới; Cho phép tạo thêm nhiều loại control mới
•
Trang 5Giíi thiÖu vÒ VB6
1.3 Cài đặt VB6
Yêu cầu phần cứng
Để chạy Visual Basic, máy tính của ta cần tối thiểu:
• Hệ điều hành: Microsoft Windows 95/98/ME/2000/NT (nên là Service Pack 3 trở lên)
• Bộ vi xử lý: 486DX/66 MHz hay nhanh hơn
• 1 ổ đĩa CD-ROM
• Màn hình VGA hay với độ phân giải cao hơn
• Bộ nhớ 16 MB RAM với Windows 95/98; 32 MB RAM với Windows NT Workstation
• Chuột hay thiết bị tương tự
• Đĩa cứng: Tuỳ thuộc vào cài đặt chi tiết
Cài đặt VB 6.0:
• Cài đặt VB6
• Cài đặt tài liệu MSDN
Trang 61.4Tìm kiếm trợ giúp khi sử dụng VB6
Visual Basic Help được gọi bằng cách chọn “Contents” từ menu
Help; khi đó Thư viện MSDN sẽ được chạy Tại đó có tất cả mọi chủ
đề cần cho lập trình với VB
Contetxt-Sensitive Help (trợ giúp ngữ cảnh) được gọi bằng nhấn F1
bất cứ tại thời điểm cần trợ giúp
Code Editor (Bộ soạn thảo mã lệnh) tự động cung cấp những thông
tin cần thiết khi mã lệnh được đưa vào
Sample Applications (Ví dụ mẫu) minh hoạ các tính năng của VB,
cách sử dụng chúng có trên đĩa CDROM MSDN tại thư mục \Disk 1\ Samples
Microsoft Visual Basic Web site chứa thông tin cập nhật nhất về VB.
Trang 7Ph¸t triÓn øng dông víi VB6
2 Phát triển một ứng dụng với Visual Basic
• Một số khái niệm cơ bản trong lập trình Windows
• Mô hình hướng sự kiện
• Môi trường phát triển tích hợp
• Các bước cơ bản để xây dựng một chương trình ứng dụng
• Tạo mới, mở, lưu trữ 1 project
Trang 82.1Một số khái niệm cơ bản trong lập trình Windows
VB được xây dựng như là môi trường giúp phát triển các ứng dụng cho MS Windows Lập trình với Windows gồm 3 khái niệm cơ sở : window (cửa sổ), event (sự kiện) và message (thông điệp)
Cửa sổ đơn giản là 1 khu vực hình chữ nhật Chúng ta đã biết nhiều loại cửa sổ khác nhau: cửa sổ chương trình Explorer, cửa sổ 1 tài liệu trong chương trình Windword, 1 hộp thông báo Ngoài ra còn có nhiều loại cửa sổ khác như: một nút lệnh, một hộp soạn thảo, nút tuỳ chọn, thanh thực đơn
Hệ điều hành MS Windows quản lý các cửa sổ qua số hiệu duy nhất của mỗi cửa sổ (window handle hay hWnd) Hệ điều hành quản lý, theo dõi từng cửa sổ đó để nhận hay gửi các sự kiện Sự kiện có thể
là hành động của người sử dụng như nhấn chuột, ấn phím, hay phát sinh từ các điều khiển được lập trình, hay thậm chí là kết quả của những hành động của cửa sổ khác
Mỗi khi có 1 sự kiện xảy ra, nó gửi thông điệp tới cho hệ điều hành HĐH xử lý thông điệp đó và truyền thông điệp đó tới tất cả các cửa sổ Mỗi cửa sổ sẽ thực hiện hành động phù hợp của riêng mình để xử lý thông điệp
Xử lý với tất các kết hợp của cửa sổ, sự kiện, thông điệp rất phức tạp
VB giúp chúng ta tránh với việc xử lý chúng ở mức cơ sở và nhờ đó giúp chúng ta xây dựng ứng dụng cho MS Windows dễ dàng hơn
Trang 9Ph¸t triÓn øng dông víi VB6
2.2Mô hình hướng sự kiện
Mô hình thủ tục truyền thống:
- Trình tự thực hiện được định trước
- Chương trình quyết định phần mã lệnh nào được chạy và theo thứ tự nào
Mô hình hướng sự kiện (event-driven model)
- Trình tự thực hiện không được định trước
- Những phần mã lệnh khác nhau được chạy để đáp ứng những sự kiện
Trang 10- Mã lệnh được dịch cú pháp ngay khi được gõ vào
- Mã lệnh được biên dịch ngay khi được gõ vào
- Hồi âm lập tức cho lập trình viên
Trang 11Ph¸t triÓn øng dông víi VB6
2.4Môi trường phát triển tích hợp
Sau khi khởi động, chúng ta sẽ làm việc trong môi trường phát triển tích hợp gồm: View\chọn các thanh công cụ
• Menu Bar: Hiển thị các lệnh khi làm việc với VB
• Context Menu: Chứa phím tắt tới các lệnh thường gọi gắn với đối tượng hiện đang làm việc Hãy kích chuột phải để làm xuất hiện Context Menu
• Toolbars: Cho phép truy nhập nhanh tới các lệnh thường sử dụng trong môi trường lập trình Hãy sử dụng View trên menu bar để hiển thị/che dấu một toolbar
• Toolbox: là hộp công cụ chứa các điều khiển dùng trong khi thiết kế
1 form
• Project Explorer Window: Liệt kê form và module có trong dự án (project) xây dựng ứng dụng Ví dụ: Chương trình quản lý Sinh Viên: Form Nhập sinh viên, Form nhập môn học,
• Properties Window: cửa sổ thuộc tính liệt kê các thuộc tính của form hay của điều khiển (control) được chọn
• Object Browser: Liệt kê các đối tượng (object) có trong dự án
• Form Designer: Cửa sổ để thiết kế giao diện cho ứng dụng
• Code Editor Window: Nơi cho phép soạn thảo lệnh của chương trình
• Form Layout Window: Cho phép điều chỉnh vị trí của form tương ứng trên màn hình máy tính
• Immediate, Locals, và Watch Windows: Những cửa sổ dùng để gỡ rối khi chạy chương trình
* Giao diện SDI hay MDI
SDI (single document interface) và MDI (mutiple document interface) là
2 kiểu giao diện của môi trường phát triển tích hợp của VB Để chuyển đổi giữa chúng sử dụng:
Tools | Options | Advanced ; chọn đánh dấu hay huỷ bỏ tại:
Trang 12SDI Development Enviroment
Trang 13Ph¸t triÓn øng dông víi VB6
Một chương trình viết bằng VB có 2 phần: Form và Code
Trang 142.5Các bước cơ bản xây dựng chương trình
• Tạo giao diện
• Đặt giá trị thuộc tính
• Viết mã lệnh
• Chạy và kiểm tra chương trình
Trang 15Ph¸t triÓn øng dông víi VB6
2.6Xây dựng một chương trình ví dụ: Hello
box và 1 command button
- Chuyển con trỏ lên form tới vị trí muốn đặt control
- Nhấn và kéo chuột để điều chỉnh kích cỡ của control
- Thả chuột
Cách 2: Nhấn đúp vào đối tượng trên Toolbox khi đó đối tượng sẽ được đưa vào Form
Trang 17Ph¸t triÓn øng dông víi VB6
• Thay đổi kích cỡ, di chuyển, khoá 1 control
- Để thay đổi kích cỡ: nhấn chọn control, đặt chuột tới góc (phải, dưới) và kéo chuột tới kích cỡ mong muốn
- Để thay đổi vị trí: kéo control tới vị trí bằng chuột, rồi thả chuột
- Để khoá cố định vị trí hoặc bỏ khoá: sử dụng chức năng
Format | Lock Controls
Trang 18• Đặt giá trị thuộc tính cho control
Nhấn chọn control
Hiển thị cửa sổ thuộc tính: View \ Properties
Chọn thuộc tính cần đặt từ : Properites List
Nhập giá trị mới vào cột bên phải
Ghi chú:
Object box: Danh sách form và các control trên form
Sort tabs: Kiểu sắp xếp danh sách các thuộc tính:
theo bảng chữ cái (Alphabetic) hay theo phân loại
(Categorized)
Properties list: Danh sách các thuộc tính gắn với đối tượng được chọn (trên form hay từ object box)
Trang 19Ph¸t triÓn øng dông víi VB6
• Viết mã lệnh
- Mở Code Editor bằng cách: Nhấn đúp lên control hoặc chọn View Code từ cửa sổ Project Explorer.
Private Sub Command1_Click ()
Text1.Text = "Hello, world!"
Trang 21Ph¸t triÓn øng dông víi VB6
2.7Làm việc với Project
Một project (dự án) trong Visual Basic thường bao gồm:
• Một file dự án quản lý tất các thành phần của chương trình
(*.vbp)
• Một file cho mỗi form (*.frm)
• Một file dạng nhị phân cho mỗi form chứa các thông tin về form
Trang 222.7.2 Tạo, mở, lưu trữ một project
Bằng cách sử dụng các lệnh sau:
New Project Đóng project hiện tại; Tạo 1 project mới
Open Project Đóng project hiện tại; Mở 1 project có sẵn
Save Project Lưu trữ, cập nhật file project, cũng như mọi file
thành phần của nó
Save Project As Lưu file project với tên mới được nhập vào
2.7.3 Đặt tuỳ chọn cho Project
Bằng cách sử dụng hội thoại Project Properties,
từ mục chọn Project Properties trên thực đơn Project
Startup Object
Form đầu tiên mà Visual Basic sẽ gọi, hay thủ tục đặc biệt Sub Main( )
Trang 23Ph¸t triÓn øng dông víi VB6
Help File Tên của file trợ giúp gắn với chương trình
Project Help Context
ID
Mã ngữ cảnh (context ID)
Project Description Mô tả chung về dự án
Ngoài những tuỳ chọn trên, mỗi project còn có nhiều tuỳ chọn khác nữa
Trang 24• Tab order (Thứ tự Tab)
• Dialog box (hộp hội thoại)
Trang 25Quả bóng bay là 1 đối tượng Nó có các thuộc tính như các thuộc tính
trực quan: “độ cao”, “đường kính”, “màu sắc” Các thuộc tính khác như
thuộc tính mô tả trạng thái quả bóng (“căng tròn” hay chưa), hay các thuộc tính khác như thời gian sản xuất Mọi quả bóng bay đều có đầy
đủ tập thuộc tính trên; nhưng với mỗi quả bóng, giá trị cụ thể các thuộc tính đó là khác nhau
Quả bóng bay có sẵn các phương thức hay hành động mà nó có thể thực hiện Nó có phương thức: “bơm” (hành động bơm hơi vào quả bóng), “xì” (xì hơi chứa bên trong), “bay” (bay lên cao nếu được thả ra)
Quả bóng bay cũng có sẵn cách trả lời cho những sự kiện bên ngoài nhất định Ví dụ: 1 quả bóng sẽ đáp ứng lại sự kiện bị châm thủng bằng cách xì hơi, hay sự kiện được thả ra bằng cách bay cao
Nếu lập trình 1 quả bóng, đoạn mã lệnh trong Visual Basic sẽ có dạng sau:
Balloon.Color = Red
Balloon.Diameter = 10
Balloon.Inflated = True
Trang 26Chú ý cú pháp: đối tượng (Balloon) theo sau bởi thuộc tính (.Color) được gán giá trị (Red) Chúng ta có thể thay đổi thuộc tính 1 đối tượng bằng mã lệnh như trên khi chạy chương trình, hay từ cửa sổ Properties khi thiết kế.
Phương thức của 1 quả bóng có thể được gọi như sau:
Chúng ta không thực sự có thể lập trình 1 quả bóng bay Nhưng thực
sự, chúng ta lập trình với form và control trong Visual Basic theo cách tương tự
Trang 27Form vµ Control
3.2Form
Đối tượng form là thành phần cơ sở của 1 chương trình viết bằng
Visual Basic, là cửa số giao diện với người dùng Form có thuộc tính, sự kiện, phương thức
Bước đầu tiên trong thiết kế form là đặt giá trị các thuộc tính Thuộc
tính có thể đặt giá trị tại thời điểm thiết kế (design time) bằng tay,
hay khi chạy chương trình (run time) bằng mã lệnh.
3.2.1 Đặt giá trị thuộc tính cho form
Form có nhiều thuộc tính qui định hình thức như: Caption,
Icon, MaxButton, MinButton, BorderStyle, Height, Width, Left, Top, WindowState,
Thuộc tính Name đặt tên cho form - đó là tên biến được sử dụng để
thao tác với form khi lập trình (ví dụ: frmEntry)
Chúng ta có thể tìm hiểu về từng thuộc tính bằng cách chọn thuộc tính rồi nhấn F1 để hiển thị trợ giúp ngữ cảnh
Trang 283.2.2 Phương thức và sự kiện của form
Như mọi đối tượng, form thực hiện các phương thức và đáp ứng các
sự kiện
Sự kiện Resize được kích hoạt khi kích cỡ form bị thay đổi
Sự kiện Activate được kích hoạt khi form được gọi
Deactivate được gọi khi 1 form hay 1 ứng dụng khác được gọi
Để làm 1 form xuất hiện, sự dụng phương thức Show
Trang 29Form vµ Control
3.3Command button
Command button (nút lệnh) cho phép người sử dụng nhấn vào để
thực hiện 1 hành động Khi người dùng nhấn vào nút lệnh, thủ tục sự
kiện Click được gọi Lập trình viên viết lệnh vào thủ tục sự kiện Click để thực hiện hành động mong muốn.
Có nhiều cách để chọn 1 command button:
• Nhấn chuột vào command button
• Dùng phím Tab chuyển tới command button, rồi ấn SPACEBAR
hay ENTER
• Nhấn <ALT+ chữ cái được gạch chân>
• Dùng mã lệnh thay đổi thuộc tính Value:
cmdClose.Value = True
• Gọi thủ tục sự kiện Click:
cmdClose_Click
• Nếu command button là command button mặc định trên form,
nhấn ENTER khi không có nút lệnh nào đang được chọn Lúc thiết kế, chúng ta đặt command button mặc định bằng cách thay
đổi giá trị thuộc tính Default thành True.
• Nếu command button là Cancel button mặc định trên form, nhấn
ESC Lúc thiết kế, chúng ta đặt Cancel button mặc định bằng
cách thay đổi giá trị thuộc tính Cancel mặc định thành True
Tất cả các cách trên khiến Visual Basic gọi thủ tục sự kiện Click
Trang 30Label (nhãn) hiển thị văn bản mà người dùng không thể trực tiếp thay đổi Ta có thể sử dụng label để định danh các control không có thuộc tính Caption, chẳng hạn text box và scroll bar Văn bản được hiển thị
trong một label được điều khiển bởi thuộc tính Caption, thuộc tính này
có thể được đặt khi thiết kế tại cửa sổ Properties hay khi chạy bằng cách gán trị cho nó trong mã chương trình
Mặc định, caption là phần duy nhất nhìn thấy được của label Ngoài
ra, các thuộc tính khác, như BackColor, BackStyle, ForeColor, và
Font, quy định hiển thị của label
Labels có 2 thuộc tính giúp văn bản trong nó phù hợp với kích cỡ của:
AutoSize and WordWrap.
Đặt AutoSize=True khiến nhãn tự thay đổi kích cỡ để vừa với nội dung trong thuộc tính Caption
Trang 323.5Text box
Text box (hộp soạn thảo) dùng để nhập dữ liệu từ người dùng hay hiển thị dữ liệu Tuy nhiên, không nên dùng Textbox để hiển thị dữ liệu không được thay đổi bởi người dùng nếu như không đặt thuộc tính
Locked là True.
Văn bản thực sự hiển thị được lưu trong thuộc tính Text Chúng
ta có thể đặt văn bản vào textbox hay đọc nội dung qua thuộc tính
Text này.
Các thuộc tính MultiLine, ScrollBars và
WordWrap giúp hiển thị văn bản trong Textbox khi có nhiều dòng
Private Sub Form_Load ()
Text1.Text = "Here are two lines" _
& vbCrLf & "in a text box"
End Sub
Trong thủ tục trên, vbCrLf là hằng số khiến chuỗi chia thành 2 dòng
Chú ý: để WordWrap có hiệu lực, Multiple cũng cần có hiệu lực
Các thuộc tính SelStart, SelLength và SelText giúp điều khiển việc lựa chọn 1 phần văn bản hộp textbox
Trang 33Form vµ Control
Trang 343.6Check box
Check box (hộp đánh dấu) được dùng để đưa ra lựa chọn đúng/sai, có/không cho người sử dụng
3.6.1 Chương trình ví dụ về Check box
Giao diện chương trình gồm text box, label, command button, và 2 check box
Trang 35Form vµ Control
Danh sách đối tượng và thuộc tính đặt như sau:
Caption
frmCheckCheck Box Example
Text
txtDisplaySome sample textCheck box 1 Name
Caption
chkBold
&BoldCheck box 2 Name
Caption
chkItalic
&ItalicCommand button Name
Caption
cmdClose
&Close
Mã lệnh các thủ tục sự kiện:
Private Sub chkBold_Click ()
If ChkBold.Value = vbChecked Then ' If checked.
Private Sub chkItalic_Click ()
If ChkItalic.Value = vbChecked Then ' If checked.
Private Sub CmdClose_Click()
End
End Sub
Trang 363.7Option Button và nhóm Option Button
Option button (nút tuỳ chọn) được dùng theo nhóm được cho phép người dùng chọn 1 trong số nhiều lựa chọn
3.7.1 Tạo nhóm Option Button
Tất các option button được đặt trực tiếp lên form tạo thành 1 nhóm Nếu muốn tạo thêm các nhóm, những option button thuộc nhóm mới phải được cùng đặt trong 1 frame box hay
Người dùng chỉ có thể chọn 1 tuỳ chọn trong mỗi nhóm
Trang 37Form vµ Control
Nhóm các control trong 1 frame
1 Chọn frame control trên toolbox và vẽ lên form
2 Chọn option button control trên toolbox vẽ vào trong frame
3. Làm lại bước 2 cho mỗi option button cần đặt trong frame
Nếu chúng ta đã có sẵn các control muốn nhóm gộp vào trong 1 frame, hãy chọn các control đó rồi cắt và dán chúng vào trong frame hay picture control
Đối tượng chứa các control
Tuy mỗi control và 1 đối tượng độc lập, quan hệ cha-con tồn tại giữa form và control Ví dụ: các option button được chứa trong 1 frame, và frame này được chứa trong 1 form
Thực sự, mỗi khi vẽ 1 control lên form, mỗi control thường chứa 1 thuộc tính Parent chỉ tới form mà control được đặt trên
Các thuộc tính Left và Top chẳng hạn sẽ xác định vị trí tương đối của control trong form cha
3.7.2 Chương trình ví dụ về Options
Xây dựng chương trình với giao diện:
Trang 38Bảng các đối tượng và thuộc tính:
Caption
LblDisplay(Empty)Command button Name
Caption
CmdClose
&CloseOption button 1 Name
Caption
opt486
&486Option button 2 Name
Caption Value
opt586
&Pentium True
Option button 3 Name
Caption
opt686P&entium Pro
Caption
fraSystem
&Operating SystemOption button 4 Name
Caption
optWin95Windows 95Option button 5 Name
Caption Value
optWinNTWindows NT True
lblDisplay.Caption = "You selected a " & _
strComputer & " running " & strSystem
End Sub
Trang 39Form vµ Control
3.8List box và Combo box
Listbox (hộp danh sách) và combo box (hộp kéo thả) sử dụng để liệt
kê các lựa chọn cho người dùng
Listbox và combox, khác với text box, chứa nhiều giá trị Hai control này có sẵn các phương thức
để thêm, bớt, lấy giá trị từ chúng Đoạn lệnh sau thêm 3 giá trị và 1 list box:
lstCity.AddItem "Paris"
lstCity.AddItem "New York"
lstCity.AddItem "San Francisco"
Trang 403.9Các control khác
• Picture Box Control: Hiển thị kết quả của chương trình, ngoài ra
còn hiển thị hình ảnh qua thuộc tính Picture chứa tên tệp ảnh và đường dẫn
picMain.Picture = LoadPicture("VANGOGH.BMP")
Picture box cũng được dùng như đối tượng chứa các control khác
• Lightweight Graphical Control: Các control image, shape và line
được gọi là các lightweight controls; chúng hỗ trợ 1 tập các các propertie, method, và events của picture box Do đó, chúng cần ít tài nguyên máy tính và sẽ được nạp nhanh hơn picture box
Chương trình ví dụ sử dụng Image control
Tạo chương trình với giao diện sau (xem Images.frm trong Controls.vbp tại thư mục Samples)
• Các đối tượng truy nhập CSDL (Data Access Control)
• ADO Data control
• DataList control
• DataCombo control
• DataGrid