PDA

View Full Version : vb6 và tiềng việt



haiboss
06-09-2002, 16:43
mình mốn hiển thị tiếng việt trên thanh tiêu đề của form & trên các msgbox,trên menu .bạn nào biết xin free cho mình (code càng tốt).mình dang cầ gấp,không dùng font hệ thống,không phụ thuộc vào font hệ thống ,chương trình tự chuyển đổi.
thank you !

quatban
06-09-2002, 18:06
Mail cho toi di, toi cho sourcecode (quatban@hotmail.com)

nnh
08-09-2002, 16:32
anh quatban ơi nói rõ chút đỉnh ý tưởng thực hiện của anh được không ? Vấn đề tiếng Việt trên title quả thực là hơi khó thực hiện, nếu trên form thường thì việc đó không có gì (dùng active x mới) nhưng trên form MDI anh có thực hiện được không ? Nếu được xin anh chỉ giúp.

Nguyen Thanh Binh
08-09-2002, 17:57
Có cái ActiveX control nào vậy bạn . Nếu có gởi cho mình với. Tạm biệt !

quangvu
09-09-2002, 09:14
1. Ban hãi Add vào project 1 Dialog có tên là frmMyMsg ,chỉnh khích thước của nó nhỏ lại (cở bằng một MsgBox của MS) và nhớ bỏ các Button OK và Cancel nha.
2. Tiếp đó ,bạn đặt một label (tên lblMsg)vào frmMyMsg ,kéo dãn kích thước của lblMsg sau cho nó có thể chứa được một message của ta .Và quan trọng nhất ,Set Font cho nó (VNI,.UNICODE gì đó)
3. Viết một hàm sau
Public Sub ShowMsg(str As String)
lblMsg.Caption = str
Me.Show
End Sub

Khi đó ,tại Form muốn gọi message ,ta chi việc gọi hàm
frmMyMsg.ShoeMsg "Xin chào các bạn"

thì một Msg sẽ hiện ra với câu chử y chan vậy.

* Ban có thể áp dụng cho chử Campuchia ,Hoa ,Thái đều được
Chúc thành công.

quatban
09-09-2002, 14:17
Dùng hàm API của window (SystemParameterInfor), ActiveX Control hay thay đổi cấu hình của Window (thay đổi trong Registry- tạo file .reg để đổi) cũng được. Cách của tôi là dùng hàm API (vừa nhẹ vừa an toàn-mình có thể kiểm soát được, nhưng không hiệu quả lắm(nhưng có thể chấp nhận được)) còn ActiveX thì mình không biết lúc nào nó ....sai(hơi bị nghi ngờ, vả lại các ActiveX cũng dùng các hàm API xây dựng thôi). Cách của tôi áp dụng trên tất cả các loại Dialog(hay form), MessageBox, Menu, Tooltip,v.v..., chương trình chỉ cần đổi font hệ thống bằng 1 font tương tự nhưng cho phép gõ tiếng việt (để người dùng không nhận thấy sự khác biệt)trong khi chạy và trả lại font hệ thống cho Window khi kết thúc. Còn ActiveX thì nhiều lắm(toàn vẽ lại Menu thôi), nhưng tôi chưa Test các ActiveX đó bao giờ nên cũng không rõ nó ổn định như thế nào chỉ biết là trong 1 số trường hợp nó ...không chịu chạy(tôi đọc trong phần "Chống chỉ định" kèm theo của nó(readme.txt)). Các bạn cứ vào trang Google.com gõ vào "ActiveX Control"(nhớ bỏ trong nháy kép) rồi Search thì nó ra cả... thúng.
Tái bút: Ông QuangVu này nhắm mắt gõ hay sao mà sai chính tả quá trời luôn(sai ít ít thì người ta còn đọc được chứ sai nhiều quá làm người ta...đánh vần muốn chết)

danceswithwolves
10-09-2002, 08:53
anh quatban@ ơi, gửi cho tôi code của anh được không ?
naive@programmer.net
thanx in advance

LAM TAN VINH
10-09-2002, 09:20
Cho mình xin source code voi quatban oi, anprog@yahoo.com

LAM TAN VINH
10-09-2002, 09:23
Trời ơi, admin đâu rồi, sao lại đổi hình của tui

quaitieutu
10-09-2002, 10:29
Kiểu này thì anh "quá bẩn" hãy up lên giống như cái database đó,nếu không thì kiếm đâu ra time gửi cho từng mem

westlife
10-09-2002, 16:46
Cách của anh quatban tức là thay đổi font hệ thống. Cách này không hay lắm nhưng cũng chấp nhận được và là cách dễ và thông thường nhất. Nếu bạn không biết là sao để đổi font hệ thống thì đến chỗ này mà tìm http://coolcode4you.fateback.com trong phần how to.
Chúc thành công !!!

