1. Trang chủ
  2. » Công Nghệ Thông Tin

BÀI TẬP LẬP TRÌNH HƯỚNG SỰ KIỆN - CHƯƠNG 2

42 658 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 1,1 MB

Nội dung

SỬ DỤNG CÁC ĐIỀU KHIỂN CƠ BẢN 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 các điều khiển cơ bản của VB Kết hợp sử dụng nhiều điều khiển cơ bản trong chương trình Vận dụng các điều khiển để viết được một số chương trình tiện ích.

Trang 1

Ch−¬ng ii

Sö dông c¸c ®iÒu khiÓn c¬ b¶n

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 các điều khiển cơ bản của VB

Kết hợp sử dụng nhiều điều khiển cơ bản trong chương trình

Vận dụng các điều khiển để viết được một số chương trình tiện ích

A - ĐỀ BÀI TẬP

Bài 1: Viết chương trình giải phương trình bậc 2 Hệ số a, b, c nhập từ các

TextBox Kết quả nghiệm được hiển thị trên 2 nhãn, hoặc thông báo là vô nghiệm bằng hàm MsgBox Giao diện có dạng như sau:

Hình 2.1 – Giao diện chương trình Bài 2: Một form nhập (ví dụ: hàng hoá, E-Mail, Web Hosting…) thường có rất nhiều

textbox, combobox và mỗi khi thêm một bản ghi mới thì đều cần xoá trắng nội dung trong các textbox, combobox này Hãy tạo một form như Hình 2 và viết lệnh cho nút

Xoá thực hiện xoá trắng các điều khiển này một cách nhanh nhất !

Hình 2.2 – Form nhập hàng hoá

Trang 2

Bài 3: Viết chương trình nhập họ tên sinh viên của một lớp vào một ListBox, trong

qua trình nhập có thể cho phép người dùng xoá một số mục của Listbox Giao diện

chương trình như hình 3 Lưu ý: Mục thêm sau được đặt lên đầu danh sách

Hình 2.3 – Thêm và xoá một mục khỏi Listbox Bài 4: Viết chương trình như bài số 3, nhưng khi “Xoá khỏi danh sách” thì có thể

thực hiện chọn nhiều mục với các Checkbox Giao diện giống như Hình 4

Hình 2.4 - Chọn các mục với Style là “Checkbox”

Bài 5: Minh hoạ sử dụng điều khiển Listbox và thuộc tính đa lựa chọn

Xây dựng giao diện chương trình như hình 5

Hình 2.5 - Chuyển các mục từ một Listbox sang một Listbox khác

Trang 3

• Trong cả hai Listbox, đều cho phép người dùng lựa chọn nhiều mục đồng thời

• Click vào nút Thoát thì kết thúc chương trình

• Yêu cầu thêm: Sau khi đã chèn các mục đang chọn bên Listbox trái sang List

bên phải thì cũng đồng thời xoá các mục đang chọn đó khỏi Listbox bên trái

Bài 6: Minh hoạ sử dụng điều khiển Listbox và hàm tách xâu Split

Hình 2.6 - Đảo tên lên trước họ đệm

Yêu cầu:

• Nạp sẵn một số mục vào trong Listbox phía trái trong thủ tục Form_load

họ trong listbox phía trái và chèn vào Listbox phía phải

Bài 7: Tách địa chỉ E-Mail sử dụng hàm Split

Các trang gửi E-Mail như Yahoo hay phần mềm Outlook Express đều cho phép người dùng có thể gửi tới nhiều địa chỉ khác nhau và mỗi địa chỉ này cách nhau bởi dấu chấm phảy

Hãy xây dựng một Form như hình 7

Yêu cầu: Khi người dùng click vào nút "Thực hiện tách" thì các địa chỉ trong hộp

Textbox sẽ được tách ra, sau đó chèn vào Listbox phía bên phải Ví dụ: nếu nhập vào là abc@hn.vnn;xyz@yahoo.com thì tách thành 2 mục là abc@hn.vnn.vn và xyz@yahoo.com

