Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 11
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt

    Nhấp chuột phải ở desktop, chọn properties, appearace, advanced, nhấp vào messagebox, chọn kiểu chữ là MS Sans Serif. Những thành phần phần khác đều chọn front trên là được. Chúc thành công.

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    25
    Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt

    oh! vấn đề không giản như vậy đâu bạn ah!

    mặc dù Ms Access hỗ trợ Unicoe, nhưng code editor của nó thì lại không nhập Unicode được. vì vậy bạn nên sử dụng bộ mã TCVN3, để nhập thông báo.
    điều kiện hiển thị giống như bạn longho nói. tuy nhiên, font Ms San serif phải là bộ font tiếng việt(Ms San serif của việtkey chẳng hạn), hoặcc bạn có thể chọn các font VK Sans Serif, ABC... thì mới hiển thị được.
    Chúc bạn thành công!

  4. #4
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt

    Ai nói không có tiếng việt thì download về thử xem! http://www2.webng.com/echipsun/tieng viet.rar

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt

    Bạn Nguyễn nêu vấn đề chính xác vì trong khi coding (môi trường soản thảo của V8-) chúng ta không thể gõ dấu tiếng Việt được. Để khắc phục bạn làm theo nguyên tắc sau:
    1. Hãy chuyển đổi font cho hệ soạn thảo vb là Abc (các font tiếng viết chuẩn Abc ví dụ như : .vntime ....)
    2. Trong các lệnh liên quan đến Msgbox... InputBox.... bạn làm như sau:
    Ví dụ bạn muốn có dòng thông báo đặt trong Mstring như sau:
    Mstring = "Bạn đã nhập sai thông tin" <------ Bạn gõ bằng bàng mã Abc
    Msgbox TtoU(Mstring)
    3. Vậy vấn đề là ta phải có 1 hàm chuyển đổi font ABC ---> Unicode
    Tặng các bạn Hàm TtoU như sau:


    Public Function TtoU(candoi As String) As String
    Dim Uchuoi As String, Tchuoi As String, dai As Byte, I As Byte, Kq As String * 1, vitri As Byte, tstr As String
    tstr = tstr & ChrW(&HE1) & ChrW(&HE0) & ChrW(&H1EA3) & ChrW(&HE3) & ChrW(&H1EA1) & ChrW(&H103) & ChrW(&H1EAF) & ChrW(&H1EB1) & ChrW(&H1EB3) & ChrW(&H1EB5) & ChrW(&H1EB7) & ChrW(&HE2) & ChrW(&H1EA5) & ChrW(&H1EA7) & ChrW(&H1EA9) & ChrW(&H1EA8-) & ChrW(&H1EAD) & ChrW(&HE9) & ChrW(&HE8-) & ChrW(&H1EB8-)
    tstr = tstr & ChrW(&H1EBD) & ChrW(&H1EB9) & ChrW(&HEA) & ChrW(&H1EBF) & ChrW(&H1EC1) & ChrW(&H1EC3) & ChrW(&H1EC5) & ChrW(&H1EC7) & ChrW(&HED) & ChrW(&HEC) & ChrW(&H1EC9) & ChrW(&H129) & ChrW(&H1EC8-) & ChrW(&HF3) & ChrW(&HF2) & ChrW(&H1ECF) & ChrW(&HF5) & ChrW(&H1ECD) & ChrW(&HF4) & ChrW(&H1ED1)
    tstr = tstr & ChrW(&H1ED3) & ChrW(&H1ED5) & ChrW(&H1ED7) & ChrW(&H1ED9) & ChrW(&H1A1) & ChrW(&H1ED8-) & ChrW(&H1EDD) & ChrW(&H1EDF) & ChrW(&H1EE1) & ChrW(&H1EE3) & ChrW(&HFA) & ChrW(&HF9) & ChrW(&H1EE7) & ChrW(&H169) & ChrW(&H1EE5) & ChrW(&H1B0) & ChrW(&H1EE9) & ChrW(&H1EE8-) & ChrW(&H1EED) & ChrW(&H1EEF)
    tstr = tstr & ChrW(&H1EF1) & ChrW(&HFD) & ChrW(&H1EF3) & ChrW(&H1EF7) & ChrW(&H1EF9) & ChrW(&H1EF5) & ChrW(&H111) & ChrW(&HC1) & ChrW(&HC0) & ChrW(&H1EA2) & ChrW(&HC3) & ChrW(&H1EA0) & ChrW(&H102) & ChrW(&H1EAE) & ChrW(&H1EB0) & ChrW(&H1EB2) & ChrW(&H1EB4) & ChrW(&H1EB6) & ChrW(&HC2) & ChrW(&H1EA4)
    tstr = tstr & ChrW(&H1EA6) & ChrW(&H1EA8-) & ChrW(&H1EAA) & ChrW(&H1EAC) & ChrW(&HC9) & ChrW(&HC8-) & ChrW(&H1EBA) & ChrW(&H1EBC) & ChrW(&H1EB8-) & ChrW(&HCA) & ChrW(&H1EBE) & ChrW(&H1EC0) & ChrW(&H1EC2) & ChrW(&H1EC4) & ChrW(&H1EC6) & ChrW(&HCD) & ChrW(&HCC) & ChrW(&H1EC8-) & ChrW(&H128-) & ChrW(&H1ECA)
    tstr = tstr & ChrW(&HD3) & ChrW(&HD2) & ChrW(&H1ECE) & ChrW(&HD5) & ChrW(&H1ECC) & ChrW(&HD4) & ChrW(&H1ED0) & ChrW(&H1ED2) & ChrW(&H1ED4) & ChrW(&H1ED6) & ChrW(&H1ED8-) & ChrW(&H1A0) & ChrW(&H1EDA) & ChrW(&H1EDC) & ChrW(&H1EDE) & ChrW(&H1EE0) & ChrW(&H1EE2) & ChrW(&HDA) & ChrW(&HD9) & ChrW(&H1EE6)
    tstr = tstr & ChrW(&H168-) & ChrW(&H1EE4) & ChrW(&H1AF) & ChrW(&H1EE8-) & ChrW(&H1EEA) & ChrW(&H1EEC) & ChrW(&H1EEE) & ChrW(&H1EF0) & ChrW(&HDD) & ChrW(&H1EF2) & ChrW(&H1EF6) & ChrW(&H1EF8-) & ChrW(&H1EF4) & ChrW(&H110)
    Tchuoi = "¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËÐÌÎÏÑªÕ ÓÔÖÝ×ØÜÞãßáâä«èåæçé¬íêëì óïñòô­øõö÷ùýúûüþ®¸µ¶·¹¡¡ ¡¡¡¢¢¢¢¢¢ÐÌÎÏÑ££££££Ý×ØÜ ãßáâ䤤¤¤¤¤¥¥¥¥¥¥óïñòô¦¦ ¦¦¦ýúûüþ§"
    Uchuoi = tstr
    TtoU = ""
    Kq = ""
    For I = 1 To Len(candoi)
    Kq = Mid(candoi, I, 1)
    vitri = InStr(1, Tchuoi, Kq, vbBinaryCompare)
    If vitri <> 0 Then
    TtoU = TtoU & Mid(Uchuoi, vitri, 1)
    Else
    TtoU = TtoU & Kq
    End If
    Next
    End Function

  6. #6
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt

    Xin góp với anh em một ý:

    Không ai nói là không hiển thị được tiếng Việt trên MsgBox hoặc trên cửa sổ VBA. Nhưng hoặc là anh em phải định lại property trong Desktop - Appearance của hệ thống, hoặc phải viết thêm thủ tục phức tạp cầu kỳ.

    Mà bảng mã lại không hề là Unicode, trong khi xu hướng tất yếu hiện nay là Unicode. Một điều các bạn sẽ không ngờ rằng, dù không thể hiện được Unicode có dấu tiếng Việt trên MsgBox nếu làm theo "truyền thống", nhưng vẫn hoàn toàn thực hiện mà không phải tốn quá nhiều công sức.

    Các bạn thử nhé:

    1. Làm một table resource (tblMessages) chứa các thông báo mà bạn muốn, nó có hai cột:
    tagName (Text, 20 hoặc hơn tùy), content (Text, 255)
    Trong đó tagName là tên để chúng ta tham chiếu sau này, content là nội dung của thông báo.
    Ví dụ tôi có một record mà:
    tagName: NO_RECORD
    content: Hiện tại bây giờ trong bảng chưa có bất kỳ dữ liệu nào (gõ theo Unicode nhé)

    2. Tôi có một thủ tục nào đó, mà trong đó tôi cần hiện thông báo trên:
    ...
    Dim mess
    mess = DLookup("content", "tblMessages", "tagName = 'NO_RECORD'")
    mess = IIf(IsNull(mess), "chuoi thong bao tu che neu khong tim thay", mess)
    MsgBox mess
    ...

    Bạn sẽ thấy nó hiện đầy đủ dấu má nghiêm chỉnh. Thử đi các bạn.

  7. #7
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt

    Đúng như bác phat nói ta nên tự chế 1 form để hiện thông báo, nó có thể hiện được tất cả các loại font mà ta chọn.
    Về cơ bản ta xem msgbox là 1 form dạng popup và có 1 textbox nằm trong cái form đó. Vậy cứ khi nào cần gọi msgbox thì ta cho gọi cái form đó lên :
    Thay vì msgbox "Bác phat chịu chơi nhưng hay chơi chịu" :happy3: thì ta cho 1 lệnh DoCmd.OpenForm "Thongbao", acNormal. Còn để lấy thông báo cho vào trong textbox của form thì ta cho cái đoạn code naỳ vào khi form load:
    Public V_thongbao
    V_thongbao = 1 '(2, 3, ..... tuy theo STT cua thong bao voi 1 là STT trong tbl_thongbao)
    txt1 = DLookup("Noidung", "tbl_thongbao", "STT='" & V_thongbao & "'")

  8. #8
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt

    Các bác nghĩ kỹ chưa, chỉ viết có 1 hàm vào và cứ vô tư mà lập trình với cách gõ tiếng Việt... khi debug hoặc đọc lại mã nguồn dễ hiểu, chứ cứ tra qua tra lại trong cái bảng từ điển như các bác thì e nó có vấn đề.

  9. #9
    Ngày tham gia
    Dec 2015
    Bài viết
    163
    Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt




    Trích dẫn Gửi bởi dangtuanson
    Các bác nghĩ kỹ chưa, chỉ viết có 1 hàm vào và cứ vô tư mà lập trình với cách gõ tiếng Việt... khi debug hoặc đọc lại mã nguồn dễ hiểu, chứ cứ tra qua tra lại trong cái bảng từ điển như các bác thì e nó có vấn đề.
    Nếu bạn dangtuanson có sử dụng VB thì bạn sẽ biết đến resource file chứ? Và bạn cũng sẽ biết localization chứ? Việc mà tôi góp ý thật ra là "ăn cắp" ý tưởng từ đó mà thôi, sau đó chế biến lại một chút cho hợp tình cảnh.

    Trong lập trình, người ta chuộng dùng resource file vì như thế khi hiệu chỉnh không phải chỉnh nhiều nơi.

    Đồng thời, khi chuyển ngữ từ Việt sang Anh hay Anh sang Việt (ví dụ chỉ có hai ngôn ngữ), chỉ cần trỏ tham chiếu đến resource file cần thiết là OK.

    Ở đây không phải là tôi hay ai khác suy nghĩ kỹ hay không, mà chúng tôi chỉ học tập và kế thừa từ những cao nhân khác mà thôi.

    Có thể bạn không ưng cách này. Không sao. Bạn cứ giữ phong cách riêng của mình. Chẳng ai chê trách gì bạn mà còn hoan nghênh nữa.

  10. #10
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt




    Trích dẫn Gửi bởi Nguyễn Minh
    Các bạn ơi! Ai biết làm sao để thông báo trên msgbox hiển thị tiếng Việt, mình dùng Unicode để đánh.
    Bạn có thể tham khảo ở chỗ này:
    http://www.webketoan.com/forum/showthread.php?t=16729&page=3

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •