• 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

Hướng dẫn Việt hóa ứng dụng viết bằng VB

Các bài viết hướng dẫn, giúp các bạn hiểu và tiếp cận với Visual Basic nhanh hơn
Hình đại diện của người dùng
NoBi
Quản trị
Quản trị
Bài viết: 956
Ngày tham gia: T.Ba 18/03/2008 1:22 pm
Đến từ: Sài Gòn
Has thanked: 52 time
Been thanked: 66 time
Liên hệ:

Hướng dẫn Việt hóa ứng dụng viết bằng VB

Gửi bàigửi bởi NoBi » T.Tư 22/04/2009 11:00 am

Tên bài viết: Hướng dẫn Việt hóa ứng dụng viết bằng VB
Tác giả: VBClub
Cấp độ bài viết: Khá trở lên
Tóm tắt: Chào các bạn!
Để Việt hóa 1 ứng dụng viết bằng VB, trong diễn đàn đã có 1 chuyên mục thảo luận riêng về vấn đề này rồi. Tuy nhiên vì nó khá dài làm cho một số thành viên vô sau hơi “ngộp” nên tui xin mở bài viết này để tóm tắt một số nội dung chính, cô đọng lại vấn đề để các bạn tiện theo dỏi. Đây chỉ là viết lại theo hiểu biết của mình, nếu có gì thiếu xót các bạn hãy bổ sung thêm cho hòan chỉnh nhé!.
Các bạn có thể tham khảo thêm các bài viết bên diễn đàn cũ: http://oldforum.caulacbovb.com/viewtopic.php?t=55


Để Việt hóa một ứng dụng, chúng ta có 2 cách dùng Font là:

  1. Dùng Font tiếng Việt cũ như Font VNI, TCVN3 – ABC…
    Ưu: đơn giản, dể thực hiện. Có thể thiết kế trực tiếp trên VB IDE.
    Khuyết: đòi hỏi máy chạy chương trình này phải có Font mà ứng dụng đã sử dụng. Do đó để chắc ăn, cần phải có tập tin Font đã sử dụng đi kèm theo với chương trình.
  2. Sử dụng Font Unicode
    Ưu: không cần quan tâm đến Font vì hiện nay hầu như máy nào cũng đã có sẵn Font Unicode. Có thể biểu diễn ở nhiều ngôn ngữ.
    Khuyết: kỷ thuật phức tạp.


:>

Hình đại diện của người dùng
NoBi
Quản trị
Quản trị
Bài viết: 956
Ngày tham gia: T.Ba 18/03/2008 1:22 pm
Đến từ: Sài Gòn
Has thanked: 52 time
Been thanked: 66 time
Liên hệ:

Re: Hướng dẫn Việt hóa ứng dụng viết bằng VB

Gửi bàigửi bởi NoBi » T.Tư 22/04/2009 11:07 am

Sử dụng Font tiếng Việt TCVN3 (ABC); VNI...


Như bài viết trên đã nói, khi sử dụng Font tiếng Việt trong chương trình, công việc cần lưu ý của chúng ta là phải có Font tiếng Việt đã sử dụng đi kèm với chương trình vì hiện nay hầu như còn rất ít máy có cài sẳn những Font tiếng Việt này. Để mang tập tin Font tiếng Việt này theo, chúng ta có 2 cách:

  1. Copy Font theo chương trình. Tức là ngòai tập tin .exe còn có thêm tập tin Font nữa.
    Ưu: dể thực hiện.
    Khuyết: dể thất lạc tập tin Font vì người dùng xóa hay quên copy theo.
  2. Dùng Resource nhúng tập tin Font vào tập tin .exe. Tức là chương trình của chúng ta sẽ chỉ có 1 tập tin .exe mà thôi, nhưng khi chạy nó sẽ sinh ra tập tin Font.
    Ưu: không sợ bị mất tập tin Font nữa, bảo đảm chương trình sẽ hiển thị tiếng Việt tốt trên mọi máy.
    Khuyết: khó thực hiện hơn, tập tin .exe sẽ bị phình to ra vì nó có chứa thêm tập tin Font trong đó.
    Xem hướng dẫn sử dụng Resource tại đây