Trang 4

Hình 2.7– Tách xâu sử dụng hàm Split Bài 8: Sắp xếp danh sách theo TÊN, áp dụng bài tập số 7 (Hàm Split)

Hình 2.8 - Sắp xếp danh sách theo TÊN

Yêu cầu:

• Nạp sẵn (sử dụng phương thức AddItem) một số mục vào Listbox phía trái

• Copy các mục trong Listbox phía trái sang Listbox phía phải

• Khi người dùng Click chọn nút “Sắp xếp theo tên” thì sắp xếp danh sách

sinh viên trong Listbox phía phải theo thứ tự ưu tiên Tên, sau đó mới đến họ

Bài 9: Minh hoạ sử dụng điều khiển ComboBox

Yêu cầu sau:

• Khi người dùng nhập một địa chỉ Web (URL) và nhấn Enter thì thực hiện thêm mục này vào trong ComboBox

• Mở trang Web với địa chỉ tương ứng mà người dùng vừa nhập vào

• Mở trang Web tương ứng khi người dùng click chọn trong hộp ComboBox

Trang 5

Hình 2.9 – Thao tác với ComboBox và WebBrowser để duyệt Web

Bài 10: Minh hoạ thao tác với ComboBox và việc lấy tên font của hệ thống

Yêu cầu:

• Nạp tất cả các Font chữ hiện có trong máy tính vào hộp Combo

• Đặt font chữ cho textbox bằng với Font chữ khi người dùng chọn trong hộp Combox Trong đó, hộp Combox hiển thị ở chế độ (style) là : Dropdown list

• Đặt cỡ chữ cho textbox bằng với cỡ chữ trong hộp Combox cỡ chữ

• Hộp Textbox hiển thị ở chế độ MultiLine (Nhiều dòng)

Hình 2.10 - Kết hợp sử dụng nhiều hộp ComboBox

Trang 6

Bài 11: Minh hoạ sử dụng điều khiển Option button và sử dụng hàm

API-Exitwindow

Yêu cầu:

• Khi người dùng click chọn các mục Logoff, Restart, Shutdown và chọn mục

“Normal” thì thực hiện Logoff, Restart, shutdown ở chế độ “Normal” (Ở chế độ này thì khi Restart, Shutdown…nếu có một ứng dụng đang chạy–ví dụ Microsoft word-có dữ liệu chưa được lưu thì máy tính sẽ hỏi trước khi Restart)

• Khi người dùng click chọn các mục Logoff, Restart, Shutdown và chọn mục

“Bắt buộc” thì thực hiện Logoff, Restart, shutdown ở chế độ “Fore” (ở chế độ này thì máy tính thực hiện ngay và dữ liệu chưa lưu sẽ bị mất)

• Giá trị chọn mặc định là Restart-Normal

Hình 2.11 - Khởi động máy tính ở chế độ Normal (bình thường)

Bài 12 – Minh hoạ sử dụng nhãn (Label) để giả lập thanh tiêu đề của cửa sổ

Font chữ hiển thị trên các thanh tiêu đề của cửa sổ là font chữ hệ thống, thường không phải là font tiếng việt Do vậy khi chạy chương trình trên các máy tính khác nhau thì việc hiển thị có thể không còn đúng nữa Để giải quyết vấn đề này, có một giải pháp là ẩn thanh tiêu đề của cửa sổ và thay vào đó là một Label và Font chữ của Label sẽ được đặt là font chữ tiếng Việt nên việc hiển thị luôn đảm bảo giữa các

hệ thống khác nhau

Yêu cầu:

• Xây dựng một Form như hình 10, trong đó tiêu đề là một Label với font chữ là vnArialH, cỡ chữ là 12pt

• Khi người dùng di chuyển thanh tiêu đề thì form cũng di chuyển theo

• Khi người dùng click vào nút thì thoát khỏi ứng dụng

Hình 2.12 - Sử dụng Label thay cho thanh tiêu đề

Trang 7

