• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Đổi TCVN3 sang Unicode

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

Đổi TCVN3 sang Unicode

Postby truongphu » Fri 04/04/2008 9:21 pm

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

  1.  
  2. Option Explicit
  3.  
  4. Public Function ABC2Uni(str$) As String
  5. Dim i&, arrUNI() As String, sUni$, ABC$, UNI$
  6. ABC = "¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËÐÌÎÏѪÕÒÓÔÖÝ×ØÜÞãßáâä«èåæçé¬íêëìîóïñòô­øõö÷ùýúûüþ®¸µ¶·¹¡¾»¼½Æ¢ÊÇÈÉËÐÌÎÏÑ£ÕÒÓÔÖÝ×ØÜÞãßáâä¤èåæçé¥íêëìîóïñòô¦øõö÷ùýúûüþ§"
  7. 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"
  8. arrUNI = Split(UNI, ",")
  9. For i = 1 To Len(str$)
  10. If InStr(ABC, Mid(str$, i, 1)) > 0 Then
  11.  sUni = sUni & ChrW(arrUNI(InStr(ABC, Mid(str$, i, 1)) - 1))
  12.  Else
  13.  sUni = sUni & Mid(str$, i, 1)
  14.  End If
  15. Next
  16. ABC2Uni = sUni
  17. End Function
  18.  

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: 31 times
Contact:

Re: Đổi TCVN3 sang Unicode

Postby clarkkent » Wed 20/05/2009 2:11 pm

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 1026 times
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

dientankyniem

Re: Đổi TCVN3 sang Unicode

Postby dientankyniem » Thu 21/05/2009 8:21 am

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 758 times

User avatar
truongphu
VIP
VIP
Posts: 4766
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 519 times

Re: Đổi TCVN3 sang Unicode

Postby truongphu » Thu 21/05/2009 9:30 am

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 760 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

Postby microtri » Mon 24/05/2010 2:58 pm

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 920 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: 261
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

Postby ngaydautiendihoc » Sat 14/08/2010 11:29 am

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


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

Who is online

Users browsing this forum: No registered users and 0 guests