phangtomat
11-09-2002, 23:52
Sao kỳ lạ nhể.
Em chẳng cần sửa chữa cái gì hết cả mà cài Form của em nó vẫn hiện tiếng Việt bình thường. (Em dùng WinXP)
Trong phần Property của Form em để Font là: Ms Sans Serif
Rồi khi gõ em gõ bằng UniKey (để ở chế độ TCVN3 hay Unicode đều được cả).
Khi đó em chạy thì nó vẫn hiện tiếng Việt bình thường mà(Cả MidForm, Msgbox, Form thường)

IRON
12-09-2002, 10:43
Chỉ cần click chuột phải lên màn hình chọn Properties=>Display Properties chọn Appearance => chọn font cần làm là có thể viết chữ việt được mà.

quatban
12-09-2002, 12:35
Gửi "phangtomat" : Bạn đếm xem có bao nhiêu người sử dụng WinXP, chẳng lẽ muốn chạy chương trình của bạn thì phải cài winXp hay sao?
Gửi "IRON": Chẳng lẽ đem chương trình qua máy khác(ví dụ như setup) thì phải làm động tác như vậy trước khi chạy hay sao?
Gửi tất cả những ai quan tâm: Tôi có viết 1 bài trên DDTH tên là "Thay đổi Font hệ thống trong VB" trong Box "Visual Studio" các bạn nào quan tâm có thể download về mà nghiên cứu.

bpmtri
12-09-2002, 13:55
Cách giải quyết của bạn quatban đơn giản và hiệu quả, nhưng có một nhược điểm mà tôi cũng đã từng mắc phải là mình thay đổi font hệ thống của người dùng, nếu có một chương trình nào đó cũng làm theo cách của chúng ta thì coi như tiêu do mấy chương trình của Việt Nam viết hay sử dụng cách này, nhưng mỗi một công ty lại sử dụng một font hệ thống riêng, khác bảng mã với font mà chương trình của ta dùng, hoặc ta thay đổi font hệ thống không khớp với font hệ thống người sử dụng đang dùng.

Cách giải quyết tốt nhất là vẽ lại caption của form, nhưng cách này hơi bị khó, nhưng ta có thể customize cái thanh title bar của form. Đối với button cũng vậy thôi. Riêng với Message Box thì có thể giải quyết bằng cách tạo Form ở trên.

Nếu các bạn viết bằng VC++ thì tôi có thể giúp được, còn VB thì tui đầu hàng... lol

quatban
12-09-2002, 14:19
Vẽ lại Caption trong VC tôi cũng làm rồi(phải nó là cực kỳ....mệt). Viết bằng MFC mà setfont cho các control theo tôi thì hơi cực. Giải pháp của tôi đưa ra trong khi chúng ta chưa có giải pháp về thống nhất Font chữ trong tin học thì đúng là không hay lắm. Nhưng trong trường hợp có 1 phần mềm khác cũng dùng cách này thì tôi đảm bảo là chương trình của tôi(còn của người ta thì không biết) không hề hấn gì(dĩ nhiên phải thêm 1 số hàm API nữa) còn vẽ lại Caption, Menubar thì tôi e là còn khó hơn trong các trường hợp mà chương trình sử dụng cách của tôi xử lý. Cái gì nó cũng có cái giá của nó, nếu nói vẽ lại thì cái khó là khâu xử lý nhưng an toàn và ổn định còn thay đổi font hệ thống thì đơn giản, hiệu quả nhưng có trời mới biết lúc nào nó ... chết(chắc chắn là có lúc nó sẽ chết), cái nay thì tùy mọi người chọn.

bpmtri
12-09-2002, 14:23
Vậy có nên chăng chúng ta xây dựng một riêng một thư viện các control có thể dùng tiếng Việt, cụ thể là dùng Unicode, tuy cực vào lúc đầu nhưng rất hữu ích về sau. Các bạn thấy thế nào?

quatban
12-09-2002, 14:32
Ý tưởng là rất hay. Nhưng cái này đúng là cực thật (chính xác, đối với tôi là khó). Tôi nghĩ bpmtri nên tạo một chuyên mục về ý tưởng này để các bạn khác có cơ hội tham gia.

nnh
16-09-2002, 11:35
bạn bpmtri ơi bạn post theo chủ đề mới bàn về việc này đi. Công việc việt hoá cho các công cụ, điều khiển trên form cần nhiều công sức và tốn thời gian nếu có thể bạn có thể đưa ra làm chung.