• 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 Vni sang Uni

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

Đổi Vni sang Uni

Postby truongphu » Sun 06/04/2008 11:59 am

Thủ thuật: Đổi Vni sang Uni
Tác giả: truongphu
Mô tả: Đổi Vni sang Uni, trong loạt bài chuyển mã. có dùng code của TrungDung1977


Code: Select all

  1. Option Explicit
  2. Public Function VniToUni(str$) As String
  3.     Dim VNI$, UNI$, i&, sUni$, arrUNI() As String
  4.     VNI = "aù,aø,aû,aõ,aï,aâ,aê,aá,aà,aå,aã,aä,aé,aè,aú,aü,aë,AÙ,AØ,AÛ,AÕ,AÏ,AÂ,AÊ,AÁ,AÀ,AÅ,AÃ,AÄ,AÉ,AÈ,AÚ,AÜ,AË,eù,eø,eû,eõ,eï,eâ,eá,eà,eå,eã,eä,EÙ,EØ,EÛ,EÕ,EÏ,EÂ,EÁ,EÀ,EÅ,EÃ,EÄ,í ,ì ,æ ,ó ,ò ,Í ,Ì ,Æ ,Ó ,Ò ,où,oø,oû,oõ,oï,oâ,ô,oá,oà,oå,oã,oä,ôù,ôø,ôû,ôõ,ôï,OÙ,OØ,OÛ,OÕ,OÏ,OÂ,Ô ,OÁ,OÀ,OÅ,OÃ,OÄ,ÔÙ,ÔØ,ÔÛ,ÔÕ,ÔÏ,uù,uø,uû,uõ,uï,ö ,öù,öø,öû,öõ,öï,UÙ,UØ,UÛ,UÕ,UÏ,Ö ,ÖÙ,ÖØ,ÖÛ,ÖÕ,ÖÏ,yù,yø,yû,yõ,î ,YÙ,YØ,YÛ,YÕ,Î ,ñ ,Ñ "
  5.     UNI = "E1,E0,1EA3,E3,1EA1,E2,103,1EA5,1EA7,1EA9,1EAB,1EAD,1EAF,1EB1,1EB3,1EB5,1EB7,C1,C0,1EA2,C3,1EA0,C2,102,1EA4,1EA6,1EA8,1EAA,1EAC,1EAE,1EB0,1EB2,1EB4,1EB6,E9,E8,1EBB,1EBD,1EB9,EA,1EBF,1EC1,1EC3,1EC5,1EC7,C9,C8,1EBA,1EBC,1EB8,CA,1EBE,1EC0,1EC2,1EC4,1EC6,ED,EC,1EC9,129,1ECB,CD,CC,1EC8,128,1ECA,F3,F2,1ECF,F5,1ECD,F4,1A1,1ED1,1ED3,1ED5,1ED7,1ED9,1EDB,1EDD,1EDF,1EE1,1EE3,D3,D2,1ECE,D5,1ECC,D4,1A0,1ED0,1ED2,1ED4,1ED6,1ED8,1EDA,1EDC,1EDE,1EE0,1EE2,FA,F9,1EE7,169,1EE5,1B0,1EE9,1EEB,1EED,1EEF,1EF1,DA,D9,1EE6,168,1EE4,1AF,1EE8,1EEA,1EEC,1EEE,1EF0,FD,1EF3,1EF7,1EF9,1EF5,DD,1EF2,1EF6,1EF8,1EF4,111,110"
  6.     arrUNI = Split(UNI, ",")
  7.      For i = 1 To Len(str)
  8.             If InStr(VNI, Mid(str, i, 2)) > 0 And Len(Mid(str, i, 2)) = 2 Then
  9.                 sUni = sUni & ChrW("&h" & arrUNI(InStr(VNI, Mid(str, i, 2)) \ 3))
  10.                  i = i + 1
  11.             ElseIf InStr(VNI, Mid(str, i, 1) & " ") > 0 Then
  12.                 sUni = sUni & ChrW("&h" & arrUNI(InStr(VNI, Mid(str, i, 1) & " ") \ 3))
  13.             End If
  14.         If InStr(VNI, Mid(str, i, 1)) = 0 Or InStr("a,A,e,E,o,O,u,U,y,Y, ", Mid(str, i, 1)) > 0 Then sUni = sUni & Mid(str, i, 1)
  15.     Next
  16.     VniToUni = sUni
  17. End Function

(đã fix lỗi nhỏ 11/4)
Last edited by truongphu on Fri 11/04/2008 8:18 pm, edited 1 time in total.


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

User avatar
hoangluyen
Thành viên năng nổ
Thành viên năng nổ
Posts: 61
Joined: Thu 03/04/2008 3:26 pm
Location: Hải Hậu - Nam Định
Contact:

Re: Đổi Vni sang Uni

Postby hoangluyen » Fri 11/04/2008 10:25 am

Cái này bạn sưu tầm ah!
Mình chưa dùng cái này bao giờ, bây giờ cũng phải thử xem thế nào.
..::Chỉ có tình yêu (*) và lao động sẽ làm cho con người trở nên đẹp hoàn mĩ ::..
-------------------------------------------------------------------

User avatar
DQHung
Guru
Guru
Posts: 576
Joined: Mon 12/02/2007 3:24 pm
Location: Rach Gia - Kien Giang
Been thanked: 40 times
Contact:

Re: Đổi Vni sang Uni

Postby DQHung » Fri 11/04/2008 12:35 pm

Kiểu này là chuyễn từ "VNI Windows" sang Unicode.Mới đầu đọc tưởng từ VNI (Tie61ng Vie65t) sang unicode chứ :D

Pherotao
Thành viên chính thức
Thành viên chính thức
Posts: 18
Joined: Tue 29/12/2009 1:57 pm
Contact:

Re: Đổi Vni sang Uni

Postby Pherotao » Wed 13/12/2017 12:57 am

Code này bị lỗi anh Phú ơi. Cụ thể anh gõ chữ "Đơn Hàng" nó không hiển thị đủ. Nhờ a xem lại giúp ạ!


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

Who is online

Users browsing this forum: No registered users and 1 guest