Đổi TCVN3 sang Unicode

Các thủ thuật liên quan đến xử lý chuỗi và thời gian
Post Reply
User avatar
truongphu
VIP
VIP
Posts: 4780
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 525 times

Đổi TCVN3 sang Unicode

Post by truongphu »

Thủ thuật: Đổi TCVN3 sang Unicode
Tác giả: truongphu
Mô tả: Trên bài viết của TrungDung1977, chỉ việc thay các trị của ABC là có hàm ABC2UNI.

Code: Select all

 Option Explicit Public Function ABC2Uni(str$) As StringDim i&, arrUNI() As String, sUni$, ABC$, UNI$ABC = "¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËÐÌÎÏѪÕÒÓÔÖÝ×ØÜÞãßáâä«èåæçé¬íêëìîóïñòô­øõö÷ùýúûüþ®¸µ¶·¹¡¾»¼½Æ¢ÊÇÈÉËÐÌÎÏÑ£ÕÒÓÔÖÝ×ØÜÞãßáâä¤èåæçé¥íêëìîóïñòô¦øõö÷ùýúûüþ§"UNI = "225,224,7843,227,7841,259,7855,7857,7859,7861,7863,226,7845,7847,7849,7851,7853,233,232,7867,7869,7865,234,7871,7873,7875,7877,7879,237,236,7881,297,7883,243,242,7887,245,7885,244,7889,7891,7893,7895,7897,417,7899,7901,7903,7905,7907,250,249,7911,361,7909,432,7913,7915,7917,7919,7921,253,7923,7927,7929,7925,273,225,224,7843,227,7841,258,7855,7857,7859,7861,7863,194,7845,7847,7849,7851,7853,233,232,7867,7869,7865,202,7871,7873,7875,7877,7879,237,236,7881,297,7883,243,242,7887,245,7885,212,7889,7891,7893,7895,7897,416,7899,7901,7903,7905,7907,250,249,7911,361,7909,431,7913,7915,7917,7919,7921,253,7923,7927,7929,7925,272"arrUNI = Split(UNI, ",")For i = 1 To Len(str$)If InStr(ABC, Mid(str$, i, 1)) > 0 Then sUni = sUni & ChrW(arrUNI(InStr(ABC, Mid(str$, i, 1)) - 1)) Else sUni = sUni & Mid(str$, i, 1) End IfNextABC2Uni = sUniEnd Function 
riêng VNI2UNI, xin hẹn vài hôm
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
User avatar
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Posts: 1641
Joined: Wed 16/04/2008 11:25 am
Location: Chợ Lách - Bến Tre
Been thanked: 32 times
Contact:

Re: Đổi TCVN3 sang Unicode

Post by clarkkent »

dientankyniem wrote:Clarkkent cho mình xin link download ví dụ convert TCVN3 to Unicode di. Mình cảm ơn nhiều lắm, mình thử làm mãi mà không được nên mới cầu cứu mọi người. Tình huống của mình là "Dùng một câu truy vấn để lấy dữ liệu từ một bảng (dữ liệu có bảng mã TCVN3) để chuyển sang một bảng khác có bảng mã là unicode (form mới).
Attachments
[Demo]TCVN3 sang Unicode.rar
Demo đổi TCVN3 sang Unicode - dùng UniTextbox của Dương Quốc Hưng để hiển thị Unicode
(8.29 KiB) Downloaded 1061 times
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...
dientankyniem

Re: Đổi TCVN3 sang Unicode

Post by dientankyniem »

Clackkent cho mình hỏi có control hỗ trợ unicode cho combobox, listbox, ... không? Cho mình xin với. Tại sao textbox, combobox, listbox của VB không hỗ trợ unicode nhỉ? Mình cần hiển thị unicode trên combobox và listbox nữa. Nếu có thể clackkent cho mình hỏi thêm, trong VB6 có cách nào (sử dụng câu lệnh VB) để copy cấu trúc của một bảng thành một bảng mới không. Cảm ơn Clackkent nhiều lắm.
Attachments
TCVN3 sang Unicode.rar
Rất mong nhận được sự giúp đỡ của Clackkent và mọi người!
(10.29 KiB) Downloaded 787 times
User avatar
truongphu
VIP
VIP
Posts: 4780
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 525 times