Rồi, sau khi đã có tập tin Font, đầu tiên chúng ta sẽ kiểm tra cái Font mà mình sử dụng có trong máy đó chưa, nếu có rồi thì quá khỏe, bỏ qua bước này. Còn nếu chưa có thì chúng ta tiến hành đăng ký tập tin Font này với hệ thống. Để đăng ký tập tin Font này, chúng ta lại cũng có 2 cách:

  1. Copy tập tin Font này vô thư mục Fonts của Windows (C:\WINDOWS\Fonts), giống như install 1 Font mới cho hệ thống. Từ bây giờ máy đó sẽ luôn có Font này cho dù không sử dụng chương trình của mình.
  2. Để tập tin Font đó bên ngòai (ví dụ: để chung với tập tin chương trình .exe). Mỗi lần chạy là mỗi lần đăng ký sử dụng Font này, sau khi kết thúc chương trình thì (remove) ngắt đăng ký sử dụng. Như vậy là nếu có chương trình của mình thì có Font này, nếu chương trình mình không chạy thì Font này cũng không tồn tại.

Sau khi giải quyết xong khâu mang vác và đăng ký tập tin Font xong rồi, công việc còn lại rất đơn giản. Đối với bất kỳ Control nào, bạn chỉ cần đặt thuộc tính Font là cái tên Font tiếng Việt cần sử dụng, chọn bảng mã thích hợp cho bộ gõ là xong.
Tập tin đính kèm
tieng_Viet1.rar
Source code ví dụ
(13.96 KiB) Đã tải 1358 lần
:>

PhuongThanh37
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 87
Ngày tham gia: T.Sáu 09/09/2005 1:38 pm
Đến từ: Liên Hà, Đông Anh, HN
Liên hệ:

Re: Hướng dẫn Việt hóa ứng dụng viết bằng VB

Gửi bàigửi bởi PhuongThanh37 » T.Tư 22/04/2009 11:12 am

Sử dụng font TCVN theo như NoBi phân tích và hướng dẫn là OK 100%. Giờ Thanh chỉ nói 1 chút thêm về Code
  • Khi tạo 1 file để chắc chắn 100% tạo được thì ko phải tại AppPath hay C:\ ... vì ta có trường hợp chạy qua mạng LAN, hoặc Acc sử dụng Windows ko có quyền Admin đc đọc viết 1 số thư mục nào đó nên để chắc chắn viết được ra file Font thì đó là ghi nó ra thư mục TEMP
  • Tiếp theo đó là khi sử dụng AddFontResource thì chưa chắc Windows đã Refresh để nhận được là đã có Font mới thêm vào nên ta phải sử dụng SendMessage HWND_BROADCAST, WM_FONTCHANGE, 0, 0 để Refresh lại
  • Nếu sử dụng Form thì để công việc AddFontResource trong Form_Initialize và nếu dùng Module thì trong Main() để đảm bảo có Font đầu tiên rồi mới làm công việc khác.
  • Đặc biệt đừng sử dụng RemoveFontResource khi kết thúc chương trình vì biết đâu lần chạy sau có trục trặc gì đó ko AddFontResource. Ta chỉ kiểm tra nếu chưa tồn tại Font trong Screen.Fonts thì add còn có rồi thì thôi chứ dại gì có rồi lại Remove nó đi :D
Thanh đính kèm demo các bạn xem thử xem có lỗi gì nữa ko đưa ra bàn luận tiếp
Tập tin đính kèm
TVABC.zip
(6.62 KiB) Đã tải 930 lần
Uống Chanh & nghe Chanh hát

Hình đại diện của người dùng
NoBi
Quản trị
Quản trị
Bài viết: 956
Ngày tham gia: T.Ba 18/03/2008 1:22 pm
Đến từ: Sài Gòn
Has thanked: 52 time
Been thanked: 66 time
Liên hệ:

