PDA

View Full Version : Dùng Unicode với Delphi trên Win9x



khongsound
03-05-2003, 12:47
Đề tài này có vẻ hot đây hehe, theo tại hạ thì đã có khá nhiều components làm được việc này với Delphi (còn Kylix thì built-in support, không chấp). Nhưng hầu hết là shareware.

Freeware thì mới chỉ có TvirtualTree của Mike, và bộ UnicodeLabel để hiển thị Unicode, còn input thì phải dùng Elpack hoặc SkinEngine hoặc một số chú tương tự. Khá đắt.

Bác nào đó nghe người ta xui dại vào sửa code của Delphi hì hì, em nói thật là rất chuối, nếu làm được thì thiên hạ giàu to từ lâu rùi. Túm lại là bác có thể viết, hoặc sửa để delphi hiển thị Unicode, chứ còn input Unicode thì có lẽ ta phải chờ thêm, hic.

Em xin thêm là bài này iem chỉ đè cập đến Win9x, đã một số bác làm em hơi mất thời gian download về, chỉ chạy trên WinXP-2000-NT. Chán!

panda
10-05-2003, 23:57
Ai nói là nhập liệu không được !
Trong Delphi mà dùng clx là được tuốt.
Bạn chỉ cần dùng hàm chuyển chuỗi utf8 là Utf8Decode thành Unicode là Ok.
Vd utf8decode(ti#$ef#$54#$46ng) là thành chuỗi unicode liền.
Nếu rãnh hơn thì viết 1 hàm vni() chuyển tie65ng thành chuỗi utf8
nếu cần code thì tớ post lên.

khongsound
11-05-2003, 00:32
Bác Panda có vẻ tự tin nhẩy,

Bác dùng CLX thì còn dùng được cái gì nữa ạ? Nó chỉ supports các standard comps thôi, em cũng đã thử rồi nhưng không xài được, nhi đồng lắm. Còn cái convert qua Unicode và ngược lại em cũng đã làm thử, không chạy (bác có thể xem thêm rất nhiều hàm tương tự ở EFG's lab của Borland). Lâu quá rồi em không rõ lỗi thế nào, bác post thử cái code đầy đủ lên cái được không? Đa tạ (Hy vọng là bác đã làm thử trên Win9x nhé, thử cái chú Standard Tedit ấy ạ)

panda
21-05-2003, 14:39
Chỉ với Clx thôi chứ Vcl chắc thua rùi
đó giờ viết nhỏ nhỏ nên chỉ xài clx thôi
Bác có thể làm thế này - tạo edit
edit1.text:=utf8decode('nguy'#$e1#$bb#$85'n');
thì sẽ được.