Академический Документы
Профессиональный Документы
Культура Документы
Trong e-CHÍP số 151, anh Vũ Lương Bằng có hướng dẫn cách hiển thị tiếng Việt Unicode trong VB6. Nhưng theo cách ấy phải qua hai công đoạn, đó là phải tìm mã của từ cần hiển thị rồi c hép chúng làm tham số c ho hàm CharUnicode(). Trong số này, tôi xin mạo muội "chíp" một cách để hiển thị tiếng Việt Unicode dễ dàng hơn.
Trước hết, tôi cũng xây dựng một hàm tương tự như hàm CharUnicode và cũng thêm vào hộp công cụ của VB các điều khiển (control) của MS Form s 2.0 như hướng dẫn của anh Bằng. Nhưng tôi đặt tên hàm là Viethoa (Việt hóa) và tạo ra chức năng chuyển thành mã tiếng Việt Unicode đối với chuỗi được gõ vào theo cách như khi bạn gõ tiếng Việt với kiểu gõ VNI (đoạn mã 1). Ví dụ, khi bạn muốn hiển thị c ụm từ "Tiếng Việt", bạn chỉ cần viết đoạn mã như sau:
Private Sub Form_Load()
cmdTiengviet.Caption = Viethoa(“Tie61ng Vie65t”)
End Sub
Bạn có thể làm tương tự để dùng kiểu gõ khác mà bạn ưa thích. Chúc bạn thành công!
Đoạn mã 1
Function Viethoa(chuoi As String)
Dim i A s Integer
Dim j A s Integer
For j = 1 To 2
For i = 2 To Len(chuoi)
Select Case Mid(chuoi, i, 1)
Ca se "1"
'a
If Mid(chuoi, i - 1, 1) = "a" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HE1) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "A" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HC1) & Right(chuoi, Len(chuoi) - i)
End If
'e
If Mid(chuoi, i - 1, 1) = "e" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HE9) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "E" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HC9) & Right(chuoi, Len(chuoi) - i)
End If
'i
If Mid(chuoi, i - 1, 1) = "i" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HED) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "I" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HCD) & Right(chuoi, Len(chuoi) - i)
End If
'o
If Mid(chuoi, i - 1, 1) = "o" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HF3) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "O" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HD3) & Right(chuoi, Len(chuoi) - i)
End If
'u
If Mid(chuoi, i - 1, 1) = "u" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HFA) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "U" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HDA) & Right(chuoi, Len(chuoi) - i)
End If
'y
If Mid(chuoi, i - 1, 1) = "y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HFD) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "Y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HDD) & Right(chuoi, Len(chuoi) - i)
End If
Ca se "2"
'a
If Mid(chuoi, i - 1, 1) = "a" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HE0) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "A" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HC0) & Right(chuoi, Len(chuoi) - i)
End If
'e
If Mid(chuoi, i - 1, 1) = "e" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HE8) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "E" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HC8) & Right(chuoi, Len(chuoi) - i)
End If
'i
If Mid(chuoi, i - 1, 1) = "i" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HEC) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "I" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HCC) & Right(chuoi, Len(chuoi) - i)
End If
'o
If Mid(chuoi, i - 1, 1) = "o" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HF2) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "O" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HD2) & Right(chuoi, Len(chuoi) - i)
End If
'u
If Mid(chuoi, i - 1, 1) = "u" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HF9) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "U" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HD9) & Right(chuoi, Len(chuoi) - i)
End If
'y
If Mid(chuoi, i - 1, 1) = "y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EF3) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "Y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EF2) & Right(chuoi, Len(chuoi) - i)
End If
Ca se "3"
'a
If Mid(chuoi, i - 1, 1) = "a" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA3) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "A" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA2) & Right(chuoi, Len(chuoi) - i)
End If
'e
If Mid(chuoi, i - 1, 1) = "e" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EBB) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "E" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EBA) & Right(chuoi, Len(chuoi) - i)
End If
'i
If Mid(chuoi, i - 1, 1) = "i" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EC9) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "I" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EC8) & Right(chuoi, Len(chuoi) - i)
End If
'o
If Mid(chuoi, i - 1, 1) = "o" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ECF) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "O" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ECE) & Right(chuoi, Len(chuoi) - i)
End If
'u
If Mid(chuoi, i - 1, 1) = "u" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EE7) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "U" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EE6) & Right(chuoi, Len(chuoi) - i)
End If
'y
If Mid(chuoi, i - 1, 1) = "y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EF7) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "Y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EF6) & Right(chuoi, Len(chuoi) - i)
End If
Ca se "4"
'a
If Mid(chuoi, i - 1, 1) = "a" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HE3) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "A" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HC3) & Right(chuoi, Len(chuoi) - i)
End If
'e
If Mid(chuoi, i - 1, 1) = "e" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EBD) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "E" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EBC) & Right(chuoi, Len(chuoi) - i)
End If
'i
If Mid(chuoi, i - 1, 1) = "i" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H129) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "I" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H128) & Right(chuoi, Len(chuoi) - i)
End If
'o
If Mid(chuoi, i - 1, 1) = "o" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HF5) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "O" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HD5) & Right(chuoi, Len(chuoi) - i)
End If
'u
If Mid(chuoi, i - 1, 1) = "u" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H169) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "U" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H168) & Right(chuoi, Len(chuoi) - i)
End If
'y
If Mid(chuoi, i - 1, 1) = "y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EF9) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "Y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EF8) & Right(chuoi, Len(chuoi) - i)
End If
Ca se "5"
'a
If Mid(chuoi, i - 1, 1) = "a" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA1) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "A" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA0) & Right(chuoi, Len(chuoi) - i)
End If
'e
If Mid(chuoi, i - 1, 1) = "e" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EB9) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "E" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EB8) & Right(chuoi, Len(chuoi) - i)
End If
'i
If Mid(chuoi, i - 1, 1) = "i" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ECB) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "I" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ECA) & Right(chuoi, Len(chuoi) - i)
End If
'o
If Mid(chuoi, i - 1, 1) = "o" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ECD) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "O" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ECC) & Right(chuoi, Len(chuoi) - i)
End If
'u
If Mid(chuoi, i - 1, 1) = "u" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EE5) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "U" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EE4) & Right(chuoi, Len(chuoi) - i)
End If
'y
If Mid(chuoi, i - 1, 1) = "y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EF5) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "Y" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EF4) & Right(chuoi, Len(chuoi) - i)
End If
Ca se "6"
'a
If Mid(chuoi, i - 1, 1) = "a" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HE2) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "A" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HC2) & Right(chuoi, Len(chuoi) - i)
End If
'e
If Mid(chuoi, i - 1, 1) = "e" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HEA) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "E" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HCA) & Right(chuoi, Len(chuoi) - i)
End If
'o
If Mid(chuoi, i - 1, 1) = "o" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HF4) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "O" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&HD4) & Right(chuoi, Len(chuoi) - i)
End If
Ca se "7"
'o
If Mid(chuoi, i - 1, 1) = "o" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1A1) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "O" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1A0) & Right(chuoi, Len(chuoi) - i)
End If
'u
If Mid(chuoi, i - 1, 1) = "u" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1B0) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "U" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1AF) & Right(chuoi, Len(chuoi) - i)
End If
Ca se "8"
'a
If Mid(chuoi, i - 1, 1) = "a" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H103) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "A" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H102) & Right(chuoi, Len(chuoi) - i)
End If
Ca se "9"
'd
If Mid(chuoi, i - 1, 1) = "d" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H111) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = "D" Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H110) & Right(chuoi, Len(chuoi) - i)
End If
End Select
Next i
Next j
Viethoa = chuoi
End Function