Bài 13 – Minh hoạ sử dụng Label kết hợp với Frame và Timer

a Giao diện chương trình

Hình 2.13 - Cuộn văn bản với Label + Frame + Timer

b Yêu cầu:

• Dòng chữ trong Label sẽ cuộn từ dưới lên

thì dừng cuộn

• Khi nội dung đã cuộn hết thì đặt lại Label về vị trí cuộn ban đầu

Bài 14 : Yêu cầu như bài 13 nhưng tốc độ cuộn (Khoảng Interval của điều khiển

Timer) có thể thay đổi trực quan bằng thanh điều chỉnh tốc độ (Vscrollbar)

Hình 2.14 - Điều chỉnh tốc độ bằng thanh Vscroll

Bài 15 - Sử dụng Label, kết hợp với Line để giả lập nút nhấn (Command button)

Khi chuột di chuyển ở ngoài “nút” Khi chuột di chuyển bên trong “nút”

Hình 2.15 - Giả lập nút nhấn bằng điều khiển Label và Line

Yêu cầu: Tạo một nút nhấn “THOÁT” chỉ sử dụng Label và Line Để :

• Khi người dùng click vào nút này thì thoát khỏi chương trình

Trang 8

• Di chuyển chuột vào Label thì Font chữ đổi thành ĐẬM, màu chữ trắng-nền đen và đường thẳng (bên trái và trên chuyển thành màu ĐEN)

• Khi di chuyển ra khỏi Label (hay di chuyển chuột trong form) thì đặt lại về các thuộc tính ban đầu

Bài 16: Minh hoạ sử dụng điều khiển Timer tạo hiệu ứng chữ chạy

Hình 2.16 - Sử dụng Timer tạo hiệu ứng chữ chạy trên thanh Tiêu đề

Yêu cầu: Dòng chữ “Trường Đại học Sư phạm Kỹ thuật Hưng Yên – Khoa Công

nghệ thông tin” liên tục chạy trên thanh tiêu đề cho đến khi người dùng click nút

“Dừng” Tốc độ cuộn là 100 miligiây ! (Interval = 100)

Bài 17: Sử dụng Timer, viết chương trình “đồng hồ báo thức”

Xây dựng chương trình để chơi một file nhạc (WAV, MP3) tại một thời điểm đã định Trong đó, thời gian chỉ định (gồm giờ : phút) có thể thay đổi và tên file nhạc cũng có thể thay đổi

Hình 2.17 – Giao diện chương trình “Đồng hồ báo thức”

Bài 18: Sử dụng điều khiển Timer kết hợp với điều khiển Line vẽ đồng hồ Digital trên form (Đồng hồ này chỉ cần có một kim giây)

Hình 2.18 - Đồng hồ điện tử

Trang 9

Bài 19: Sử dụng điều khiển Timer để ghi nhận các phím nhấn – KeyLogger

a Giao diện

Hình 2.19 -Giao diện chương trình bắt phím từ các ứng dụng khác- KeyLogger

b Yêu cầu

• Ghi nhận phím nhấn ở bất kỳ ứng dụng nào trong hệ thống

• Khi người dùng click chọn nút “Kết thúc” thì lưu các phím nhấn đã ghi nhận được vào trong tệp văn bản C:\Keys.txt

Bài 20: Minh hoạ sử dụng các điều khiển thao tác Tệp, Thư mục và Ổ đĩa

a Giao diện chương trình:

Hình 2.20 – Giao diện chương trình và kết qủa khi click "Xem kích thước file"

b Yêu cầu:

• Mở file hiện hành (đang được chọn) khi người dùng click nút "Mở file này" hoặc Click đúp một file

• Xem kích thước file đang được chọn khi chọn nút “Xem kích thước file”

• Xoá file đang được chọn (cần hỏi người dùng xác nhận lại trước khi xoá)

• Thoát khỏi chương trình khi người dùng click nút "Thoát"

Trang 10

Bài 21: Minh hoạ khả năng kéo thả (Drag-Drop) file và thư mục