Re: Hướng dẫn Việt hóa ứng dụng viết bằng VB

Gửi bàigửi bởi NoBi » T.Tư 22/04/2009 11:34 am

Sử dụng Font Unicode


Như chúng ta biết, VB6 không hổ trợ Unicode trực tiếp qua IDE và ngay cả trong bản thân VB6. Nhưng Microsoft đã rất “lịch sự” khi thiết kế sẳn 1 số hàm có hổ trợ Unicode để “bỏ ngõ” trước cho phiên bản nâng cấp sau này của họ. Như vậy công việc của chúng ta là phải biết phối hợp 1 số ít hàm có hổ trợ Unicode này để đạt kết quả theo ý muốn.

Để áp dụng Unicode vào chương trình VB6, chúng ta có 2 lựa chọn là Unicode tổ hợp và Unicode dựng sẳn.

  1. Unicode tổ hợp:
    Ưu: dể thực hiện.
    Khuyết: chử hiển thị xấu, rời rạc.
  2. Unicode dựng sẳn:
    Ưu: chử hiển thị rỏ ràng, đẹp.
    Khuyết: khó thực hiện.


Unicode tổ hợp


Chúng ta cùng tìm hiểu cách sử dụng Unicode tổ hợp trước nhé. Để dùng Unicode tổ hợp, trước tiên bạn vào Control Panel -> Regional Laguage Options -> tab Languages, trong khung Supplemental language support bạn đánh dấu vào Install files for complex script and… để mở khả năng hổ trợ tiếng Việt của Windows.
Rồi, công việc còn lại khá nhẹ nhàng, bạn vẫn thiết kế chương trình như bình thường, chuyển bảng mã của bộ gõ thành Unicode tổ hợp và gõ bình thường trong code và cửa sổ IDE (nó sẽ không hiển thị đúng do IDE không support Unicode nhưng khi chạy thì sẽ bình thường).
Tiếp theo bạn chọn Control có hiển thị chuỗi Unicode tổ hợp, chọn thuộc tính Font -> Chọn 1 font Unicode (như Tahoma, Arial…) trong mục Font, và đây là phần quan trọng nhất: ở mục Script, bạn chọn Vietnamese.

Mấu chốt ở đây là phần chọn Script là Vietnamese cho font hiển thị của Control. Bạn có thể làm việc này bằng thao tác trên hoặc bằng code:

Mã: Chọn hết

  1. Label1.Font.Name = "Tahoma"
  2. Label1.Font.Charset = 163 'Script là Vietnamese
  3. Label1.Caption = "tiêìng viêòt"
Tập tin đính kèm
UnicodeToHop.png
Unicode tổ hợp
:>

Hình đại diện của người dùng
thuongall
Quản trị
Quản trị
Bài viết: 455
Ngày tham gia: T.Tư 26/01/2005 8:05 am
Đến từ: Quê hương Đồng Khởi
Been thanked: 9 time
Liên hệ:

Re: Hướng dẫn Việt hóa ứng dụng viết bằng VB

Gửi bàigửi bởi thuongall » T.Tư 22/04/2009 11:41 am

Sử dụng bảng mã Unicode Tổ hợp (Windows CP 1258)


Vấn đề này đã được NoBi đề cập ở trên, nhưng với bài viết này tôi sẽ hướng dẫn cách sử dụng Unicode Tổ hợp một cách triệt để hơn. Đầu tiên bạn cần thiết lập môi trường tiếng Việt trên Windows (thử nghiệm trên Windows XP) của bạn bằng cách thực hiện theo 2 bước sau:

1. Bạn vào Control Panel -> Regional and Language Options -> tab Languages, trong khung Supplemental language support, bạn đánh dấu vào Install files for complex script and… rồi nhấn Apply. Thao tác này sẽ chép một số tập tin cần thiết vào hệ thống của bạn nên yêu cầu bạn phải có đĩa cài đặt Windows XP. Sau khi cài đặt thêm các tập tin xong, bạn có thể phải khởi động lại máy nếu hệ thống yêu cầu.
image1.png