Re: Đổi TCVN3 sang Unicode

Post by truongphu »

dientankyniem wrote:Tại sao textbox, combobox, listbox của VB không hỗ trợ unicode nhỉ? Mình cần hiển thị unicode trên combobox và listbox nữa.
Do bạn mới quen VB.
dùng MS form 2.0 với font có mã Unicode
Attachments
Tieng viêt all form.rar
(3.25 KiB) Downloaded 789 times
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
microtri
Thành viên chính thức
Thành viên chính thức
Posts: 49
Joined: Sat 24/04/2010 3:37 am
Been thanked: 10 times

Function chuyển đổi Font Unicode <-> TCVN3

Post by microtri »

Tên chương trình: Function chuyển đổi Font Unicode
Ngôn ngữ lập trình: VB6
Tác giả: Sưu tầm
Chức năng: Chuyển Font
Cái này độ lại từ source của vovisoft
Có thể làm thêm các font khác như vietware, vni ...
Chú ý: Add vknt.fon vào windows\font
Attachments
Convert_Font.rar
(6.2 KiB) Downloaded 955 times
Last edited by microtri on Tue 25/05/2010 8:44 am, edited 1 time in total.
ngaydautiendihoc
Thành viên danh dự
Thành viên danh dự
Posts: 262
Joined: Mon 12/03/2007 10:55 pm
Location: Hà Giang
Has thanked: 2 times
Been thanked: 1 time
Contact:

Re: Đổi TCVN3 sang Unicode

Post by ngaydautiendihoc »

Xin góp vui đoạn VBA này, không nhớ rõ xuất sứ. Mọi người tham khảo xem thế nào.

Code: Select all

Sub ToUnicode()'Chuyen tu TCVN sang UNICODE
    ConvertStr Selection.Text, False
End Sub
Sub ToTCVN()'Chuyen tu UNICODE sang TCVN
    ConvertStr Selection.Text, True
End Sub
Private Sub ConvertStr(Txt As String, Optional isReversed As Boolean = False)
    Dim IStr$, I%, UN, VN
    IStr = Txt

    UN = Array(225, 224, 7843, 227, 7841, 259, 7855, 7857, 7859, 7861, 7863, 226, _
    7845, 7847, 7849, 7851, 7853, 233, 232, 7867, 7869, 7865, 234, 7871, 7873, 7875, _
    7877, 7879, 237, 236, 7881, 297, 7883, 243, 242, 7887, 245, 7885, 244, 7889, 7891, _
    7893, 7895, 7897, 417, 7899, 7901, 7903, 7905, 7907, 250, 249, 7911, 361, 7909, _
    432, 7913, 7915, 7917, 7919, 7921, 253, 7923, 7927, 7929, 7925, 273, 193, 192, 195, _
    258, 194, 212, 416, 431, 272)

    VN = Array(184, 181, 182, 183, 185, 168, 190, 187, 188, 189, 198, 169, 202, 199, 200, _
    201, 203, 208, 204, 206, 207, 209, 170, 213, 210, 211, 212, 214, 221, 215, 216, 220, _
    222, 227, 223, 225, 226, 228, 171, 232, 229, 230, 231, 233, 172, 237, 234, 235, 236, _
    238, 243, 239, 241, 242, 244, 173, 248, 245, 246, 247, 249, 253, 250, 251, 252, 254, _
    174, 193, 192, 195, 161, 162, 164, 165, 166, 167)

    For I = 0 To 75
        If isReversed And InStr(Txt, ChrW(UN(I))) <> 0 Then
            IStr = Replace(IStr, ChrW(UN(I)), "[" & VN(I) & "]")
        ElseIf InStr(IStr, ChrW(VN(I))) <> 0 Then
            IStr = Replace(IStr, ChrW(VN(I)), "[" & UN(I) & "]")
        End If
    Next
    If Len(IStr) <> Len(Txt) Then
        For I = 0 To 75
            If isReversed Then
                IStr = Replace(IStr, "[" & VN(I) & "]", ChrW(VN(I)))
            Else
                IStr = Replace(IStr, "[" & UN(I) & "]", ChrW(UN(I)))
            End If
        Next
    End If
    Selection.Text = IStr
End Sub
Post Reply

Return to “[VB] Chuỗi và Thời gian”