và thả vào nút "Xoá file này" thì thực hiện Xoá file đang được chọn

Bài 22: Thao tác với điều khiển FileListbox và khả năng đa lựa chọn

a Giao diện chương trình

Hình 2.22 - Chọn nhiều file trong FileListbox

b Yêu cầu:

• Cho phép chọn nhiều file trong điều khiển FileListbox

• Khi click vào nút thì thực hiện chèn đường dẫn và tên file của những file đang được chọn vào trong Listbox phía bên phải Sau đó hiển thị tổng số file

và tổng kích thước của các file có trong Listbox

Trang 11

Bài 23: Sử dụng điều khiển Image làm ảnh nền cho form

a Giao diện chương trình

Hình 2.23 - Đặt ảnh nền cho Form bằng điều khiển Image

b Yêu cầu:

• Khi người dùng Click nút “Chọn file ảnh cho Form” thì mở hộp thoại chọn file

và nạp file đó vào điều khiển Image

• Khi người dùng Click nút “Huỷ bỏ ảnh nền” thì huỷ ảnh trong điều khiển Image

Bài 24:Sử dụng điều khiển PictureBox tạo Icon tại khay hệ thống (SystemTray)

a Giao diện

Hình 2.24 - (Hiện menu khi click chuột phải)

b Yêu cầu

• Đặt một biểu tượng (bất kỳ) dưới khay hệ thống như hình 24

• Khi người dùng click chuột phải lên biểu tượng trên khay hệ thống thì hiển thị (Popup) menu như hình 24

• Khi người dùng click chọn mục "About" thì hiển thị một thông báo

• Khi người dùng click chọn mục Exit thì thoát khỏi chương trình

• Form phải được ẩn (Hide)

• Yêu cầu thêm: Có thể tạo biểu tượng nhấp nháy (thay đổi liên tục biểu tượng)

ở dưới khay hệ thống (HD: Dùng một timer)

Trang 12

B- HƯỚNG DẪN - GIẢI MẪU

Bài 1

a Thiết kế giao diện và thiết lập các thuộc tính cho các điều khiển (Lưu ý: Từ nay về

sau, tên của các điều khiển được viết ở ngay cạnh điều khiển đó Riêng với điều khiển Label nào mà không thực sự cần thiết thì tên có thể để mặc định - bỏ qua)

Hình 2.25 - Đặt tên cho các điều khiển trên Form

b Hướng dẫn

• Để lấy giá trị người dùng nhập trong Textbox, có thể truy cập thuộc tính Text,

ví dụ: txtA.Text để lấy giá trị người dùng đã nhập trong hộp Textbox hệ số a

• Có thể sử dụng cấu trúc If…Then nhưng với VB thì cấu trúc Select Case là

phù hợp hơn cả

c Chương trình mẫu:

Private Sub cmdThucHien_Click()

Dim Delta As Single

lblX1.Caption = "X1 = " & (-txtB.Text / 2 / txtA.Text)

lblX2.Caption = "X2 = " & (-txtB.Text / 2 / txtA.Text)

• Trong cấu trúc Select Case, nếu muốn thực hiện một công việc ứng với biểu

thức cần kiểm tra nằm trong một miền giá trị thì có thể sử dụng từ khoá "IS"

• Cấu trúc Select Case <ĐK> không chỉ làm việc với biểu thức <ĐK> ở dạng số

mà còn cả dạng xâu ký tự (nhiều ngôn ngữ khác không có khả năng này)

Trang 13

• Giá trị trong textbox luôn được VB coi là một XÂU Tuy nhiên, nếu các giá trị trong Textbox tham gia vào các phép tính +,-, *, /, với một số khác thì xâu tự

động được chuyển thành số theo ngầm định Do vậy, chúng ta không nhất

thiết phải chuyển đổi chúng tường minh bằng hàm Val Trong trường hợp,

nếu phép toán là + (Cộng) mà 2 toán hạng tham gia đều là các Textbox thì bắt buộc phải chuyển đổi chúng về số bằng hàm Val trước khi cộng

