Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Hòi về hàm gettextinfo?

  1. #1
    Ngày gia nhập
    10 2007
    Nơi ở
    TP. HCM
    Bài viết
    52

    Mặc định Hòi về hàm gettextinfo?

    Mình đọc trong sách Kỹ Thuật Lập Trình C của GS. Phạm Văn Ất có nói về hàm gettextinfo có công dụng là:
    Gửi các thông tin có liên quan đến kiểu hiển thị màn hình văn bản đang sử dụng vào các thành phần của biến cấu trúc do con trỏ r trỏ tới. Các thông tin này thường dùng để khôi phục kiểu màn hình văn bản ban đầu.
    Hàm gettextinfo:
    C Code:
    1. void gettextinfo(struct text_info *r);
    Đối r là con trỏ trỏ tới địa chỉ của một biến cấu trúc kiểu text_info được định nghĩa trong conio.h như sau:
    C Code:
    1. struct text_info {
    2.     unsigned char winleft, wintop;
    3.     unsigned char winright, winbottom;
    4.     unsigned char attribute, normattr;
    5.     unsigned char currmode;
    6.     unsigned char screenheight;
    7.     unsigned char screenwidth;
    8.     unsigned char curx, cury;
    9. }
    Như vậy các thành phần trong cấu trúc text_info như trên là gì? Đặc biệt là attribute, normattr.

    Trong sách còn có ví dụ trong đó có đoạn khôi phục màn hình văn bản ban đầu bắng cách lấy lại các thông tin đã gửi vào cấu trúc h kiểu text_info như sau:
    C Code:
    1. void main() {
    2.     struct text_info h;
    3.    
    4.     /* luu kieu hien thi van ban hien tai */
    5.     gettextinfo(&h);
    6.  
    7.     ----------------------------------
    8.     ----------------------------------
    9.     ----------------------------------
    10.  
    11.     /* khoi phuc kieu man hinh van ban ban dau */
    12.     textmode(h.currmode);
    13.     textbackground(h.attribute / 16);
    14.     textcolor(h.attribute % 16);
    15.     clrscr();
    16.  
    17.     ----------------------------------
    18.     ----------------------------------
    19. }
    Tại sao lại phải /16 và % 16?
    /* The thing that I think is the thing that I do. */

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bởi vì cả background và color được ghi chung trong một byte. 4 bit thấp là của color và 4 bit cao là của background.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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