thanhtruong Cao Thủ Access    Bài viết: 261 Chủ đề: 29 Tham Gia: 23-06 -14 Điểm danh tiếng: 0 Tiền Access: 6,124.89Ac$ #1 16-01-17, 05:02 PM Chào mọi người! Cho mình hỏi? Mình muốn quét mã QR của thẻ bảo hiểm y tế, nhưng dùng máy quét thì nó hiện toàn là (số) Mình tìm hiểu rồi, nhưng bên y tế họ nói phải chuyển thành mã hexa ví dụ: 5472C6B0E1BB9D6E67205469E1BB83752068E1BB8D63204368C3AD204C696E68 thành tên NGUYỄN VĂN A chẳn hạn. Có cách nào dùng trong access không mọi người. Chữ ký của thanhtruong Xin chào, mình là thanhtruong, Tham gia http://thuthuataccess.com/forum từ ngày 23-06 -14. Website Find Reply maidinhdan Administrator       Bài viết: 2,125 Chủ đề: 123 Tham Gia: 30-01 -11 Điểm danh tiếng: 102 Tiền Access: 193,179.03Ac$ #2 16-01-17, 09:13 PM (16-01-17, 05:02 PM)thanhtruong Đã viết: Chào mọi người! Cho mình hỏi? Mình muốn quét mã QR của thẻ bảo hiểm y tế, nhưng dùng máy quét thì nó hiện toàn là (số) Mình tìm hiểu rồi, nhưng bên y tế họ nói phải chuyển thành mã hexa ví dụ: 5472C6B0E1BB9D6E67205469E1BB83752068E1BB8D63204368C3AD204C696E68 thành tên NGUYỄN VĂN A chẳn hạn. Có cách nào dùng trong access không mọi người. Đây là code bạn cần: Mã PHP:' Procedure/ Ten thu tuc : MahoaToHex' Author/ Nguoi khoi tao : maidinhdan@gmail.com' Tao tren may tinh User : DANAspireV5' Date/ Ngay tao : 1/16/2017-20:11' Purpose/Mo ta :'---------------------------------------------------------------------------------------'Public Function MahoaToHex(tString As String) As StringDim i As Integer, S As StringS = ""For i = 1 To Len(tString) S = S & Right$("00" & Hex(Asc(mID$(tString, i, 1))), 2)Next iMahoaToHex = SEnd Function'---------------------------------------------------------------------------------------' Procedure/ Ten thu tuc : GiaiMaFromHex' Author/ Nguoi khoi tao : maidinhdan@gmail.com' Tao tren may tinh User : DANAspireV5' Date/ Ngay tao : 1/16/2017-20:11' Purpose/Mo ta :'---------------------------------------------------------------------------------------'Function GiaiMaFromHex(strHex As String) As String Dim lngCount As Long For lngCount = 1 To Len(strHex) Step 2 GiaiMaFromHex = GiaiMaFromHex & Chr("&h" & mID(strHex, lngCount, 2)) NextEnd Function Cách sử dụng thì như sau: lấy câu bạn hỏi mà làm: 1. Để chuyển Nguyễn Văn A thành mã Hex ta dùng cú pháp MahoaToHex("Nguyen Van A") --> Kết quả: 4E677579656E2056616E2041 2. Để Hiển thị lại ta dùng GiaiMaFromHex("4E677579656E2056616E2041") --> Kết quả: Nguyen Van A * Chú ý các hàm liên quan đến mã Hex không hỗ trợ tiếng việt có dấu. Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem. 1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ 2. [Hướng dẫn] Nội quy diễn đàn 3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn 4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ 5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn. * Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa. ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ Find Reply thanhtruong Cao Thủ Access    Bài viết: 261 Chủ đề: 29 Tham Gia: 23-06 -14 Điểm danh tiếng: 0 Tiền Access: 6,124.89Ac$ #3 17-01-17, 10:43 AM nếu không chuyển thành Tiếng Việt có dấu thì cũng đâu có tác dụng gì trong trường hợp này? Vậy có cách nào chuyển thành có dấu? Chữ ký của thanhtruong Xin chào, mình là thanhtruong, Tham gia http://thuthuataccess.com/forum từ ngày 23-06 -14. Website Find Reply maidinhdan Administrator       Bài viết: 2,125 Chủ đề: 123 Tham Gia: 30-01 -11 Điểm danh tiếng: 102 Tiền Access: 193,179.03Ac$ #4 17-01-17, 03:58 PM (17-01-17, 10:43 AM)thanhtruong Đã viết: nếu không chuyển thành Tiếng Việt có dấu thì cũng đâu có tác dụng gì trong trường hợp này? Vậy có cách nào chuyển thành có dấu? Đầu tiên chú phải hiểu mã Hex dùng để làm cái gì? Thứ 2, chú hỏi về mã hex thì tôi giúp chú trả lời về mã hex. Chứ tôi đâu biết chú dùng mã hex để làm gì? Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem. 1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ 2. [Hướng dẫn] Nội quy diễn đàn 3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn 4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ 5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn. * Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa. ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ Find Reply thanhtruong Cao Thủ Access    Bài viết: 261 Chủ đề: 29 Tham Gia: 23-06 -14 Điểm danh tiếng: 0 Tiền Access: 6,124.89Ac$ #5 17-01-17, 05:07 PM (Được chỉnh sửa: 17-01-17, 05:11 PM bởi thanhtruong.) Thì mình không hiểu mã hex là gì? nhưng mình có đọc tờ báo tại đây tại đây trong đó họ hướng dẫn thế này Cách thức convert một chuỗi mã hexa về ký tự tiếng Việt (định dạng UTF-8): Đối với C#: Mã:private string ConvertHexStrToUnicode(string hexString) { int length = hexString.Length; byte[] bytes = new byte[length / 2]; for (int i = 0; i < length; i += 2) { bytes[i / 2] = Convert.ToByte(hexString.Substring(i, 2), 16); } return Encoding.UTF8.GetString(bytes); }Đối với Java: Mã:String hxStr = "4E677579E1BB856E204E67E1BB8D63205068C6B0C6A16E67205468616E68"; String dest; try { dest = new String (DatatypeConverter.parseHexBinary(tmp) , "UTF-8"); } catch (Exception ex) { }vậy mình muốn hỏi là trong access có chuyển chuỗi mã hex về tiếng việt được hay không? Chữ ký của thanhtruong Xin chào, mình là thanhtruong, Tham gia http://thuthuataccess.com/forum từ ngày 23-06 -14. Website Find Reply maidinhdan Administrator       Bài viết: 2,125 Chủ đề: 123 Tham Gia: 30-01 -11 Điểm danh tiếng: 102 Tiền Access: 193,179.03Ac$ #6 18-01-17, 12:11 AM (Được chỉnh sửa: 18-01-17, 12:14 AM bởi maidinhdan.) (17-01-17, 05:07 PM)thanhtruong Đã viết: Thì mình không hiểu mã hex là gì? nhưng mình có đọc tờ báo tại đây tại đây trong đó họ hướng dẫn thế này Cách thức convert một chuỗi mã hexa về ký tự tiếng Việt (định dạng UTF-8): Đối với C#: Mã:private string ConvertHexStrToUnicode(string hexString) { int length = hexString.Length; byte[] bytes = new byte[length / 2]; for (int i = 0; i < length; i += 2) { bytes[i / 2] = Convert.ToByte(hexString.Substring(i, 2), 16); } return Encoding.UTF8.GetString(bytes); }Đối với Java: Mã:String hxStr = "4E677579E1BB856E204E67E1BB8D63205068C6B0C6A16E67205468616E68"; String dest; try { dest = new String (DatatypeConverter.parseHexBinary(tmp) , "UTF-8"); } catch (Exception ex) { }vậy mình muốn hỏi là trong access có chuyển chuỗi mã hex về tiếng việt được hay không? Các hàm trong thư viện Access không hỗ trợ sẳn các hàm liên quan để chuyển chuỗi mã hex về tiếng việt có dấu. Nhưng không phải là không có cách. Theo suy nghĩ của mình Cách đó là: Bạn tự viết cho mình 4 hàm như sau: * Từ chuỗi tiếng việt chuyển thành mã Hex. 1. Hàm Unicode chuyển chuỗi thành Ascii 2. Hàm String to Hex * Từ mã Hex chuyển về chuỗi Tiếng việt 1. Hàm Ascii chuyển chuỗi thành Unicode 2. Hàm Hex to String Thân mến! Sau 10 ngày nếu bạn chưa viết được hàm này thì liên hệ lại, mình sẽ hỗ trợ. Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem. 1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ 2. [Hướng dẫn] Nội quy diễn đàn 3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn 4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ 5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn. * Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa. ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ Find Reply thanhtruong Cao Thủ Access    Bài viết: 261 Chủ đề: 29 Tham Gia: 23-06 -14 Điểm danh tiếng: 0 Tiền Access: 6,124.89Ac$ #7 18-01-17, 11:15 AM Cảm ơn vì đã chia sẻ. Mình sẽ nghiên cứu 2 vấn đề trước khi quay lại hỏi tiếp 1: là chuyển mã Hex thành tiếng việt 2: là tách lấy dữ liệu cách nhau bởi dấu | trong access. Chúc Anh Năm mới vui vẻ. Chữ ký của thanhtruong Xin chào, mình là thanhtruong, Tham gia http://thuthuataccess.com/forum từ ngày 23-06 -14. Website Find Reply thanhtruong Cao Thủ Access    Bài viết: 261 Chủ đề: 29 Tham Gia: 23-06 -14 Điểm danh tiếng: 0 Tiền Access: 6,124.89Ac$ #8 11-02-17, 11:05 AM Qua cái tết là bắt tay vào ngay, Được sự hổ trọ từ diễn đàn mình đã từng bước hoàn thiện file tách đúng là nhức đầu thật, tách mã cũng còn một số lỗi, mình đang cố tìm ra. Còn về chuyển mã mình dùng cái hàm bài #2 và chuyển, nhưng bị lỗi. Xin nhờ mọi người chỉ dẫn giúp mình. xin cảm ơn! File demon tách chuổi và chuyển mã về tiếng việt có dấu Chữ ký của thanhtruong Xin chào, mình là thanhtruong, Tham gia http://thuthuataccess.com/forum từ ngày 23-06 -14. Website Find Reply maidinhdan Administrator       Bài viết: 2,125 Chủ đề: 123 Tham Gia: 30-01 -11 Điểm danh tiếng: 102 Tiền Access: 193,179.03Ac$ #9 11-02-17, 03:06 PM (18-01-17, 11:15 AM)thanhtruong Đã viết: Cảm ơn vì đã chia sẻ. Mình sẽ nghiên cứu 2 vấn đề trước khi quay lại hỏi tiếp 1: là chuyển mã Hex thành tiếng việt 2: là tách lấy dữ liệu cách nhau bởi dấu | trong access. Chúc Anh Năm mới vui vẻ. 1. Khẳng định 1 lần nữa là không thể chuyển trực tiếp từ mã Hex sang tiếng việt có dấu được. Nó phải có hàm trung gian để chuyển đổi trước khi chuyển thành mã hex như phần trên mình có nói Trích dẫn:Theo suy nghĩ của mình Cách đó là: Bạn tự viết cho mình 4 hàm như sau: * Từ chuỗi tiếng việt chuyển thành mã Hex. 1. Hàm Unicode chuyển chuỗi thành Ascii 2. Hàm String to Hex * Từ mã Hex chuyển về chuỗi Tiếng việt 1. Hàm Ascii chuyển chuỗi thành Unicode 2. Hàm Hex to String 2. Tách dữ liệu: phần này anh Ongke đã hướng dẫn bạn rồi. Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem. 1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ 2. [Hướng dẫn] Nội quy diễn đàn 3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn 4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ 5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn. * Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa. ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ Find Reply ongke0711 Honorary members    Bài viết: 3,578 Chủ đề: 62 Tham Gia: 10-04 -15 Điểm danh tiếng: 165 Tiền Access: 92,558.56Ac$ #10 13-02-17, 10:34 PM (Được chỉnh sửa: 13-02-17, 11:44 PM bởi ongke0711.) Tôi share với bạn code chuyển mã UTF-8 Hex thành Text như bạn đang cần. Cách xử lý của hàm này là chuyển mã UTF-8 Hex thành mã nhị phân (binary) rồi sau đó mới chuyển thành Unicode. - Copy code sau vào module: Mã PHP:Option Compare DatabaseOption ExplicitPrivate Declare Function CryptStringToBinary Lib "Crypt32" _ Alias "CryptStringToBinaryW" ( _ ByVal pszString As Long, _ ByVal cchString As Long, _ ByVal dwFlags As Long, _ ByVal pbBinary As Long, _ ByRef pcbBinary As Long, _ ByRef pdwSkip As Long, _ ByRef pdwFlags As Long) As LongPrivate Declare Function MultiByteToWideChar Lib "kernel32" ( _ ByVal CodePage As Long, _ ByVal dwFlags As Long, _ ByVal lpMultiByteStr As Long, _ ByVal cchMultiByte As Long, _ ByVal lpWideCharStr As Long, _ ByVal cchWideChar As Long) As LongPublic Function FromHex(ByRef HexString As String) As Byte() Const CRYPT_STRING_HEX As Long = &H4& Dim lngOutLen As Long Dim dwActualUsed As Long Dim bytBinary() As Byte If Len(HexString) < 1 Then Exit Function 'Determine output buffer length required.' If CryptStringToBinary(StrPtr(HexString), _ Len(HexString), _ CRYPT_STRING_HEX, _ 0&, _ lngOutLen, _ ByVal 0&, _ dwActualUsed) = 0 Then Err.Raise &H80044100, "FromHex", _ "CryptStringToBinary failed, error " & CStr(Err.LastDllError) Else 'Convert to binary.' ReDim bytBinary(lngOutLen - 1) If CryptStringToBinary(StrPtr(HexString), _ Len(HexString), _ CRYPT_STRING_HEX, _ VarPtr(bytBinary(0)), _ lngOutLen, _ ByVal 0&, _ dwActualUsed) = 0 Then Err.Raise &H80044100, "FromHex", _ "CryptStringToBinary failed, error " & CStr(Err.LastDllError) Else FromHex = bytBinary End If End IfEnd FunctionPublic Function FromUtf8(ByRef Utf8() As Byte) As String Const CP_UTF8 As Long = 65001 Dim lngBytes As Long Dim lngResult As Long On Error Resume Next lngBytes = UBound(Utf8) - LBound(Utf8) + 1 If Err Then Err.Clear On Error GoTo 0 Err.Raise 5, "FromUtf8", "Invalid parameter: must be a dimensioned array" End If On Error GoTo 0 lngResult = MultiByteToWideChar(CP_UTF8, 0, VarPtr(Utf8(LBound(Utf8))), _ lngBytes, 0, 0) FromUtf8 = String$(lngResult, 0) MultiByteToWideChar CP_UTF8, 0, VarPtr(Utf8(LBound(Utf8))), _ lngBytes, StrPtr(FromUtf8), lngResultEnd Function - Áp dụng vào form: ví dụ textbox chứa mã Hex có Name là Text1. Textbox chứa kết quả là Text2 Mã PHP:Private Sub cmdConvert_Click() Me.Text2 = FromUtf8(FromHex(Me.Text1))End Sub Link file demo (làm trên file mdb mẫu của bạn): http://www.mediafire.com/file/f9vo75tfwv...8v5%29.mdb Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake! ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ Website Find Reply |