Bài 2:

a Giao diện và thiết lập tham số cho các điều khiển: Tên của các điều khiển được

đặt như trong hình 26 Trong đó có một điều khiển chuyên dùng cho nhập ngày tháng rất thuận tiện là Date Time Picker (nằm trong thư viện : Microsoft Windows Common Control-2 6.0)

Hình 2.26 – Đặt tên cho các điều khiển trên Form

b Hướng dẫn

Trong VB, tất cả các điều khiển đều nằm trong một tập hợp (Collection) là Controls

Ta có thể duyệt tất cả các điều khiển trong tập hợp này bằng cấu trúc lặp

"For….Each…in Controls", tại mỗi vòng lặp ta có thể kiểm tra xem điều khiển hiện tại

thuộc loại nào ? Nếu là điều khiển Textbox hay ComboBox thì đặt thuộc tính Text bằng rỗng (tức là xoá)

c Chương trình nguồn

Viết lệnh cho sự kiện Click của nút nhấn cmdXoa

Private Sub cmdXoa_Click()

Dim obj As Object

For Each obj In Me.Controls

Trang 14

If (TypeOf obj Is TextBox) Or (TypeOf obj Is ComboBox) Then

• Để kiểm tra xem một đối tượng X nào đó thuộc loại điều khiển nào, có thể

dùng từ khoá TypeOf X Is…TextBox, ListBox, ComboBox, CheckBox, Frame,

Label, Form, adodc,…

• Khi biến chạy X đang trỏ đến một loại điều khiển nào đó thì có thể sử dụng tất

cả các thuộc tính, phương thức của đối tượng thông qua biến chạy X Ví dụ

nếu TypeOf X is ListBox là đúng (True) thì ta có thể truy cập đến thuộc tính

Text và name của Listbox bằng cách viết X.Text, X.Name hay có thể truy cập đến phương thức AddItem bằng cách viết X.AddItem …

• Việc duyệt các phần tử trong một tập hợp rất hay được sử dụng và hữu ích,

do vậy chúng ta cần sử dụng tốt cấu trúc duyệt này

• Việc xoá trắng các Textbox, ComboBox theo cách trên không phục thuộc vào

số lượng và tên của các phần tử trong Form, do vậy không phải sửa đổi chương trình nguồn khi thay đổi các phần tử trên form

Bài 3

a Giao diện và thiết lập thông số cho các điều khiển

Hình 2.27 - Đặt tên cho các điều khiển

b Hướng dẫn: Sử dụng phương thức AddItem để thêm và phương thức RemoveItem để loại bỏ một mục khỏi danh sách Ngoài ra còn có thể dùng thuộc

tính ListIndex để lấy về chỉ số của phần tử đang được chọn

c Chương trình nguồn

Form1.frm

Private Sub cmdThem_Click()

lstDanhSach.AddItem txtHoTen.Text, 0 '/// 0 = Thªm vµo ®Çu danh s¸ch

Trang 15

• Thuộc tính Text cho ta giá trị của phần tử hiện hành (đang được chọn)

• Thuộc tính List(i) sẽ cho ta giá trị của phần tử có chỉ số là i

• Mặc định phương thức AddItem của điều khiển Listbox thêm mục mới vào cuối danh sách, do vậy nếu muốn thêm vào đầu danh sách thì cần truyền giá trị 0 (vị trí đầu tiên) vào phương thức AddItem

• Phương thức RemoveItem dùng để loại bỏ 1 mục khỏi danh sách Phần tử hiện đang được chọn có chỉ số là ListIndex

• Khi danh sách rỗng thì thuộc tính ListCount = 0 và ListIndex = - 1

• Có thể chèn một số mục vào trong Listbox hay ComboBox trong lúc thiết kế

bằng cách nhập vào thuộc tính "List" (Xem hình 23) Tại đây nếu muốn nhiều

mục thì sau mỗi lần nhập, nhấn tổ hợp phím Ctrl+Enter:

Hình 2.28 - Nhập liệu cho Listbox trong lúc thiết kế (Nhấn Ctrl-Enter để xuống dòng)

Bài 4

a Thiết kế giao diện và thiết lập thông số cho các điều khiển trên Form

Hình 2.29 - Đặt tên và thuộc tính cho các điều khiển trên Form

Trang 16

b Hướng dẫn: Sử dụng thuộc tính Selected(i) để kiểm tra liệu mục chỉ số i có được

chọn (Check) hay không Nếu có thì gọi phương thức RemoveItem để xóa Lưu ý rằng, khi xoá đi thì số phần tử trong danh sách sẽ bị thay đổi, do vậy không nên sử

dụng vòng lặp For mà nên sử dụng vòng lặp Do While Đồng thời khi duyệt thì nên

duyệt từ cuối danh sách (từ phần tử có chỉ số lớn nhất là ListCount – 1)

c Chú ý: Với cấu trúc If…Then, nếu sau Then chỉ có một lệnh thì có thể viết câu

lệnh đó cùng dòng với lệnh If…Then mà không cần phải có lệnh kết thúc End If

Bài 5

a Giao diện và thiết lập thuộc tính cho các điều khiển trên Form

Hình 2.30 - Đặt thuộc tính cho các điều khiển

b Hướng dẫn: Sử dụng vòng lặp và kiểm tra từng mục xem có được chọn hay

không, nếu được chọn thì thêm vào danh sách lstNguoiNhan ở đây vì nội dung trong lstDanhSach không bị thay đổi nên có thể sử dụng bất kỳ cấu trúc lặp nào

Trang 17

• lstDanhSach.List(i) : lấy nội dung của mục i trong lstDanhSach

If lstNguoiNhan.ListIndex >= 0 Then…để đảm bảo chỉ xoá khi một mục được chọn

• Khi đặt thuộc tính MultiSelect là 2 – Extended thì người dùng có thể chọn nhiều mục liền hoặc rời nhau của ListBox bằng chuột và bàn phím

Bài 6

a Giao diện và đặt thuộc tính cho các điều khiển trên Form

Hình 2.31 – Giao diện và đặt tên cho điều khiển

b Hướng dẫn Có rất nhiều phương pháp để đưa phần tên lên trước họ đệm, tuy

nhiên trong bài này xin giới thiệu một cách khác thông qua hàm xử lý xâu ký tự

SPLIT Việc tách Tên lên trước của một xâu S có thể mô tả như ví dụ sau:

Mảng Xâu vào cần đảo tên

Trang 18

- Trước tiên xâu vào sẽ được phân tách và lấy từng từ bên trong nó nhờ hàm Split

- Tiếp theo là đảo phần tử cuối cùng trong mảng lên đầu danh sách

c Chương trình nguồn

Option Explicit

Function DaoTen(HoTen As String) As String

Dim i As Integer, KetQua As String

a Đặt thuộc tính cho các điều khiển trên form

Hình 2.32 – Giao diện và đặt tên cho các điều khiển

b Hướng dẫn

Khi một xâu chứa nhiều phần tử được cách nhau bởi một ký tự hay một xâu con khác, ta có thể dễ dàng tách chúng ra thành các phần tử riêng biệt nhờ hàm Split trong VB Cú pháp của hàm Split như sau: Split (Xâu cần tách S, Xâu phân cách các phần tử trong S) Kết quả trả về của hàm là một mảng Để lưu mảng này, ta cần sử dụng một biến kiểu Variant như trong chương trình mẫu sau đây

Trang 19

c.Chương trình mẫu

Option Explicit

'// Viết lệnh cho thủ tục sự kiện click chuột lên nút Tách

Private Sub cmdTach_Click()

Dim i As Integer, S As Variant

• Hàm Ubound(S) trả về số phần tử hiện có trong mảng S

