VicoTas
Câu hỏi
avatar Lucky
25/05/2013 20:39

Tôi có viết 1 chương trình editor hiển thị tốt chữ Việt Unicode dựng sẵn nhưng không biết cách hiển thị chữ Việt Unicode tổ hợp?

Tôi có viết 1 chương trình editor hiển thị tốt chữ Việt Unicode dựng sẵn nhưng không biết cách hiển thị chữ Việt Unicode tổ hợp. Xin hướng dẫn.

Danh sách câu trả lời (1)
Củ Chuối ahchicoem 25/05/2013 20:39
Hiện có 2 phương pháp hiển thị chuỗi chữ Việt Unicode (có thể chứa lẫn lộn mã dựng sẵn và tổ hợp) được dùng là:
1. chuẩn hóa chuỗi cần hiển thị về dựng sẵn rồi gọi hàm hệ thống (thí dụ TextOutW() trên Windows) để hiển thị chuỗi dựng sẵn chuẩn hóa. Đây là cách mà các ứng dụng trong bộ Microsoft Office XP đang sử dụng. Nhờ phương pháp này mà người dùng không phân biệt đâu là dữ liệu dùng mã dựng sẵn, đâu là dữ liệu dùng mã tổ hợp. Bạn có thể liên hệ với tòa soạn PC World VN để copy file source C++ chứa hàm chuẩn hóa chuỗi chữ Việt về mã dựng sẵn hay về mã tổ hợp.

2. hiển thị ký tự tổ hợp bằng cách lắp ghép các thành phần: đầu tiên hiển thị ký tự chính (nguyên âm), sau đó hiển thị từng ký tự dấu, vị trí ký tự dấu được tính toán sao cho phù hợp với ký tự chính. Phương pháp này được thư viện Qt, thư viện này được dùng bởi nhiều ứng dụng phổ biến trên Linux sử dụng. Chuỗi dựng sẵn và chuỗi tổ hợp được hiển thị theo phương pháp này thường không giống nhau, vì hình dáng các ký tự dựng sẵn được qui định tĩnh trong font chữ, còn hình dạng các ký tự tổ hợp được xử lý động tại thời điểm hiển thị.

