Trang 5 trên tổng số 5 Đầu tiênĐầu tiên ... 345
Từ 41 tới 49 trên tổng số 49 kết quả

Đề tài: Nhập xuất tiếng Việt trong Console (cmd.exe)

  1. #41
    Ngày gia nhập
    08 2017
    Bài viết
    4,091

    Mặc định Nhập xuất tiếng Việt trong Console (cmd.exe)

    Bạn cho biết nó không đúng chỗ nào,
    - Không gõ được tiếng Việt cho console trên Windows 10, hay chương trình chạy sai?
    - Cấu hình trước khi chạy, hay cấu hình khi đang chạy lần đầu?
    Kiểm lại trên Win10, 64bits:


    ...
    ..
    .

  2. #42
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    715

    @MHoang: hình như Unikey bạn bật Luôn dùng clipboard? Nếu thế, tắt nó đi.
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

  3. #43
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    986

    Câu thơ thử nhập vào : Đất nước tôi thon thả giọt đàn bầu.
    Trình tự theo thứ tự từ pic1 => tới pic10.
    Attached Thumbnails Attached Thumbnails pic1.jpg   pic2.jpg   pic3.jpg   pic4.jpg   pic5.jpg  

    pic6.jpg   pic7.jpg   pic8.jpg   pic9.jpg   pic10.jpg  


  4. #44
    Ngày gia nhập
    08 2017
    Bài viết
    4,091

    Sao @MHoang không mở dạng công cộng cho mọi người tự do quan sát, giám sát, khác với lưu hành nội bộ cho thành viên?

    Làm biếng, làm siêng diễn tả cho hình chụp.

    Hình 10, diễn giải cho hình 10

    Có thể bộ gõ bạn xài là chưa đủ tốt, xảy ra xung đột giữa các tiến trình, chương trình trong hệ thống.

    Theo tiêu chí WYSIWYG( What You See Is What You Get - thấy cái gì thì nhận cái đó ) nên tôi bổ xung dòng lặp lại (echo) và xuất ra MessageBox để kiểm nhận, ..
    Thử với UniKey v4.3, dùng :
    - On: Luôn sử dụng clipboard cho unicode


    - Off: Luôn sử dụng clipboard cho unicode


    Xem #32, bài viết Quốc ngữ tiếng Việt
    1. cần cấu hình cho nó (console)
    2. có bộ gõ phù hợp, ví dụ GoTiengViet, EVKey, UniKey
    Quốc ngữ tiếng Việt ...

    Nói thêm thư viện pdcurses.lib dễ xài hơn thư viện tôi viết dùng cho các demo khác, nó còn những bug, hơn nữa tùy chọn PDC_WIDE là thứ yếu của nó
    http://diendan.congdongcviet.com/threads/t475922::pdcurses-wgetch-khong-giai-ma-duoc-tieng-viet-tu-unikey.cpp
    ...
    ..
    .

  5. #45
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    986

    Về xuất hình ảnh trên diễn đàn, không phải tôi lười mà vì ngay tức thời chưa kiếm ra trang nào để thực hiện nên dùng tạm.!!!

    Về bộ gõ, OK, hôm nay tôi sẽ tìm nạp UniKey v4.3 để thử nghiệm, có gì sẽ bàn tiếp.

    - - - Nội dung đã được cập nhật ngày 16-07-2021 lúc 09:33 AM - - -

    OK, Đã xác định được lỗi là ở phiên bản UniKey 4.2, dùng phiên bản 4.3 thì chương trình chạy đúng. Vấn đề cần nghiên cứu thêm là làm sao để chương trình tương thích với một số lượng bộ gõ nào đó, chẳng hạn như UniKey 4.2 tôi nhớ là nạp nó lúc xóa ổ cứng nạp lại HDH khoảng năm trước chứ không xa.

    Các thứ tự thực hiện trên UniKey 4.3











    Đã được chỉnh sửa lần cuối bởi MHoang : 16-07-2021 lúc 10:15 AM.

  6. #46
    Ngày gia nhập
    08 2017
    Bài viết
    4,091

    Mặc định Nhập xuất tiếng Việt trong Console (cmd.exe)

    Trong hệ thống, chuyện xung đột, tranh chấp giữa các tiến trình, chương trình không phải là hiếm (, thậm chí trong một control với các event của nó).
    Khi hệ thống nâng cấp, cụ thể là HDH, những chương trình trước đây chạy tốt trở nên loạng choạng, bất hoạt hoặc gây lỗi nghiêm trọng khá phổ biến.

    Console sử dụng thư viện pdcurses đang đề cập,
    - trong Win7 kích thước bị giới hạn, tầm co giãn bị hạn chế, các ký tự không bị xô lệch; nó xuất hiện thanh cuộn ngang khi thu hẹp.
    - trong Win10 kích thước co dãn rộng hơn, các ký tự bị xô lệch, cấu trúc WINDOW của nó bị phá vỡ ...


    Source code của pdcurses có nhiều xử lý thứ cấp, can thiệp dữ liệu gửi vào, chặn không cho di chuyển cursor (qua trái, qua phải) trừ phím backSpace, ...

    Thư viện pdcurses có đặc trưng dễ dùng, như phần demo đã trình bày, chỉ vài dòng code là hiện thị nhập xuất được Wide string.
    Nó đáp ứng được nhu cầu đơn giản cho người mới học c/c++ để nhập xuất tiếng mẹ đẻ của nhiều người

    Để tránh xung đột với bộ gõ thì đơn giản là loại bỏ các xử lý thứ cấp, can thiệp dữ liệu gửi vào của nó; bỏ đi bằng cách sửa mã nguồn, không can thiệp luồng dữ liệu chuyển tới theo chuẩn WYSIWYG.
    ...
    ..
    .
    Đã được chỉnh sửa lần cuối bởi Monre : 16-07-2021 lúc 10:11 AM.

  7. #47
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    715

    Trích dẫn Nguyên bản được gửi bởi MHoang Xem bài viết
    OK, Đã xác định được lỗi là ở phiên bản UniKey 4.2, dùng phiên bản 4.3 thì chương trình chạy đúng. Vấn đề cần nghiên cứu thêm là làm sao để chương trình tương thích với một số lượng bộ gõ nào đó, chẳng hạn như UniKey 4.2
    Để gửi phím vào ứng dụng console, Unikey 4.2 luôn dùng clipboard, nghĩa là sinh ký tự ^V để Paste, bất chấp lựa chọn "luôn dùng clipboard" trên giao diện bật hay tắt. Nên vấn đề là ứng dụng ấy có hiểu ^V nghĩa là Paste hay không. (Tested bản RC4 trên Windows 7.)

    CMD.exe không hiểu, nên không ra tiếng Việt.

    Nhưng ứng dụng console khác, nếu được lập trình để hiểu thì sẽ ra tiếng Việt bình thường.
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

  8. #48
    Ngày gia nhập
    08 2017
    Bài viết
    4,091

    Nói tiếp về cấu hình cho Console. Có thể dùng hàm GetCurrentConsoleFontEx / SetCurrentConsoleFontEx để load / save cấu trúc CONSOLE_FONT_INFOEX của nó.
    Tiếc cách này chỉ có giá trị cho phiên làm việc, không có giá trị cho lần chạy tiếp theo.


    Khi giá trị hiện tại kém hỗ trợ Unicode thì nó không đáp ứng được cho hiện thị tiếng Việt khi chuyển font.

    Cách lưu bền vững thì quá dài và phức tạp khi dùng ngôn ngữ xi; tối u thì làm bằng tay, trước khi hoàn thiện thư viện. Đưa nó vào thư viện, thay vì mỗi chương trình mỗi viết, hoặc viết công cụ tiện ích, cần cấu hình cho Console thì kéo thả vào tool cho hoàn tất thường trú trong hệ điều hành Win!
    ...
    ..
    .

  9. #49
    Ngày gia nhập
    08 2017
    Bài viết
    4,091

    Sừ dụng thư viện TvLib bạn có thể gọi hàm:
    TvApi bool setFont();
    hoặc gọi hàm:
    TvApi bool setView(const wstring &fntName, SHORT h = 18, SHORT w = 0);
    để thiết lập hiện thị cho ứng dụng, ví dụ:
    C++ Code:
    1. #include "..\TvLib.h"
    2.  
    3. int main(){
    4.     setFont(); //setView(L"Consolas", 20);
    5.     system("cls");
    6. //todo ...
    7. }
    ...
    ..
    .

Trang 5 trên tổng số 5 Đầu tiênĐầu tiên ... 345

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn