Câu hỏi

26/04/2013 21:03
Xin hướng dẫn cách làm từ điển, cách lưu hai loại tiếng Việt và tiếng Anh và tra trực tuyến khi click bất kỳ từ nào trên màn hình?
Danh sách câu trả lời (1)

Thắc mắc của bạn gồm 2 vấn đề chính: cách tạo từ điển và cách giải quyết tra trực tuyến từ bất kỳ nơi nào trên màn hình máy tính.
Việc tạo từ điển (Anh-Việt, Việt-Anh...) có thể được thực hiện bằng nhiều cách khác nhau theo nhiều cấu trúc dữ liệu khác nhau, trong đó việc dùng database (cơ sở dữ liệu) để chứa từ điển là dễ dàng nhất. Thật vậy, mỗi từ điển sẽ được lưu trong 1 bảng (table), mỗi record của table sẽ chứa các thông tin của 1 từ (entry của từ điển) gồm tên, phiên âm, loại từ và nghĩa tương ứng...
Việc giám sát và phát hiện được yêu cầu tra từ của người dùng từ bất kỳ nơi nào của màn hình là công việc khá phức tạp, đòi hỏi bạn phải nắm vững cơ chế hoạt động của môi trường đồ họa mà các ứng dụng đang chạy (Windows của Microsoft, X-Windows, PM của OS/2...). Đối với Windows, bạn có thể chặn 2 hàm API TextOutA() và TextOutW() rồi lưu lại vị trí cũng như nội dung của các chuỗi mà 2 hàm này hiển thị lên màn hình để khi người dùng yêu cầu tra từ ở vị trí nhấn chuột, bạn so sánh vị trí này với thông tin lưu giữ hầu xác định từ nào được tra rồi truy vấn database chứa từ điển để lấy thông tin của từ tương ứng và hiển thị lên màn hình. Tóm lại mấu chốt của vấn đề 2 là làm sao 'override' được hàm API của Windows, chúng tôi sẽ viết bài riêng để trình bày chi tiết, cụ thể kỹ thuật override này khi có điều kiện, mời bạn theo dõi trên các số báo tới.
Việc tạo từ điển (Anh-Việt, Việt-Anh...) có thể được thực hiện bằng nhiều cách khác nhau theo nhiều cấu trúc dữ liệu khác nhau, trong đó việc dùng database (cơ sở dữ liệu) để chứa từ điển là dễ dàng nhất. Thật vậy, mỗi từ điển sẽ được lưu trong 1 bảng (table), mỗi record của table sẽ chứa các thông tin của 1 từ (entry của từ điển) gồm tên, phiên âm, loại từ và nghĩa tương ứng...
Việc giám sát và phát hiện được yêu cầu tra từ của người dùng từ bất kỳ nơi nào của màn hình là công việc khá phức tạp, đòi hỏi bạn phải nắm vững cơ chế hoạt động của môi trường đồ họa mà các ứng dụng đang chạy (Windows của Microsoft, X-Windows, PM của OS/2...). Đối với Windows, bạn có thể chặn 2 hàm API TextOutA() và TextOutW() rồi lưu lại vị trí cũng như nội dung của các chuỗi mà 2 hàm này hiển thị lên màn hình để khi người dùng yêu cầu tra từ ở vị trí nhấn chuột, bạn so sánh vị trí này với thông tin lưu giữ hầu xác định từ nào được tra rồi truy vấn database chứa từ điển để lấy thông tin của từ tương ứng và hiển thị lên màn hình. Tóm lại mấu chốt của vấn đề 2 là làm sao 'override' được hàm API của Windows, chúng tôi sẽ viết bài riêng để trình bày chi tiết, cụ thể kỹ thuật override này khi có điều kiện, mời bạn theo dõi trên các số báo tới.
Trả lời câu hỏi
Câu hỏi lĩnh vực Lập trình
Rao vặt Siêu Vip