Tôi viết 1 phần mềm dùng dialog trên MFC, nhưng muốn mỗi khi chạy thì dialog này ẩn đi, người dùng sẽ tương tác với icon trên thanh Taskbar. Tuy nhiên khi sử dụng lệnh như void CMyApp::OnInitDialog() { CDialog::OnInitDialog(); ////// ShowWindow(SW_HIDE); } thì không có tác dụng. Thêm nữa, khi chương trình chạy bình thường chiếm khoảng 3MB Ram (trong Task manager). Nhưng khi gọi 1 số hàm như GetOpenFileName hay ShBrowseForFolder thì lượng Ram sử dụng lên tới 5MB hay hơn, ngay cả khi đã dùng các đoạn mã chuẩn trong MSDN. Xin hướng dẫn.
Nếu bạn muốn mỗi khi chạy, cửa sổ ứng dụng không hiển thị, chỉ có icon xuất hiện trong thanh taskbar, bạn có thể dùng lệnh sau ở cuối hàm CMyApp::OnInitDialog().
void CMyApp::OnInitDialog() {
....
ShowWindow(SW_MINIMIZE);
}

Dung lượng bộ nhớ dành cho mỗi chương trình phụ thuộc vào nhiều yếu tố: độ lớn đoạn code bạn viết, số lượng hàm thư viện bạn dùng (trực tiếp thông qua đoạn code của bạn hay gián tiếp thông qua các hàm được bạn gọi), số lượng các biến dữ liệu và kiểu dữ liệu được dùng cho biến đó... Thường khi viết phần mềm, đầu tiên chúng ta chỉ nên tập trung vào chức năng của ứng dụng, làm sao để viết chương trình nhanh chóng, dễ dàng, chương trình chạy tin cậy, ổn định, còn kích thước của chương trình để “hạ hồi phần giải”. Hơn nữa, hầu hết các ứng dụng mà bạn viết có chức năng đơn giản nên chiếm rất ít bộ nhớ, bạn không nên quan tâm đến việc tối ưu hóa bộ nhớ làm gì. Nếu bạn xem thông tin trong cửa sổ “Task Manager” thì các phần mềm có kích thước bộ nhớ từ 5MB trở xuống là các phần mềm nhỏ. Việc tối ưu hóa bộ nhớ cho phần mềm đòi hỏi nhiều kiến thức chuyên môn, nếu chưa cần thiết bạn không nên quan tâm làm gì.
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
nophoto Chương trình biên dịch được lập trình dựa trên ngôn ngữ nào?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

Lê Thị Hoa Hồng Có cách nào nhận biết người dùng thêm/bớt 1 thư mục hay copy/tạo mới file hay di chuyển file/folder từ nơi này đến nơi khác không?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

nophoto Lập trình VB .Net đọc barcode từ máy đọc barcode? Lưu hình vào SQL Server 2000?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

nophoto Tài liệu về việc xử lý hình ảnh từ camera?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

nophoto Làm sao để caption trên TitleBar của 1 ứng dụng trên VB6.0 hiển thị font chữ theo yêu cầu mà không ảnh hưởng đến font chữ của các ứng dụng khác?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

nophoto Cách đóng gói chương trình VB.NET thành file setup?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

nophoto Cấu trúc dữ liệu của các tập tin như: Bitmap, Audio? Trong Pascal có dùng được các hàm API của Windows không?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

nophoto Trong VB, hàm hay API nào có thể cắt ảnh như trong Pascal?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

MrTien Cùng 1 trang web .asp, cơ sở dữ liệu Access, khi dùng IIS 5.0 trong WinXP thì chạy bình thường, nhưng khi dùng IIS 6.0 của Win Server 2003 thì k chạy?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

nophoto Người quản trị có thể điều khiển cho phép hay ngưng sử dụng máy client từ máy server?

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

nophoto Huớng dẫn mình cách lập trình asp.net bằng VB??

Đăng lúc: 20:39 - 25/05/2013 trong Lập trình

nophoto Tư vấn cho mình tài liệu về Winsock để nghiên cứu lập trình mạng P2P trên VB .Net?

Đăng lúc: 20:38 - 25/05/2013 trong Lập trình

nophoto Xin cho biết, có thể viết phần mềm điều khiển các thiết lập trong Bios Setup ?

Đăng lúc: 20:38 - 25/05/2013 trong Lập trình

nophoto Xin hỏi có thể tìm hiểu thuật toán giải hệ phương trình bậc nhất n ẩn số ở đâu?

Đăng lúc: 20:38 - 25/05/2013 trong Lập trình

nophoto Có cách nào giấu 1 ứng dụng viết bằng Delphi trong Task Manager của Win9x và WinXP không?

Đăng lúc: 20:38 - 25/05/2013 trong Lập trình

nophoto Trong VB.NET, làm cách nào để biết được sự kiện bấm phím khi đang làm việc ở cửa sổ khác?

Đăng lúc: 20:38 - 25/05/2013 trong Lập trình

nophoto Xin hướng dẫn cách tạo một chương trình liệt kê ổ đĩa và thư mục vào trong TreeView bằng Win32 API, giống như chức năng của Norton Commander?

Đăng lúc: 20:38 - 25/05/2013 trong Lập trình

nophoto Trong các chương trình như VB, Pascal... làm sao để khi chạy chương trình có thể nhập vào một biểu thức để gán cho một hàm, ví dụ như: x*x+3*cos(x)?

Đăng lúc: 20:38 - 25/05/2013 trong Lập trình

nophoto Tôi làm chương trình từ điển đọc từ vựng tiếng Anh bằng VB, nhưng ko biết cách truy xuất tập tin âm thanh (.wav) trong CSDL (Access) để phát ra loa?

Đăng lúc: 20:38 - 25/05/2013 trong Lập trình

nophoto Làm thế nào để một ứng dụng biết được 1 ứng dụng khác đã cài trên máy? Có cách nào giấu ứng dụng đã cài?

Đăng lúc: 20:38 - 25/05/2013 trong Lập trình

Rao vặt Siêu Vip