2. Bạn vào lại Control Panel -> Regional and Language Options, lần này bạn qua tab Advanced, trong khung Language for non-Unicode programs, bạn chọn Vietnamese từ danh sách. Cuối cùng nhấn OK, hệ thông yêu cầu khởi động lại máy, sau khi khởi động lại, việc thiết lập môi trường tiếng Việt xem như hoàn thành. Bạn bắt đầu bước qua giai đoạn lập trình một ứng dụng có giao diện hoàn toàn bằng tiếng Việt rồi đấy.
image2.png


Để tiếp tục, bạn cần phải có một bộ gõ tiếng Việt hỗ trợ bảng mã Unicode Tổ hợp, tôi dùng Unikey và đã chuyển qua bảng mã Unicode Tổ hợp (dùng bảng mã Windows CP 1258 cũng cho kết quả tương tự, vấn đề này tôi cũng đã có đề cập trong forum này rồi). Mở VB6 lên và lúc này bạn có thể gõ tiếng Việt mọi nơi trong VB6 IDE như hình dưới đây:
image3.png


Bạn thấy đấy, tất cả các control chuẩn của VB đều hỗ trợ tốt Unicode Tổ hợp, kể cả caption của form, menu, MsgBox... Với các control nằm trong Frame như hình trên, để hiển thị được tiếng Việt, trong cửa sổ chọn font cho nó, bạn cần chọn một font Unicode như Tahoma và chọn Script là Vietnamese.

Nhận xét:
- Với bước 2 của việc thiết lập môi trường tiếng Việt cho Windows như trên đã khắc phục được hiện tượng chữ hiển thị rời rạc. Tuy nhiên khi gõ tiếng Việt trực tiếp trong cửa sổ code, mỗi dấu tiếng Việt sẽ có chiều rộng bằng với một ký tự nên khi gõ bạn sẽ thấy con trỏ dịch ra ngày càng xa vị trí của chữ đang gõ.
- Khi thiết lập môi trường tiếng Việt cho Windows, trên các ứng dụng khác, một số ký tự có dấu nhưng không phải là ký tự Unicode sẽ hiển thị sai (như í, ì, é, ê, đ...). Cách khắc phục là bạn có thể thiết lập lại như cũ ở bước 2.
- Cuối cùng, với cách thiết lập môi trường tiếng Việt như trên, chúng ta có thể Việt hóa các phần mềm khác bằng cách gõ lại theo bảng mã Unicode Tổ hợp (Windows CP 1258) trong resource của chương trình hay trong file language của nó. Đây cũng là cách gõ tiếng Việt trên status của YM trong khi chat...

Hình đại diện của người dùng
NoBi
Quản trị
Quản trị
Bài viết: 956
Ngày tham gia: T.Ba 18/03/2008 1:22 pm
Đến từ: Sài Gòn
Has thanked: 52 time
Been thanked: 66 time
Liên hệ:

Re: Hướng dẫn Việt hóa ứng dụng viết bằng VB

Gửi bàigửi bởi NoBi » T.Ba 26/05/2009 10:47 pm

Các bạn có thể vào forum cũ tham khảo trước. Vì thật ra mình cũng tổng hợp từ đây mà thôi.
http://oldforum.caulacbovb.com/viewtopic.php?t=55
:>

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4763
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: 517 time

Tiếng Việt với VB6

Gửi bàigửi bởi truongphu » T.Ba 18/08/2009 11:03 pm

Tên bài viết: Tiếng Việt với VB6
Tác giả: truongphu
Cấp độ bài viết: căn bản
Tóm tắt: giới thiệu các bảng mã và font tiếng Việt, ứng dụng trong VB6



A- Khái niệm Bảng Mã: là một trật tự được quy định sẵn của nhiều ký tự khác nhau

A1- Bảng mã 1 byte: 1 byte có 8 bit, một bit diễn tả 2 trạng thái, 1 byte diễn tả tối đa 256 ký tự (2^8).

