PDA

View Full Version : Dung Unicode trong VB???



chinhthuan
23-08-2002, 08:27
Các bạn cho hỏi chút nhé :-) Mình viết đoạn mã đổi chữ ra số trong VB (dùng trong word va excel), font hiển thị là VNI-Times. Nay muốn dùng font Tahoma nhưng không thể nào cho nó hiện lên được. Vậy có cách nào để dùng font Unicode trong VB không.
Mình dùng WinXP và Off XP. Rất mong các bạn chỉ dẫn.
Cám ơn nhiều.

Nguyen Thanh Binh
23-08-2002, 13:08
Chao ban. Minh da co thay nguoi ta viet chuong trinh doi so ra chu. Minh chua thay chuong trinh nao doi duoc chu ra so. Lam sao ban lam duoc vay ? Chi minh voi. Con ve chuyen font chu thi theo minh, ban go lai tat ca la xong. lol Bye

quaitieutu
23-08-2002, 15:15
Unicode thì dùng được trong VB nhưng mà VB.Net à.Còn như nó đã dùng Vni thì mình cũng đưa qua vni luôn đi cho tiện,khỏi đổi nữa.VB.net thì có hỗ trợ Unicode còn Vb6 thì không
chúc vui

quatban
24-08-2002, 17:15
Quai tieu Tu noi dung do. Ma neu ban viet duoc chuong trinh nhu vay lieu co the cho toi xem ma nguon duoc khong?(Toi khong tin la ban viet duoc chuong trinh nhu vay)

chinhthuan
26-08-2002, 08:50
Xin lỗi tất cả các bạn mình có nhầm lẫn một chút. Cái ctrình nhỏ đó là để đổi số ra chữ. Mình muốn biết là làm sao để dùng được font Tahoma Unicode để thể hiện. Vì toàn bộ các tài liệu mình dùng (trong word và excel) đều dùng font này, không lẽ riêng cái đoạn "viết bằng chữ" này lại dùng font khác thì kỳ quá :-)))).
Vậy bạn nào biết thì chỉ giúp nhé.

quatban
26-08-2002, 11:02
VB6 hinh nhu khong ho tro Unicode thi phai. ban co the len Net download cac textbox do cac nha phat trien phan mem viet de co the su dung.

danceswithwolves
26-08-2002, 13:14
vào vb6\Project\Components..., add Microsoft Form 2.0 Library thì sẽ có các control hỗ trợ Unicode. Nhưng nói trước là nó chuối lém đó...

Nguyen Thanh Binh
26-08-2002, 17:53
Bạn ơi. Bạn đang dùng Win XP hả. Mình mới nhớ là font Tahoma trong Windows XP là font tổ hợp. Mình cũng đang sử dụng Windows XP và cũng viết được tiếng việt bằng font Tahoma của Windows XP bằng VB6 được. Bạn thử lại xem. Windows XP có hỗ trợ tiếng việt đấy. Bye.

Nguyen Thanh Binh
26-08-2002, 17:58
Quên nữa ! Lúc chọn font cho điều khiễn. Bạn nhớ sửa chữ Western lại thành Vietnamese. Bye.

wallanh
26-08-2002, 18:02
Nè , các bác mà muốn dùng unicode trong VB thì có thể xem mã nguồn ở trang web: http://www.vovisoft.com
Ở đây có rất nhiều bài viết cũng như mã nguồn về VB hay lắm !Các bạn mới bắt đầu học VB nên thử váo đây 1 lần

adprog
03-09-2002, 13:21
các ban oi, dung font Unicode trong VB6 nhu the nao, trong VB for Aplication cung vay, vi dung minh gang Msgstr= mot chuoi unicode nhung khong the xuat no len lam caption trong Lable đươc.

masterqdung
03-01-2004, 20:10
Bạn đổi chữ ra số à.
Hay thế nhỉ, chỉ giáo mình cách thức với, được không.

Còn VB6 hiển thị được tiếng Việt Unicode, mình làm rồi.
Nếu bạn chứa dwx liệu ở đâu đó. VB connect nó, hiển thị vô MSForm 2.0, cho phép update lại ngon lành.
Mình đã thử với SQL và Access Unicode, OK
Bye

dtt_vn
03-01-2004, 22:29
Đây này:
VB6 support Unicode trong phần nhân. Bằng chứng là kiểu string là 2bytes cho một char
Các Components mà VB6 sử dụng hay thường là các OCX cho các đời W từ 95+ đến < 2000 đều không support unicode. Đó là vấn đề tại sao không hiện ra được

Trong VB6 có các hàm liên quan đến unicode string như Chr$, ChrW ...

Có bạn nào nói là tổ hợp được Unicode trong VB thì cái đó tôi chưa hiểu rõ như rất lạ đấy. Cho xem mã nguồn đi bạn...!
VB hầu như xâu dựng các objs của nó để tương thích với các W95+ cho nên muốn hiện ra các ký tự có mã > 256 thì không thể xảy ra

ChinDangShun
06-01-2004, 18:10
Đúng là VB6 hỗ trợ Unicode ở phần nhân và một bộ phận các hàm xử lý Unicode (ChrW, StrConv, AscW, ...) và một số hàm xử lý đến mức byte (LenB, LeftB, MidB, ...). Do vậy, VB6 có thể sử dụng được Unicode bằng cách kết hợp các hàm xử lý trên với các hàm display của API32. Tuy nhiên các hàm API32 này chỉ có thể dùng được trên Windows dòng NT từ 4.0 -> 6.0 (NT40, 2000, 2003). Windows 9x không báo lỗi, cũng không hỗ trợ.

Khi dùng Unicode, các biến được truyền phải có dạng mảng (array) là 2-byte. 1 byte thấp, 1 byte cao.
''''''''''''''''''''''''''''''''''
Type Unicode
bytHigh As Byte
bytLow As Byte
End Type
Dim UniChar(2) As Unicode
'''''''''''''''''''''''''''''''''''
Ví dụ chữ "Щ" trong tiếng Nga có ký hiệu Hex là &H0429 thì cần phải chuyển nó thành 2 byte. Byte cao là &H29, byte thấp là &H4. Sau đó truyền nó vào đối số của hàm API32.
'''''''''''''''''''''''''''''''''''
UniChar(0).bytHigh = &H29
UniChar(0).bytLow = &H4

UniChar(1).bytHigh = &H0
UniChar(1).bytLow = &H0

Ret = TextOutW (Me.hDC, 0&, 0&, UniChar(0), 2)

Thế thôi !

masterqdung
08-01-2004, 18:43
Mình nói về cái MSForm2.0 có gì sai không nhỉ.
Có phải bạn nói mình nói ngoa ko ? Nếu dtt_vn thắc mắc thì mình xin phép giải thích lại. Nó là thế này:

Mình tạo ra CSDL bằng Access hay .... Sau đó dùng VB với các ctl của MSForm2.0, connect đến Database đó, read nó ra các control của form20, sau đó, có thể sửa đổi thông tin hoặc thêm mới và update lên lại database.

Unicode chạy ngon lành. Bạn hiểu chưa nhỉ.
Bye