• Trong thực tế cần phải xử lý thêm khi nhận các kết quả từ việc tách xâu S Chẳng hạn như có thể người dùng gõ dấu cách sau dấu chấm phảy hoặc có 2 dấu chấm phảy liền nhau v.v… thì khi đó cần phải cắt các dấu trắng bằng hàm TRIM trước, sau đó kiểm tra xem không rỗng thì mới nhận kết quả

Bài 8

a Giao diện và đặt tên cho các điều khiển trên form

Hình 2.33 – Giao diện chương trình và đặt tên cho các điều khiển

b Hướng dẫn

Theo mặc định, VB so sánh hai chuỗi ký tự từ trái qua phải - tức là sắp xếp Họ sau

đó mới đến tên- do vậy để sắp xếp theo thứ tự ưu tiên Tên trước thì cần phải cắt phần tên và ghép lên đầu Việc cắt tên có rất nhiều cách, nhưng ở đây ta hoàn toàn

có thể áp dụng hàm Split như trong các bài tập trước đây Để cho thuận tiện, ở đây

ta xây dựng một hàm DaoTen, có nhiệm vụ đảo phần "Tên" lên trước Họ

Trang 20

c Chương trình mẫu

Option Explicit

'/// Hàm này có chức năng cắt phần tên (ở cuối) đưa lên đầu (tên lên trước họ)

Function DaoTen(HoTen As String) As String

Dim S As Variant, i As Integer, KetQua As String

For i = 0 To UBound(S) – 1 '/// Ghép thêm phần "Họ" và "Đệm"

KetQua = KetQua & Chr(32) & S(i)

'///Thực hiện sắp xếp danh sách trong lstDSSV_SapXep khi người dùng click "Sắp xếp theo TÊN"

Private Sub cmdSapXep_Click()

Dim i As Integer, j As Integer, TG As String

• Giải thuật ở trên chỉ thực hiện sắp xếp đúng đối với Tiếng việt không dấu

Muốn việc sắp xếp ở trên đúng đắn cả với Tiếng việt có dấu thì cần mã hoá lại các ký tự có dấu thành các ký tự không dấu, sau khi sắp xếp xong thì lại giải

mã ngược lại Ví dụ: chữ à, á, ă, ả, ạ thì có thể mã hoá tương ứng thành: aa,

ab, ac, ad, ae, af Việc mã hoá hay giải mã thực chất là việc thay thế ký tự, do vậy ta có thể thực hiện hết sức đơn giản bằng hàm Replace trong VB

• Giải thuật này có thể áp dụng rất tốt trong việc sắp xếp Tiếng việt trong môi trường Word và đặc biệt là trong MS Excel

Trang 21

Bài 9

a Giao diện và đặt tên cho các điều khiển trên Form

Hình 2.34 – Giao diện và đặt tên cho các điều khiển

b Hướng dẫn

• Điều khiển Web Browser cho phép chúng ta có thể hiển thị các trang Web giống như trong Internet Explorer hay hiển thị nội dung của một thư mục, một

ổ đĩa giống như Window Explorer hay My Computer

• Điều khiển này nằm trong thư viện:

• Có thể sử dụng phương thức Navigate2 của điều khiển Microsoft Internet Control để mở một thư mục hay một trang Web

c Chương trình mẫu

Option Explicit

'///Nếu người dùng chọn địa chỉ trong danh sách thì mở trang đó

Private Sub cboDiaChi_Click()

webChinh.Navigate2 cboDiaChi.Text

End Sub

' -'/// Nếu người dùng nhập mới sau đó nhấn Enter thì cũng mở

Private Sub cboDiaChi_KeyUp(KeyCode As Integer, Shift As Integer)

• Mã ASCII của phím Enter là 13

• Điều khiển này có thể kết hợp với đối tượng "HTML Microsoft Object Library" (Vào trong Project References) để truy cập và thao tác trực tiếp đến các

thành phần bên trong một trang WEB bằng mã lệnh Visual Basic Có thể truy

cập trang Web http://www.w3schools.com để biết thêm về mô hình truy cập DOM – (Document Object Model)

Ngày đăng: 20/08/2013, 15:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w