- Bảng mã đầu tiên chuẩn hóa là bảng mã ACII (American Standard Code for Information Interchange - Mã chuẩn Hoa kỳ trong Trao đổi Thông tin), chỉ dùng có 7 bit với 128 ký tự (bit đầu tiên bỏ), là bộ kí tự và bộ mã kí tự dựa trên bảng chữ cái La Tinh được dùng trong tiếng Anh hiện đại và các ngôn ngữ Tây Âu khác. Nó thường được dùng để hiển thị văn bản trong máy tính và các thiết bị thông tin khác. Nó cũng được dùng bởi các thiết bị điều khiển làm việc với văn bản.

Các chữ cái in được theo thứ tự trong ASCII là:
!"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ `abcdefghijklmnopqrstuvwxyz{|}~
từ vị trí 21 (33) đến 7E (126); các vị trí còn lại là các ký tự điều khiển, ví dụ phím Esc 1B (27) hoặc phím Delete 7F (127). Bảng mã nầy luôn luôn được tôn trọng giữ nguyên trong các bảng mã khác.

- Bảng mã ANSI (ACII mở rộng), dùng đủ 8 bit với 256 ký tự, bao gồm cả 128 kí tự trong mã ASCII chuẩn. Các kí tự sau là các phép toán, các chữ có dấu và các kí tự để trang trí.
Xin gọi trình Character Map, chọn font Fixedsys, trật tự các ký tự hiện ra ấy chính là bảng mã ANSI.

VB6 chuẩn hoạt động với bảng mã ACII mở rộng nầy: Ta có thể gõ trong môi trường code các ký tự HOA có dấu sau: À Á Â Ã È É Ê Ì Í Ð (Ð nầy khác = nhấn phím Alt và gõ 0208, thả ra) Ò Ó Ô Õ Ù Ú Ý kèm các chữ thường, không gõ được đ
Để thể hiện tiếng Việt chuẩn xác trong môi trường code và các control, người ta thường dùng các Font thuộc bảng mã Việt Nam 1 byte sau đây (có rất nhiều bảng mã Việt nam 1 byte; mỗi bảng mã có kiểu sắp xếp ký tự tiếng Việt có dấu khác nhau)

- Bảng mã TCVN3(ABC) cũng là 1 byte, thay đổi các ký tự trong phần mã ACII mở rộng để có các ký tự có dấu của tiếng Việt
Xin gọi trình Character Map, chọn font .Vn
- Bảng mã VNI cũng như trên... tương tự các bảng mã Việt Nam khác, có trước đây, đều là bảng mã 1 byte
Xin gọi trình Character Map, chọn font Vni hay font của bảng mã khác

A2- Bảng mã 2 byte: có thể chứa đến tối đa 65536 (2^16).
Trật tự của 256 ký tự trong bảng mã ANSI được giữ nguyên...
Xin gọi trình Character Map, chọn font Arial
Với sức chứa lớn, bảng mã 2 byte đủ thỏa mãn cho tất cả các ký tự trên thế giới, nhưng lại chưa có sự thống nhất kỹ thuật xử lý, thành ra cũng sinh ra rất nhiều bảng mã 2 byte
Với tiếng Việt, rất hên từ vị trí &H1EF9 = ký tự ỹ (7929) trở về trước, đã có đủ các ký tự; Tuy thế không phải là hết rắc rối: từ vị trí quy định trong bảng mã chuyển thành mã code cũng lại sinh lắm bảng mã. Bạn cứ click phải vào Unikey ở system tray: từ bảng mã UTF- 8... đến Vietnamese locale CP 1258 đến Unicode dựng sẵn... tôi đếm Unikey phục vụ 8 bảng mã 2 byte Unicode. Nói chung, chúng ta quen dùng theo thứ tự là: Unicode dựng sẵn (đa số), UTF- 8 rồi Vietnamese locale CP 1258 (mã Microsoft viết cho Việt nam)
Bảng mã 2 byte nói chung là bảng mã Unicode
*** Hiện Unicode đang sử dụng bảng mã 3 byte (2^31 = 2 tỉ ký tự, bỏ trống 1 bit)

B- Khái niệm Mã: là số nguyên dương đại diện cho một kí tự trong một bảng mã, đấy cũng chính là vị trí ký tự trong bảng mã. Ví dụ, trong bảng mã tiếng Việt TCVN-ABC, kí tự "ầ" có mã C7. Trong bảng tiếng Việt VISCII, "ầ" có mã là A5. Trong bảng Unicode, "ầ" có mã là 1EA7 (=7847 thập phân). Bộ gõ sẽ gởi Mã nầy (nhị phân) đến CPU xử lý để hiện ra ký tự tương ứng.

C- Khái niệm về Font: là tập hợp hoàn chỉnh các chữ cái, các dấu câu, các con số, và các ký tự đặc biệt, theo một kiểu loại, định dạng (thường hoặc đậm nét), hình dáng (thẳng hoặc nghiêng) và kích cỡ phù hợp và có thể phân biệt khác nhau. Một Font cụ thể thường xây dựng dựa trên một bảng mã cụ thể.

*** Sơ Tóm giữa Bảng mã và Font
- Gõ tiếng Việt, trên bộ gõ phải chọn đúng bảng mã của Font. Sau đó nếu cần, chọn Font khác cùng bảng mã để ký tự cho đẹp!
- VB6 (chuẩn) thích hợp bảng mã 1 byte, do đó ta phải chọn các Font thuộc bảng mã 1 byte

D- Khái niệm Mã hóa ký tự
các khái niệm sau là chưa rõ ràng, nhưng trong thực tế vẫn có người gọi nên được trình bày
- Font 1 byte: như Fixedsys (ANSI), .VnTime (ABC) loại Font dựng sẵn, mã hóa cần 1 byte
- Font 2 byte: như VNI-Times (VNI): Cần lưu ý bảng mã VNI vẫn là 1 byte, loại font tổ hợp, có các ký tự dấu mũ kèm thanh riêng, do đó khi mã hóa lại cần đến 2 byte: byte nguyên âm và byte thanh
- Font Unicode: là nhóm font có chứa đủ các ký tự Unicode. Từ WinXP trở lên, nhóm font nầy đười cài nhiều trong máy: Arial (mới), Times New Roman (mới), Tahoma (mới)...
- Mã hóa UTF-8 : Cách mã hoá UTF-8 có thể chiếm từ 2 đến 4 byte như sau (65536):
byte đầu tiên của một kí tự Unicode sẽ chỉ định có bao nhiêu byte đi kèm theo dành cho kí tự đó
Mã Unicode từ 0000 - 007F sẽ thành 1 byte
Mã Unicode từ 0080 - 07FF sẽ thành 2 byte
Mã Unicode từ 0800 - FFFF sẽ thành 3 byte
Với bảng mã Unicode (3 byte)= 2 tỉ ký tự, số byte đi kèm có thể lên đến 6!
- Còn có các loại mã hóa Unicode khác. Ở đây chỉ nói sơ qua

