SỬ DỤNG CÁC ĐIỀU KHIỂN NÂNG CAO MỤC TIÊU: SAU KHI HOÀN THÀNH CÁC BÀI TẬP, NGƯỜI HỌC CÓ THỂ Sử dụng được hầu hết các điều khiển nâng cao đi kèm với Visual Basic và một số điều khiển nâng cao thông dụng từ các hãng thứ 3 –Third party. Lựa chọn được các điều khiển phù hợp khi viết chương trình. Xây dựng được một số ứng dụng với các điều khiển nâng cao.
Trang 1Ch−¬ng iV
Sö dông c¸c ®iÒu khiÓn n©ng cao
MỤC TIÊU: SAU KHI HOÀN THÀNH CÁC BÀI TẬP, NGƯỜI HỌC CÓ THỂ
Sử dụng được hầu hết các điều khiển nâng cao đi kèm với Visual Basic và một số điều khiển nâng cao thông dụng từ các hãng thứ 3 –Third party
Lựa chọn được các điều khiển phù hợp khi viết chương trình
Xây dựng được một số ứng dụng với các điều khiển nâng cao
A - ĐỀ BÀI TẬP
Bài 1: Minh hoạ sử dụng điều khiển Carlendar (Lịch)
Giới thiệu: Điều khiển Carlendar nằm trong thư viện , có chức năng hiển thị như một cuốn lịch điện tử Đồng thời cũng được dùng để cho phép người dùng chọn trực quan ngày, tháng, năm trong một số ứng dụng
Hình 4.1 – Giao diện chương trình
Yêu cầu:
tính bằng ngày tháng năm đang được chọn trong Calendar
Trang 2Bài 2: Minh hoạ sử dụng điều khiển truyền thông nối tiếp Comm Control
Giới thiệu: Điều khiển MSComm nằm trong thư viện , cung cấp cho ứng dụng khả năng truyền thông nối tiếp bằng cách truyền và nhận dữ liệu thông qua cổng nối tiếp (Serial Port)
Hình 4.2 – Giao diện chương trình và đặt tên cho các điều khiển
Yêu cầu:
• Xây dựng ứng dụng như hình 2
Bài 3 : Minh hoạ điều khiển FlexGrid
Giới thiệu: Điều khiển MSFlexGrid nằm trong thư viện rol có chức năng hiển thị và thao tác dữ liệu ở dạng bảng (Tabular) Nó hoàn toàn cho phép sắp xếp, trộn và định dạng bảng có chứa xâu ký tự và hình ảnh Khi gắn kết với
các điều khiển Data, MSFlexGrid chỉ hiển thị dữ liệu ở chế độ Read-Only
Hình 4.3 – Giao diện và đặt tên cho các điều khiển (tên được in đậm)
Yêu cầu:
• Khi click nút "Thêm" thì thêm một bản ghi trong các Textbox vào FlexGrid
• Khi click nút "Xoá" thì xoá dòng đang được chọn trong FlexGrid
Trang 3• Khi click nút "Cập nhật" thì đặt nội dung của dòng hiện hành bằng nội dung trong các hộp Text tương ứng
• Khi click nút "Lưu ra File" thì lưu nội dung FlexGrid ra file Text, mỗi bản ghi trong FlexGrid được ghi trên một dòng của file
Bài 4 : Minh hoạ sử dụng điều khiển Web brower và HTML Object Library
Giới thiệu : Điều khiển Web Browser đóng vai trò như một trình duyệt IE, do vậy cho
ta phép nhúng vào trong ứng dụng để mở và thao tác với trang web bằng các lệnh của VB Để truy cập (đọc / ghi) nội dung chứa trong các đối tượng của trang web (nút nhấn, textbox ) thì cần phải có thư viện HTML Object Library Trong trường hợp ứng dụng chỉ mở các trang web thì không cần đến thư viện này
Hình 4.4 – Giao diện chương trình
Yêu cầu:
• Khi chương trình bắt đầu, một trang web trắng (Blank) sẽ được mở
• Khi click nút "Mở" thì mở trang có địa chỉ nằm trong txtURL
• Khi click nút "Tạo nút nhấn và Textbox" thì tạo ra một hộp text và một nút nhấn trong trang Web
• Khi click nút "Ghi giá trị vào Text" thì cho người dùng nhập một xâu ký tự và chèn xâu này vào hộp Text vừa tạo ra trong trang web
• Khi click nút "Đọc giá trị trong Textbox" thì đọc nội dung trong hộp Text vừa tạo ra và hiển thị ra màn hình bằng hàm Msgbox
• Khi click nút "Thêm "Hello"" thì thêm một dòng "Hello" có màu xanh vào trong trang web
Bài 5: Minh hoạ sử dụng Internet Control
được sử dụng rộng rãi nhất đó là giao thức HyperText Transfer Protocol (HTTP) và File Transfer Protocol (FTP)
Sử dụng giao thức HTTP, chúng ta có thể lấy về các trang Web từ Internet, còn giao thức FTP cho phép đăng nhập vào máy chủ FTP để Download (lấy về) và Upload
Trang 4(Gửi lên) các file Ngoài ra, các lệnh trong giao thức FTP như SEND, PUT, PWD… cũng được điều khiển này hỗ trợ
Yêu cầu: Xây dựng một chương trình cho phép người dùng Download các file từ
Internet về máy tính cục bộ Các file này sau đó có thể mở theo yêu cầu
Hình 4.5 – Giao diện và đặt tên cho các điều khiển Bài 6 Sử dụng điều khiển Multimedia MCI để chơi các file nhạc và hình
và chơi các file nhạc và hình Các dạng file mà điều khiển này hỗ trợ là các file Wav (WaveAudio), các file trên đĩa CD (CDAudio), các file hình (DAT), file hình AVI
Hình 4.6 – Giao diện chương trình và tên cho các điều khiển
Yêu cầu:
• Xây dựng chương trình với giao diện như hình 6
• Khi người dùng click nút thì mở hộp thoại chọn file và chơi file này
Bài 7: Sử dụng Script Control để tính toán biểu thức bất kỳ được nhập từ bàn
phím trong khi chương trình chạy
Giới thiệu: Điều khiển Script ( ) cho phép định giá (Eval) một biểu thức bất kỳ khi chương trình đang chạy Nó khắc phục được hạn chế trong các chương trình trước đây là biểu thức cần tính toán phải được nhập trước và khi
đã dịch ra file exe rồi thì không thể thay đổi được Muốn thay đổi biểu thức tính toán thì phải sửa đổi chương trình nguồn sau đó dịch lại ra file EXE Ngoài khả năng định giá (tính) một biểu thức, Script control còn có khả năng rất mạnh khác là có thể thêm các lệnh (như khai báo biến, khai báo thủ tục, các lệnh rẽ nhánh v.v… của VB) trong khi chương trình chạy Ở đây chỉ xin giới thiệu khả năng thứ nhất
Yêu cầu:
• Xây dựng giao diện như hình 7
• Khi người dùng nhập một biểu thức trong textbox và click nút "Hiển thị…" thì hiển thị kết quả tính toán được bằng hàm MsgBox
Trang 5Hình 4.7 – Giao diện chương trình và kết quả chạy chương trình
Bài 8: Sử dụng điều khiển SSTab và viết chương trình cờ CARO đơn giản
khiển hoạt động giống như một đối tượng chứa (tức cho các các điều khiển khác đặt lên) Các điều khiển có thể đặt trong nhiều trang (còn gọi là Page hay TAB) khác nhau của SSTab, do vậy giúp chúng ta không phải tạo ra nhiều Form Trong bài tập này, chúng ta sẽ sử dụng SSTab kết hợp với điều khiển FlexGrid để viết một chương trình chơi cờ Caro đơn giản (Có thể kết hợp với bài tập 37 - Chương 1 sẽ được chương trình hoàn chỉnh hơn)
Hình 4.8 – Giao diện và tên của các điều khiển
Yêu cầu:
• Chương trình cho phép 2 người dùng sử dụng chuột để chơi
• Khi người dùng click vào một ô trong Flexgrid thì đặt vào các ký hiệu là "X" hoặc "O"
• Thứ tự người đi trước có thể thay đổi
• Số ô cũng có thể thay đổi
• Khi người dùng click vào "Ván mới" thì xoá bàn cờ và bắt đầu chơi ván mới
Bài 9: Sử dụng thanh tiến trình (Progressbar)
Giới thiệu: Thanh tiến trình nằm trong thư viện
thường được sử dụng để hiển thị một cách trực quan tiến trình một công việc, giúp cho người dùng thấy được trực quan công việc đã thực hiện được bao nhiêu %
Trang 6Hình 4.9 – Giao diện chương trình khi chạy
Yêu cầu: Copy nội dung từ file nguồn và lưu sang file đích Trong quá trình copy có
hiển thị tiến trình copy và % dung lượng đã copy được bằng Pgrogressbar
Bài 10: Sử dụng điều khiển ImageCombo box
một phiên bản của điều khiển ComboBox chuẩn nhưng có thêm khả năng hiển thị ảnh (biểu tượng) với từng mục trong danh sách Ngoài ra, ImageCombo ưu việt hơn ComboBox ở chỗ, ComboBox thì chỉ có thuộc tính List để lưu trữ các mục dữ liệu trong khi đó
Hình 4.10 – Giao diện khi chạy chương trình
Yêu cầu:
• Nạp một số mục vào ImageCombo có kèm thêm biểu tượng
• Khi người dùng click nút "Gửi thông báo" thì gửi thông báo trong hộp Text đến máy tính đã được chọn trong ImageCombo sử dụng dịch vụ Net Send của hệ điều hành Windows 2K, XP
Bài 11 : Sử dụng điều khiển Listview
sử dụng để hiển thị một danh sách các mục dữ liệu, trong đó mỗi mục lại có nhiều thuộc tính đi cùng (ví dụ mỗi mục thông tin về sinh viên có thể gồm họ tên, ngày sinh, quê quán ) Điều khiển ListView hỗ trợ 4 cách hiển thị khác nhau là Icon, SmallIcon, List và Report Bài tập sau đây sẽ hướng dẫn bạn cách sử dụng điều khiển này với các thao tác "Chèn thêm" và "đọc" giá trị của các mục Ngoài ra, còn giới thiệu một
số thuộc tính hay dùng của điều khiển ListView này
Trang 7Hình 4.11 – Giao diện và kết quả chạy chương trình mẫu
Yêu cầu:
• Thiết kế giao diện như hình 11 (Tên các điều khiển được đặt ở bên cạnh)
• Cho phép thêm một hàng (mục) mới vào Listview khi click nút "Thêm bản ghi"
• Hiển thị ra màn hình giá trị của nhiều mục được chọn khi click nút "Đọc các
Debug.Print Mỗi hàng trên một dòng, mỗi trường cách nhau 1 dấu TAB
• Đọc và hiển thị giá trị của hàng đang được chọn bằng hàm MsgBox khi click nút "Đọc hàng hiện tại"
• Cho người dùng chọn 1 trong 4 chế độ hiển thị
Bài 12: Sử dụng điều khiển TreeView
sử dụng để trình bày dữ liệu dưới dạng phân cấp (Hình cây)
Bài tập sau đây minh hoạ các thao tác chèn (Add), Xoá (Remove), Duyệt (đọc giá trị) các nút trong cây và xử lý sự kiện click chuột khi click lên 1 nút của cây
Yêu cầu:
• Xây dựng giao diện như hình 12 (có thể có biểu tượng hoặc không)
• Thực hiện các chức năng khi người dùng click vào các nút tương ứng Việc đọc giá trị của mỗi nút bao gồm giá trị của trường "Key" và trường "Text"
• Khi người dùng click vào một nút trên cây thì hiển thị giá trị của trường "Key"
và trường "Text" của nút đó trong một thanh trạng thái (staThongTinThem)
Trang 8Hình 4.12 – Giao diện khi chạy chương trình mẫu & đặt tên các điều khiển Bài 13: Sử dụng DateTimePicker để nhập trực quan ngày/tháng/năm
Giới thiệu
Hình 4.13 – Giao diện chương trình khi chạy và tên của các điều khiển
Bài 14: Sử dụng điều khiển Window Media Player, viết chương trình chơi nhạc
Giới thiệu: WMP là một điều khiển cho phép lập trình để xây dựng các ứng dụng đa
phương tiện (Chơi các file nhạc hình, nhạc tiếng)
Hình 4.14 – Giai diện của form : frm4_14
Trang 9Hình 4.15 – Giao diện chương trình của form: frm4_14_Setting
B- HƯỚNG DẪN - GIẢI MẪU
Bài 1
a Hướng dẫn: Tên các thuộc tính và phương thức của điều khiển này bản thân nó
đã nói lên chức năng của chúng Do vậy chúng ta có thể tra cứu về điều khiển Calendar trong bộ MSDN (Cách tra cứu nhạn: Trong khi lập trình, click vào điều khiển Calendar và nhấn phím F1)
b Chương trình mẫu:
Form1.frm
Option Explicit
'/// Chuyển sang tháng tiếp theo
Private Sub cmdNextMonth_Click()
Calendar1.NextMonth
End Sub
' -
/// Chuyển sang năm tiếp theo
Private Sub cmdNextYear_Click()
Calendar1.NextYear
End Sub
' -
'//// Chuyển sang tháng trước tháng hiện tại
Private Sub cmdPrevMonth_Click()
Calendar1.PreviousMonth
End Sub
' -
//// Chuyển sang năm trước năm hiện tại
Private Sub cmdPrevYear_Click()
Calendar1.PreviousYear
End Sub
' -
'/// Đặt lại ngày tháng năm bằng với ngày tháng năm vừa chọn (ví dụ 15/1/2006)
Private Sub cmdSetdate_Click()
Date = Calendar1.Value
End Sub
' -
Trang 10'/// Hiển thị ngày tháng hiện hành trong máy tính
Private Sub cmdToday_Click()
a Hướng dẫn: Điều khiển COM có thể được sử dụng để truyền thông (Giao tiếp) với
bất kỳ thiết bị nào được nối và tương thích với cổng này Việt thiết lập các thông số kết nối tương đối đơn giản, chỉ cần đặt số hiệu cổng (Com 1, 2, 3…) sau đó mở kết nối bằng cách đặt thuộc tính PortOpen = True Riêng đối với một số trường hợp đặc biệt thì cần đặt lại một số thông số khác
Khi làm việc, điều khiển Com này có 2 cách để lấy dữ liệu do các thiết bị khác gửi đến Cổng Com, cách thứ nhất là luôn luôn thăm dò (Polling) cổng và nhận dữ liệu về; cách thứ 2 là khi dữ liệu được gửi đến thì sự kiện OnComm xuất hiện và ta lấy
dữ liệu về thông qua thuộc tính Input Chương trình mẫu dưới đây sử dụng cách nhận dữ liệu thứ 2 và thực hiện giao tiếp với Modem Có thể tham khảo thêm trong MSDN
b Chương trình mẫu (Giao tiếp với Modem):
Form1.frm
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'/// Thực hiện mở cổng COM khi người dùng click nút Open
'/// -Private Sub cmdOpen_Click()
On Error GoTo err '/// Sử dụng cơ chế bắt lỗi
comModem.CommPort = Val(cboPort.Text) '/// đặt cổng để giao tiếp
comModem.PortOpen = True '/// mở cổng
cmdClose.Enabled = True '/// đặt trạng thái cho các nút
cmdOutput.Enabled = True '/// … (Có thể bỏ qua)
'/// -Private Sub cmdClose_Click()
On Error GoTo err
comModem.PortOpen = False
cmdOutput.Enabled = False
cmdClose.Enabled = False
Trang 11Private Sub cmdOutput_Click()
On Error GoTo err
Dim Buffer As String
comModem.Output = cboCommand.Text & Chr$(13)
'/// Sự kiện này được kích hoạt mỗi khi có dữ liệu gửi đến cổng COM
Private Sub comModem_OnComm()
Sleep 200 '///chờ 200 ms (Cần phải có vì Modem thường bị trễ)
Dim Buffer As String
'/// -Private Sub Form_Load()
'/// Bạn cần xem thiết bị nối với cổng Com có số hiệu là Com mấy và đặt cho phù hợp
cboPort.Text = "1" '/// Giả sử là cổng Com1
'/// Thêm một số lệnh cơ bản về Modem (Có thể tham khảo tập lệnh của Modem)
cboCommand.Text = "AT" '/// Lệnh kiểm tra modem
cboCommand.AddItem "AT"
cboCommand.AddItem "AT VCID = 1"
cboCommand.AddItem "AT# CID"
a Hướng dẫn: Sử dụng thuộc tính Row, Col để chuyển đến ô cần tham chiếu, ví dụ
cần chuyển đến ô có chỉ số hàng là 10, cột là 20 thì chỉ cần đặt Row = 10, Col = 20 Muốn lấy hoặc thay đổi giá trị của một ô ở hàng i, cột j thì viết theo cú pháp: TextMaTrix(i,j)
b Chương trình mẫu
Form1.frm
Option Explicit
Dim SL_BanGhi As Integer '/// Biến lưu số lượng bản ghi đã thêm vào
'/// Khi người dùng click vào ô nào thì biến Row và Col sẽ lưu chỉ số hàng và cột của ô đó
'/// Hàm Round(X,N) trả về giá trị làm tròn số X đến n chữ số sau dấu chấm
Private Sub cmdCapnhat_Click()
Dim DongHienTai As Integer
DongHienTai = flxDanhSach.Row '/// Lấy dòng hiện tại đang được chọn
Trang 12'/// Ghi danh sách nhập vào FlexGrid ra một file văn bản Mỗi bản ghi trên một dòng
Private Sub cmdLuu_Click()
Dim F As Long, i As Integer, S As String
F = FreeFile '/// xin một thẻ file còn trống
Open "c:\FlexGrid.txt" For Output As #F '/// mở để ghi (output = ghi)
For i = 1 To SL_BanGhi
With flxDanhSach
S= TextMatrix(i, 0) & vbTab & TextMatrix(i, 1) & vbTab & TextMatrix(i, 2) S= S & TextMatrix(i, 3) & vbTab & TextMatrix(i, 4) & TextMatrix(i, 5) Print #F, S '/// hàm Print để ghi giá trị S vào file F
'/// Thêm một bản ghi mới vào FlexGrid
Private Sub cmdThem_Click()
SL_BanGhi = SL_BanGhi + 1 '/// tăng số lượng bản ghi mỗi khi thêm
'//// Xin thêm dòng mới nếu FlexGrid bị đầy
If flxDanhSach.Rows = SL_BanGhi Then flxDanhSach.Rows = SL_BanGhi + 1
'/// -Private Sub cmdXoa_Click()
On Error Resume Next
flxDanhSach.RemoveItem flxDanhSach.Row '/// Xoá dòng hiện tại (Row)
SL_BanGhi = SL_BanGhi - 1
Trang 13
If err Then MsgBox err.Description '/// Hiển thị thông báo khi có lỗi xảy ra
End Sub
'/// Hiển thị giá trị của dòng hiện tại trong FlexGrid mỗi khi người dùng Click lên dòng đó
'/// -Private Sub flxDanhSach_Click()
Dim DongHienTai As Integer
'/// -Private Sub Form_Load()
.AllowUserResizing = flexResizeBoth '/// Cho phép kéo giãn hàng / cột
TextMatrix(0, 0) = "Số TT" '/// Đặt tiêu đề cho các cột
tính nào đó của đối tượng tham chiếu bởi getAttribute
Trang 14• Để biết rõ hơn về các đối tượng trên trang Web, cần nắm rõ mô hình DOM
Private Sub Form_Load()
webMain.Navigate "about:blank" '/// Mở một trang web trắng - Blank
cmdGhiGiaTri.Enabled = False '/// tạm thời cấm nút này
cmdDocGiaTri.Enabled = False
End Sub
'///Phương thức getElementById ("HopBox") sẽ tham chiếu đến đối tượng có tên là "HopBox" '/// Phương thức getAttribute("value") sẽ đọc giá trị của thuộc tính "value" của đối tượng đó
'/// -Private Sub cmdDocGiaTri_Click()
MsgBox Doc.getElementById("HopBox").getAttribute("value")
End Sub
'/// Phương thức setAttribute("value", S) sẽ gán giá trị S vào thuộc tính có tên là "value"
'/// -Private Sub cmdGhiGiatri_Click()
'/// -Private Sub cmdMo_Click()
webMain.Navigate txtURL.Text
End Sub
'/// Toàn bộ nội dung của trang Web được lưu trong thuộc tính innerHTML
'/// -'/// Do vậy để thêm nội dung vào trang Web thì ta chỉ việc ghép thêm vào thuộc tính này
Private Sub cmdTaoNut_Click()
Doc.body.innerHTML=Doc.body.innerHTML &"<input Name='HopBox' value='DHSPKTHY'>"
Doc.body.innerHTML=Doc.body.innerHTML &"<input type=Button value='Click here'>"
'/// -'/// của trang Web, hãy vào Internet để biết rõ về mô hình đối tượng tài liệu – DOM
Private Sub cmdThemHello_Click()
Doc.body.innerHTML = Doc.body.innerHTML & "<h2 style = 'color:blue'>Hello </h2>"
End Sub
'/// Khi trang web mở xong một trang thì sự kiện này xuất hiện Khi đó ta mới cho
'/// -'/// biến đối tượng Doc "trỏ" đến đối tượng Document này (Phải sử dụng câu lệnh Set)
Private Sub webMain_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Set Doc = webMain.Document
End Sub
Trang 15c Ghi chú:
• Đây là vấn đề cực kỳ quan trọng khi chúng ta muốn thao tác (đọc/ ghi) đến nội dung của một trang Web thông qua môi trường VB
• Hiểu rõ bản chất của mô hình đối tượng tài liệu (DOM) trong trang web giúp ta
có thể xây dựng được rất nhiều ứng dụng, ví dụ : Có thể xây dựng các chương trình hỗ trợ download hàng loạt như TeleportPro, WebZip, Chat…
• Bạn đọc cũng có thể tham khảo sách về HTML, DHTML & JavaScript tại Trung tâm Aptech để biết rõ hơn về mô hình DOM, về innerHTML …
Bài 5
a Hướng dẫn: Internet control có thể lấy dữ liệu từ máy chủ về thông qua 2 giao
thức là HTTP và FTP Phương thức OpenURL là cách đơn giản để lấy dữ liệu về,
đồng thời có thể lưu ngay vào file Phương thức này cũng được gọi là phương thức hoạt động đồng bộ (synchronous), có nghĩa là việc lấy dữ liệu về phải được hoàn tất thì các lệnh tiếp sau mới được thực hiện Cũng có thể nhận dữ liệu bằng phương thức khác như Execute, nhưng phương thức Execute lại hoạt động ở chế độ không đồng bộ (Asynchronous), tức là câu lệnh tiếp theo lệnh này sẽ được thực hiện không phụ thuộc vào việc dữ liệu đã lấy về hay chưa (Thường sử dụng trong ứng dụng phức tạp) Trong trường hợp này, xin sử dụng phương thức OpenURL để lấy dữ liệu
về Cú pháp của phương thức này như sau:
OpenURL url [, <Kiểu dữ liệu lấy về>] Trong đó, url là địa chỉ của trang Web (ví
dụ http:///www.myweb.com/index.htm hay ftp://home.com/default.html), Còn kiểu dữ
liệu lấy về cho biết là dữ liệu lấy về xem như một mảng xâu (hằng icString) hay một mảng byte (hằng icByteArray) Mặc định xem như một mảng xâu
b Chương trình mẫu
Form1.frm
Option Explicit
'/// Các hàm API nên copy từ API Text Viewer
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd
As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As
String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'/// Thực hiện download trang web khi click nút Download
Private Sub cmdDownload_Click()
Dim bData() As Byte '/// Mảng Byte chứa dữ liệu Download về
Open "c:\Tam001.htm" For Binary Access Write As #F
Put #F, , bData() '/// ghi vào file
Close #F '/// Đóng file
If MsgBox("Đã· lưu ra đĩa Bạn có muốn mở không ?", vbYesNo) = vbYes Then
ShellExecute Me.hWnd, "open", "c:\Tam001.htm", vbNullString, "c:\", 1
End If
End Sub
Trang 16• Phương thức Execute cho phép ta thực hiện rất nhiều lệnh FTP chuẩn như
LS, DIR, CDUP, CD, PUT, GET, SEND v.v…do vậy có thể dễ dàng viết các ứng dụng FTP Client (như CuteFTP chẳng hạn)
• Điểu khiển này cũng có thể sử dụng rất tốt vào việc gửi (Upload) một file lên Server thông qua giao thức FTP Thực tế có thể được sử dụng để chuyển file lên các máy Server cục bộ
• Các ví dụ về phương thức Execute, OpenURL, GetChunk… của điều khiển này rất nhiều và rất hay, được giới thiệu rất kỹ trong MSDN
Bài 6
a Hướng dẫn: Chỉ cần sử dụng 2 thuộc tính cơ bản là FileName và Command Để
biết rõ hơn, có thể tham khảo thêm trong MSDN
b Chương trình mẫu
Form1.frm
Option Explicit
Private Sub cmdOpenFile_Click()
'/// Chỉ hiển thị các file có đuôi wav, avi và *.*
dlgOpenFile.Filter = "Cac file Wav va AVI (wav,avi)|*.wav;*.avi| Tat ca |*.*|"
'/// -Private Sub Form_Load()
'/// Đặt một số thuộc tính cho điều khiển (Xin tham khảo ý nghĩa trong MSDN)
'/// -Private Sub Form_Unload(Cancel As Integer)
mmcPlayer.Command = "Close" '/// Giải phóng tài nguyên trước khi thoát