-
12-25-2007, 12:08 AM #1Junior Member
- 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ạ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.
View more random threads:
- Tìm kiếm từ nhiều subform
- Sử dụng hàm xây dựng như thế nào?
- Tắt mục
- Tối ưu thuật toán tạo thẻ kho trong access
- Kiểm tra trùng lặp khóa chinh trong Access
- TIP :Cho Access thoát khỏi .... Access !
- Cho mình hỏi Nhập đường dẫn 1 file ảnh vào chương trình để lưu!
- Cho mình hỏi có cách nào để kiểm tra 1 Control có nhận Focus hay không ?
- Giải giúp mình bài tập này với
- Không cho mở Database
-
12-25-2007, 02:34 PM #2Junior Member
- 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.
-
12-25-2007, 05:51 PM #3Silver member
- 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!
-
03-14-2008, 01:58 AM #4Junior Member
- 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
-
11-05-2008, 05:45 PM #5Junior Member
- 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
-
11-05-2008, 05:55 PM #6Junior Member
- 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.
-
11-05-2008, 06:24 PM #7Junior Member
- 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 & "'")
-
11-05-2008, 06:42 PM #8Junior Member
- 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 đề.
-
11-05-2008, 06:52 PM #9Silver member
- Ngày tham gia
- Dec 2015
- Bài viết
- 163
Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt
Gửi bởi dangtuanson
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.
-
11-05-2008, 08:07 PM #10Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Để Msgbox hiển thị ngôn ngữ tiếng Việt
Gửi bởi Nguyễn Minh
http://www.webketoan.com/forum/showthread.php?t=16729&page=3
Dự án căn hộ cao cấp Vinhomes Central Park xây dựng bởi VinGroup tận hưởng cuộc sống khu trung tâm thiết kế vượt trội. Vinhomes Vinhomescentralparktc tận hưởng cuộc sống thiết kế mở tiện nghi vượt...
Khu đô thị Vinhomes Central Park khu yên tĩnh