E- Tiếng Việt Unicode với VB6
Nhắc lại, môi trường chuẩn VB6 không hổ trợ tiếng Việt Unicode. Người ta thường dùng bảng mã 1 byte của Việt nam để thay thế; sử dụng tốt cho môi trường code và các control: Khai Font Việt Nam đúng là êm.
Cố thể hiện tiếng Việt Unicode với VB6 như sau:
E1- Môi trường Code:
* Hoặc các ký tự có dấu phức tạp, ta dùng kèm hàm ChrW, ví dụ từ 'lên lớp' : Msgbox "lên l" & ChrW(7899) & "p"
Bạn chú ý: ký tự ê như đã nói, ta gõ trực tiếp, khỏi cần dùng hàm ChrW cho ký tự nầy
* Hoặc gõ theo kiểu VNI và dùng hàm chuyển ra Unicode, xem VBLib (Đổi chuỗi ANSII sang Unicode)
...
E2- Các Control:
* Đơn giản nhất là dùng bộ controls MS Form 2.0 của Microsoft, khai các font nhóm Unicode
* Dùng các control do các tác giả người Việt viết sẵn, forum chúng ta với tác giả DQHung:
Unicode Full Controls ™ Version Final [Update 16/08]
viewtopic.php?f=36&t=22
* MsgBox Unicode
viewtopic.php?f=52&t=8858&start=0&hilit=ti%E1%BA%BFng+Vi%E1%BB%87t
* tCoolMessageBox - MSGBOX tiếng Việt, tùy chỉnh ICON
viewtopic.php?f=36&t=8230&p=51613&hilit=+ti%E1%BA%BFng+Vi%E1%BB%87t+#p51446
* Một số hộp thoại tiếng Việt
viewtopic.php?f=30&t=3550&start=0&hilit=ti%E1%BA%BFng+Vi%E1%BB%87t

* Dùng control chuẩn, khai báo font nhóm Unicode theo bài viết của tác giả thuongall

Mã: Chọn hết

  1. Private Declare Function DefWindowProcW Lib "user32" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  2. Private Const WM_SETTEXT As Long = &HC
  3.  
  4. Public Sub SetUniText(ByVal hwnd As Long, ByVal sUniText As String)
  5. '
  6. ' Mo ta:        Unicode TitleBar, Frame, Button, CheckBox, Option
  7. ' Yeu cau:      Frame, Button, CheckBox, Option khong ho tro XP style
  8. ' Nguoi viet:  thuongall
  9. ' Email:        thuongall@yahoo.com
  10. ' Website:      www.caulacbovb.com
  11. '
  12.     DefWindowProcW hwnd, WM_SETTEXT, &H0&, StrPtr(sUniText)
  13. End Sub

Tiêng Viêt thuongall.rar
(1.6 KiB) Đã tải 1085 lần
Tập tin đính kèm
Tieng viêt all form.rar
(3.25 KiB) Đã tải 1270 lần
o0o--truongphu--o0o

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

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4763
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: 517 time

Re: Tiếng Việt với VB6

Gửi bàigửi bởi truongphu » T.Ba 18/08/2009 11:04 pm

(tiếp theo, vì mỗi bài chỉ cho 10 link)


* Tiếng Việt trong label,command
http://caulacbovb.com/oldforum/download ... bc33fa0fc7

* Hiển thị tiếng Việt trong VB6.0 - Phải chăng là nan giải?
viewtopic.php?f=7&t=57&hilit=ti%E1%BA%BFng+Vi%E1%BB%87t+Unicode#p805

* InputBox hỗ trợ Tiếng Việt Unicode đây bà con
viewtopic.php?f=29&t=1439&p=8604&hilit=+ti%E1%BA%BFng+Vi%E1%BB%87t+Unicode+#p8450

*Tiêu đề tiếng Việt Unicode cho Form trong VB6
viewtopic.php?f=29&t=8334&start=0


* Gõ Tiếng Việt trong ứng dụng VB6 Không Hook không Dll,OCX
viewtopic.php?f=33&t=6337&p=52353&hilit=+ti%E1%BA%BFng+Vi%E1%BB%87t+#p40091

E3- Đọc file Unicode
Đọc/Ghi file text có mã Unicode
viewtopic.php?f=27&t=151&start=0

* Lưu file TXT Unicode
viewtopic.php?f=28&t=5905&start=0

E4- Path Unicode
viewtopic.php?f=7&t=8124&p=50813&hilit=+ti%E1%BA%BFng+Vi%E1%BB%87t+#p50886

Nói chung là nhiều lắm, mong các tác giả chưa được trích dẫn đừng phật lòng vì khá bối rối trước một khối đồ sộ bài về tiếng việt Unicode
o0o--truongphu--o0o

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

haluwen9
Bài viết: 9
Ngày tham gia: T.Tư 25/07/2012 9:03 am
Has thanked: 1 time

