Hiển thị tiếng Việt Unicode trong VB6 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 Forms
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 As Integer
Dim j As Integer
For j = 1 To 2
For i = 2 To Len(chuoi)
Select Case Mid(chuoi, i, 1)
Case "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
If Mid(chuoi, i - 1, 1) = ChrW$(&HE2) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA5) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&HC2) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA4) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H103) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EAF) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H102) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EAE) & 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
If Mid(chuoi, i - 1, 1) = ChrW$(&HEA) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EBF) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&HCA) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EBE) & 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
If Mid(chuoi, i - 1, 1) = ChrW$(&HF4) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ED1) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&HDA) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ED0) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H1A1) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EDB) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H1A0) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EDA) & 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
If Mid(chuoi, i - 1, 1) = ChrW$(&H1B0) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EE9) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H1AF) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EE8) & 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
Case "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
If Mid(chuoi, i - 1, 1) = ChrW$(&HE2) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA7) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&HC2) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA6) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H103) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EB1) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H102) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EB0) & 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
If Mid(chuoi, i - 1, 1) = ChrW$(&HEA) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EC1) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&HCA) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EC0) & 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
If Mid(chuoi, i - 1, 1) = ChrW$(&HF4) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ED3) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&HDA) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1ED2) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H1A1) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EDD) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H1A0) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EDC) & 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
If Mid(chuoi, i - 1, 1) = ChrW$(&H1B0) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EEB) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H1AF) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EEA) & 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
Case "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
If Mid(chuoi, i - 1, 1) = ChrW$(&HE2) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA9) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&HC2) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EA8) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H103) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EB3) & Right(chuoi, Len(chuoi) - i)
End If
If Mid(chuoi, i - 1, 1) = ChrW$(&H102) Then
chuoi = Left(chuoi, i - 2) & ChrW$(&H1EB2) & Right(chuoi, Len(chuoi) - i)
End If
'e