Bài giảng Lập trình Windows Visual Basic

 Chương 1. Giới thiệu chung

 Chương 2. C|c đối tượng trong Visual Basic

 Chương 3. Kiểu dữ liệu, hằng, biến v{ mảng

 Chương 4. C|c cấu trúc điều khiển

 Chương 5. C|c lệnh v{ h{m căn bản

 Chương 6. Thủ tục v{ h{m

 Chương 7. C|c điều khiển hình ảnh, timer, duyệt file, thư mục.

 Chương 8. Sử dụng menu, toolbar v{ hộp thoại

 Chương 9. Xử lý tệp tin

 Chương 10. Ứng dụng dạng MDI

 Chương 11. Lập trình Cơ sở dữ liệu

pdf84 trang | Chuyên mục: Visual Basic 6.0 | Chia sẻ: dkS00TYs | Lượt xem: 2351 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Lập trình Windows Visual Basic, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Chương 10
Chương trình nhiều Form
PNH-HUT285
Nội dung
10.1. Chương trình nhiều Form
10.2. Ứng dụng MDI Form
PNH-HUT286
10.1. Chương trình nhiều Form
Thêm Form v{o ứng dụng:
Project/AddForm
PNH-HUT287
Biến, thủ tục trong chương trình nhiều form
Khai b|o to{n cục để sử dụng trong form 
kh|c. Ví dụ:
 Public V as integer
 Public Sub1()
…
End Sub
Sử dụng. Ví dụ:
 Form2.v=100 ‘G|n gi| trị 1000 v{o biến V được 
khai báo trong Form2
 Form2.sub1
PNH-HUT288
9/14/2011
73
Truy xuất đối tượng trong Form kh|c
Kèm theo tên Form chứa đối tượng:
Ví dụ: 
 Form2.text1.text=”DurianGroup” 
 Form2.shape.Fillcolor=QBColor(Rnd() * 10)
Từ khóa Me: Từ khóa n{y có dùng để thay 
thế cho tên Form trong c|c c}u lệnh được 
viết trong Form n{y
PNH-HUT289
Qui định Form hiện trước
Chọn menu Project /Project properties
Tab General:
Chọn tên Form 
Startup Object
PNH-HUT290
10.2. Ứng dụng MDIFrom
Kh|i niệm MDI:
 MDI (Multiple Document Interface), giao diện 
có nhiều cửa sổ t{i liệu
 Sử dụng trong hầu hết c|c ứng dụng Microsoft 
Office (Word, Excel, Access, PowerPoint), và các 
ứng dụng kh|c của Window. 
 Biểu mẫu MDI cho phép nhóm nhiều biểu mẫu 
v{ chức năng trong một cửa sổ lớn. 
 MDI phù hợp với c|c ứng dụng cần l{m việc với 
nhiều t{i liệu cùng lúc. 
PNH-HUT291
10.2. Ứng dụng MDIForm
Đặc điểm:
 MDIForm l{ một biểu mẫu chuẩn có những 
điểm đặc biệt kh|c với c|c biểu mẫu thông 
thường.
 Chỉ có thể tạo một MDIForm cho mỗi ứng dụng, 
vì đ}y l{ biểu mẫu cha, chứa c|c biểu mẫu con 
khác. 
PNH-HUT292
9/14/2011
74
10.2. Ứng dụng MDI Form – Đặc điểm
Hầu hết c|c điều khiển sẽ không đặt trực tiếp được 
v{o giao diện MDIForm. 
Được phép:
 Thiết kế menu
 Chứa c|c điều khiển không có thể hiện khi chạy (Timer, 
CommonDialog).
 C|c điều khiển hỗ trợ căn chỉnh Align (PictureBox, 
Toolbar, StatusBar).
Để đặt c|c điều khiển kh|c, hoặc hiển thị ký tự, 
hình ảnh cần dùng điều khiển chứa chúng (thường 
dùng PictureBox). 
PNH-HUT293
10.2. Ứng dụng MDIForm – C|ch tạo
Mở Project/Add MDI Form. Sau khi tạo MDIForm 
th{nh công, dòng n{y sẽ mờ đi, không cho phép 
thêm MDIForm n{o nữa.
Hình ảnh:
PNH-HUT294
Biểu mẫu MDIChild
Một biểu mẫu MDIForm chứa một hoặc nhiều biểu 
mẫu con. Để tạo c|c biểu mẫu con, thêm biểu mẫu 
v{o dự |n v{ thiết lập thuộc tính MDIChild của nó 
gi| trị True.
Khi được thiết lập l{ MDIChild, biểu tượng của 
form trong cửa sổ Project Explorer sẽ thay đổi. 
Mặc định nó l{ form con của MDIForm (mỗi 
project chỉ có một form cha).
PNH-HUT295
Biểu mẫu MDIChild
Form MDI con nằm bên trong MDI cha. Nếu một 
Form MDI con được chọn l{ form khởi động trong 
ứng dụng thì Form MDI cha sẽ được nạp tự động 
v{ hiển thị trước khi hiện form con. C|c thể hiện 
của form MDI con được tạo ra sử dụng từ khóa 
New 
‘Inside the MDIForm module 
Private Sub mnuFileNew_Click() 
Dim frmDoc As New frmDocument 
frmDoc.Show 
End Sub 
PNH-HUT296
9/14/2011
75
Tạo Instance của biểu mẫu
Sử dụng biến đối tượng để tạo ra những bản sao 
của một biểu mẫu. 
Từng bản sao có c|c điều khiển v{ menu như nhau, 
nhưng có những dữ liệu kh|c nhau. Mặc dù 
chương trình cũng như tên biến v{ tên điều khiển 
như nhau, nhưng dữ liệu được chứa ở những nơi 
kh|c nhau trong bộ nhớ.
PNH-HUT297
Tạo danh s|ch cửa sổ
Phương thức Arrange của MDIForm (không có 
trong form thông thường) cung cấp c|c c|ch thức 
sắp xếp c|c form con (MDIChild) trong ứng dụng 
MDI.
C|c kiểu sắp xếp do VB cung cấp:
PNH-HUT298
Giá trị Hằng Mô tả
0 vbCascade Sắp xếp các cửa sổ con theo kiểu thác nước trải từ 
góc trái trên qua góc phải dưới.
1 vbTileHorizontal Dàn đều các cửa sổ con sao cho chúng chia màn 
hình thành những dải ngang.
2 vbTileVertical Dàn đều các cửa sổ con sao cho chúng chia màn 
hình thành những dải dọc.
3 vbArrangeIcons Các cửa sổ con được thu nhỏ thành các biểu 
tượng và xếp thẳng hàng ở đáy cửa sổ cha.
Tạo danh s|ch cửa sổ
Để l{m những điều n{y, cần tạo ra một menu 
Window với 4 lệnh: Tile Horizontally, Tile 
Vertically, Cascade, and Arrange Icons.
Viết code cho mỗi th{nh phần menu:
‘Chọn xếp theo d{n h{ng ngang
Private Sub mnuTileHorizontally_Click()
Arrange vbTileHorizontal
End Sub
‘Chọn xếp theo d{n h{ng dọc
Private Sub mnuTileVertically_Click()
Arrange vbTileVertical
End Sub
PNH-HUT299
Tạo danh s|ch cửa sổ
Viết code cho mỗi th{nh phần menu (tiếp):
‘Chọn xếp theo kiểu th|c nước
Private Sub mnuCascade_Click()
Arrange vbCascade
End Sub
‘Chọn xếp theo kiểu thu nhỏ
Private Sub mnuArrangeIcons_Click()
Arrange vbArrangeIcons
End Sub
PNH-HUT300
9/14/2011
76
10.3. Ứng dụng MDI Notepad
B{i thực h{nh
Tạo mới thể hiện form con:
 Dim frmDoc As New frmDocument 
frmDoc.Show
Tham chiếu đến form con đang kích hoạt 
(ActiveForm):
Me.ActiveForm
PNH-HUT301
Ứng dụng Notepad MDI
Tạo mới thể hiện Form con
PNH-HUT302
Private Sub menuNew_Click()
Dim frmDoc As frmDocument „Ten form con
Static n As Integer „Bien tinh dem so the hien form con
Set frmDoc = New frmDocument
frmDoc.rtbEdit.Text = "" „Chứa rtbEdit
n = n + 1
frmDoc.Caption = "Document" & Format(n)
frmDoc.Show „Hien the hien form con
End Sub
Ứng dụng MDI Notepad
Kiểm tra nếu chưa có Form con n{o được mở
PNH-HUT303
If ActiveForm Is Nothing Then
Set frmDoc = New frmDocument
frmDoc.Caption = "Document 1"
frmDoc.Show
End If
Tham chiếu điều khiển trên form con đang active
Me.ActiveForm.TenDieuKhien
Xuất file văn bản
Filename: Tên file văn bản được mở 
(qua OpenFileDialog)
PNH-HUT304
Open filename For Input As #1
Do While Not (EOF(1))
Line Input #1, s
Me.ActiveForm.rtbEdit.Text = 
Me.ActiveForm.rtbEdit.Text & s & vbCrLf
Loop
Close #1
9/14/2011
77
Đóng c|c Form con
PNH-HUT305
Private Sub menuExit_Click()
Dim frmDoc As Form
'Thoat cac cua so con
For Each frmDoc In Forms
If TypeOf frmDoc Is frmDocument Then
Unload frmDoc
Set frmDoc = Nothing
End If
Next
'Thoat cua so cha
Unload Me
End Sub
Trò chơi Puzzle số
PNH-HUT306
Trò chơi Puzzle số
Di chuyển c|c ô số để được kết quả sắp 
xếp cuối cùng
PNH-HUT307
Chương 11.
Lập trình Cơ sở dữ liệu
PNH-HUT308
9/14/2011
78
CSDL trong ứng dụng quản lý
Mô hình ứng dụng quản lý CSDL
PNH-HUT309
CSDL trong ứng dụng quản lý
C|c th{nh phần: (mô hình 3 lớp)
PNH-HUT310
Kỹ thuật ADODB trong VB6
ADODB (ActiveX Data Object DB)
Sử dụng:
PNH-HUT311
C|c đối tượng trong ADODB
Connection: Quản lý kết nối
Command 
RecordSet
Field
Parameter
PNH-HUT312
9/14/2011
79
Kết nối Data Source
PNH-HUT313
Đối tượng Connection
PNH-HUT314
Đối tượng Connection
PNH-HUT315
Đối tượng Connection
PNH-HUT316
9/14/2011
80
Đối tượng Connection
PNH-HUT317
Đối tượng Connection
PNH-HUT318
Ví dụ Kết nối CSDL
PNH-HUT319
Đóng kết nối
PNH-HUT320
9/14/2011
81
Thao t|c dữ liệu
PNH-HUT321
Minh họa thao t|c dữ liệu
PNH-HUT322
Đối tượng Command
PNH-HUT323
Đối tượng Command
Thực hiện truy vấn Thêm (Insert), Cập nhật 
(Update) tương tự
PNH-HUT324
9/14/2011
82
Đối tượng Command
Thực hiện c}u truy vấn SELECT
PNH-HUT325
„Khai báo đối tượng RecordSet để chứa kết quả
Dim rs As New ADODB.RecordSet
„Khai báo đối tượng Command
Dim cmd As New ADODB.Command
cmd.ActiveConnection = con „Kết nối đang mở
cmd.CommandText = câu truy vấn chọn
cmd.CommandType = adCmdText
„Thực hiện truy vấn
Set rs = cmd.Execute
Đối tượng RecordSet
Thực hiện c}u truy vấn SELECT
PNH-HUT326
„Khai báo đối tượng RecordSet
Dim rs As New ADODB.RecordSet
„Khai báo đối tượng Command
Dim cmd As New ADODB.Command
cmd.ActiveConnection = con „Kết nối đang mở
cmd.CommandText = câu truy vấn chọn
cmd.CommandType = adCmdText
„Thực hiện truy vấn chọn 
rs.Open cmd
C|c phương thức duyệt bản ghi
Về đầu danh 
sách:
 rs.MoveFirst
Về cuối danh 
sách:
 rs.MoveLast
Bản ghi tiếp theo: 
 rs.MoveNext
Bản ghi trước:
 rs.MovePrevious
PNH-HUT327
Đếm số bản ghi:
rs.RecordCount
Di chuyển đến bản ghi 
có chỉ số index
rs.Move(index)
Đọc thông tin c|c trường bản ghi
Đối tượng rs (RecordSet) nắm dữ tập hợp c|c bản 
ghi. Tại mỗi thời điểm, có một bản ghi được chọn.
Lấy thông tin c|c trường dữ liệu của một bản ghi:
 rs.Fields(index) ‘Chỉ số trường tính từ 0
 rs.Fields(“Tên trường”)
 rs!Têntrường
PNH-HUT328
9/14/2011
83
Đối tượng RecordSet
PNH-HUT329
Tiếng Việt trong Visual Basic
PNH-HUT330
Tiếng Việt VB6
Bảng mã ANSI (ACII mở rộng), dùng đủ 8 bit với 
256 ký tự, bao gồm cả 128 kí tự trong m~ ASCII 
chuẩn. C|c kí tự sau l{ c|c phép to|n, c|c chữ có 
dấu v{ c|c kí tự để trang trí.
(Mở công cụ Character Map của Window, chọn 
font Fixedsys, trật tự c|c ký tự hiện ra ấy chính l{ 
bảng m~ ANSI)
VB6 chuẩn hoạt động với bảng m~ ANSI: Ta có 
thể gõ trong môi trường code c|c ký tự HOA có 
dấu sau: À Á Â Ã È É Ê Ì Í Ò Ó Ô Õ Ù Ú Ý kèm c|c 
chữ thường.
PNH-HUT331
Tiếng Việt VB6
Môi trường chuẩn VB6 không hỗ trợ tiếng Việt 
Unicode. Người ta thường dùng bảng m~ 1 byte 
của Việt nam để thay thế.
Tiếng Việt cho điều khiển:
 Thiết lập thuộc tính Font: Chọn kiểu Font Việt Nam 1 
byte (.VnTime, .VnTimeH, …)
 Sử dụng bộ gõ TCVN3, kiểu gõ Telex
Với môi trường Code: 
* C|c ký tự có dấu phức tạp, ta dùng kèm h{m 
ChrW, ví dụ từ 'lên lớp' : Msgbox "lên l" & 
ChrW(7899) & "p“ 
Dùng Character Map để tra m~ những ký tự có dấu
PNH-HUT332
9/14/2011
84
Sử dụng điều khiển Unicode viết sẵn
Với C|c Control:
* Dùng c|c control do c|c t|c giả người Việt 
viết sẵn, ví dụ dùng bộ 
Unicode Full Controls của t|c giả DQHung
(UnicodeFullControls.ocx)
PNH-HUT333
Sử dụng điều khiển Unicode
Dùng bộ controls MS Form 2.0 của 
Microsoft, chọn c|c font nhóm Unicode, 
dùng hàm convert ChrW$() cho những ký 
tự có dấu tiếng việt m{ VB không hỗ trợ.
PNH-HUT334
VB (version 2005, 2008, 2010)
Công nghệ .NET framework
Đ~ hỗ trợ tiếng Việt Unicode cả trên điều 
khiển v{ môi trường code
Chọn kiểu gõ Unicode, Font chữ thường 
dùng: Arial, Times New Roman, …
PNH-HUT335

File đính kèm:

  • pdfBài giảng Lập trình Windows Visual Basic.pdf
Tài liệu liên quan