Re: Hướng dẫn Việt hóa ứng dụng viết bằng VB

Gửi bàigửi bởi haluwen9 » T.Năm 25/10/2012 9:00 am

thuongall đã viết:
Sử dụng bảng mã Unicode Tổ hợp (Windows CP 1258)


Vấn đề này đã được NoBi đề cập ở trên, nhưng với bài viết này tôi sẽ hướng dẫn cách sử dụng Unicode Tổ hợp một cách triệt để hơn. Đầu tiên bạn cần thiết lập môi trường tiếng Việt trên Windows (thử nghiệm trên Windows XP) của bạn bằng cách thực hiện theo 2 bước sau:

1. Bạn vào Control Panel -> Regional and Language Options -> tab Languages, trong khung Supplemental language support, bạn đánh dấu vào Install files for complex script and… rồi nhấn Apply. Thao tác này sẽ chép một số tập tin cần thiết vào hệ thống của bạn nên yêu cầu bạn phải có đĩa cài đặt Windows XP. Sau khi cài đặt thêm các tập tin xong, bạn có thể phải khởi động lại máy nếu hệ thống yêu cầu.
image1.png


2. Bạn vào lại Control Panel -> Regional and Language Options, lần này bạn qua tab Advanced, trong khung Language for non-Unicode programs, bạn chọn Vietnamese từ danh sách. Cuối cùng nhấn OK, hệ thông yêu cầu khởi động lại máy, sau khi khởi động lại, việc thiết lập môi trường tiếng Việt xem như hoàn thành. Bạn bắt đầu bước qua giai đoạn lập trình một ứng dụng có giao diện hoàn toàn bằng tiếng Việt rồi đấy.
image2.png


Để tiếp tục, bạn cần phải có một bộ gõ tiếng Việt hỗ trợ bảng mã Unicode Tổ hợp, tôi dùng Unikey và đã chuyển qua bảng mã Unicode Tổ hợp (dùng bảng mã Windows CP 1258 cũng cho kết quả tương tự, vấn đề này tôi cũng đã có đề cập trong forum này rồi). Mở VB6 lên và lúc này bạn có thể gõ tiếng Việt mọi nơi trong VB6 IDE như hình dưới đây:
image3.png


Bạn thấy đấy, tất cả các control chuẩn của VB đều hỗ trợ tốt Unicode Tổ hợp, kể cả caption của form, menu, MsgBox... Với các control nằm trong Frame như hình trên, để hiển thị được tiếng Việt, trong cửa sổ chọn font cho nó, bạn cần chọn một font Unicode như Tahoma và chọn Script là Vietnamese.

Nhận xét:
- Với bước 2 của việc thiết lập môi trường tiếng Việt cho Windows như trên đã khắc phục được hiện tượng chữ hiển thị rời rạc. Tuy nhiên khi gõ tiếng Việt trực tiếp trong cửa sổ code, mỗi dấu tiếng Việt sẽ có chiều rộng bằng với một ký tự nên khi gõ bạn sẽ thấy con trỏ dịch ra ngày càng xa vị trí của chữ đang gõ.
- Khi thiết lập môi trường tiếng Việt cho Windows, trên các ứng dụng khác, một số ký tự có dấu nhưng không phải là ký tự Unicode sẽ hiển thị sai (như í, ì, é, ê, đ...). Cách khắc phục là bạn có thể thiết lập lại như cũ ở bước 2.
- Cuối cùng, với cách thiết lập môi trường tiếng Việt như trên, chúng ta có thể Việt hóa các phần mềm khác bằng cách gõ lại theo bảng mã Unicode Tổ hợp (Windows CP 1258) trong resource của chương trình hay trong file language của nó. Đây cũng là cách gõ tiếng Việt trên status của YM trong khi chat...

thấy cách này hay nhất, hồi trước có làm giống vậy nè, giờ cài lại win thì ko gõ dc nữa, may tìm dc cái này


Quay về “[VB] Bài viết hướng dẫn”

Đ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.0 khách