• 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
Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4761
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 515 time

Đổi Vni sang Uni

Gửi bàigửi bởi truongphu » CN 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


Mã: Chọn hết

  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)
Sửa lần cuối bởi truongphu vào ngày T.Sáu 11/04/2008 8:18 pm với 1 lần sửa.


o0o--truongphu--o0o

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

Hình đại diện của người dùng
hoangluyen
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 61
Ngày tham gia: T.Năm 03/04/2008 3:26 pm
Đến từ: Hải Hậu - Nam Định
Liên hệ:

Re: Đổi Vni sang Uni

Gửi bàigửi bởi hoangluyen » T.Sáu 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ĩ ::..
-------------------------------------------------------------------

Hình đại diện của người dùng
DQHung
Guru
Guru
Bài viết: 576
Ngày tham gia: T.Hai 12/02/2007 3:24 pm
Đến từ: Rach Gia - Kien Giang
Been thanked: 40 time
Liên hệ:

Re: Đổi Vni sang Uni

Gửi bàigửi bởi DQHung » T.Sáu 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
Bài viết: 18
Ngày tham gia: T.Ba 29/12/2009 1:57 pm
Liên hệ:

Re: Đổi Vni sang Uni

Gửi bàigửi bởi Pherotao » T.Tư 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 ạ!


Quay về “[VB] Chuỗi và Thời gian”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách