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

Đề tài: Một vài thắc mắc nhỏ

  1. #1
    Ngày gia nhập
    07 2008
    Bài viết
    21

    Mặc định Một vài thắc mắc nhỏ

    Các bạn cho mình hỏi thế này:
    Mình thấy trong sách C của QTNgoc có viết rằng:
    Các hàm trình bày màn hình như gotoxy(),textcolor(),textbackground()....nằm trong Conio.h
    Vậy sao mình đã #include<conio.h> rùi mà vẫn bị báo lỗi là hàm chưa được khai báo,mới được sử dụng lần đầu?
    mình dùng dev c

  2. #2
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Sách của thầy QTNgọc theo mình biết thì viết chuẩn trên TC (hay BC gì đó ko nhớ rõ.) mà đây bạn dùng dev c thì nó la làng lên là đúng rồi.

    bạn thử để con trỏ chuột vào chổ hàm bạn viết và Ctrl + F1 hoặc F1 thử coi nó nói là trong thư viện nào hay là không có.(mình chỉ quen xài trên VC thôi).

    hy vọng là giúp được bạn. chúc bạn thành công.

  3. #3
    Ngày gia nhập
    07 2008
    Bài viết
    21

    thanks bạn

  4. #4
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Các bạn cho mình hỏi thế này:
    Mình thấy trong sách C của QTNgoc có viết rằng:
    Các hàm trình bày màn hình như gotoxy(),textcolor(),textbackground()....nằm trong Conio.h
    Vậy sao mình đã #include<conio.h> rùi mà vẫn bị báo lỗi là hàm chưa được khai báo,mới được sử dụng lần đầu?
    mình dùng dev c
    Dev C++ IDE trên windows nên không có mấy hàm trên Dos đó đâu bạn, bạn tham khảo các hàm viết lại trên diễn đàn
    http://forums.congdongcviet.com/show...A%A1i+h%C3%A0m
    Ngoài ra cũng có một số hàm thay thế, mình không nhớ hết, để mọi người góp ý thêm.

  5. #5
    Ngày gia nhập
    07 2008
    Bài viết
    21

    bạn có thể viết lại code các hàm đó bằng C không?
    mình không biết C++

  6. #6
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Mặc định Một vài thắc mắc nhỏ

    Mình sưu tầm đc mấy hàm này, thấy nhiều bạn cần nên mình đưa lên, bạn cứ cho vào code C dùng bằng cách gọi hàm như bình thường. Tuy nhiên tất cả phải khai báo thư viện window.h
    Hàm clrscr();

    Code:
    void clrscr(void)
    {
        CONSOLE_SCREEN_BUFFER_INFO  csbiInfo;                  
        HANDLE  hConsoleOut;
        COORD   Home = {0,0};
        DWORD   dummy;
    
        hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
        GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
    
        FillConsoleOutputCharacter(hConsoleOut,' ',csbiInfo.dwSize.X * csbiInfo.dwSize.Y,Home,&dummy);
       csbiInfo.dwCursorPosition.X = 0;                        
       csbiInfo.dwCursorPosition.Y = 0;                        
       SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);   
    }
    Hàm gotoxy();

    Code:
    void gotoxy(short x,short y)
    {
        HANDLE hConsoleOutput;
        COORD Cursor_an_Pos = { x,y};
        hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleCursorPosition(hConsoleOutput , Cursor_an_Pos);
    }
    Hàm SetColor(...);

    Code:
    void SetColor(WORD color)
    {
        HANDLE hConsoleOutput;
        hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    
        CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
        GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info);
    
        WORD wAttributes = screen_buffer_info.wAttributes;
        color &= 0x000f;
        wAttributes &= 0xfff0;
        wAttributes |= color;
    
        SetConsoleTextAttribute(hConsoleOutput, wAttributes);
    }
    SetBGColor (...);

    Code:
    void SetBGColor(WORD color)
    {
        HANDLE hConsoleOutput;
        hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    
        CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
        GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info);
    
        WORD wAttributes = screen_buffer_info.wAttributes;
        color &= 0x000f;
        color <<= 4;
        wAttributes &= 0xff0f;
        wAttributes |= color;
    
        SetConsoleTextAttribute(hConsoleOutput, wAttributes);
    }
    2 hàm wherex và wherey:

    Code:
    int wherex( void )
    {
      CONSOLE_SCREEN_BUFFER_INFO coninfo;
      GetConsoleScreenBufferInfo (STDOUT, &coninfo);
      return coninfo.dwCursorPosition.X;
    }
    Code:
    int wherey( void )
    {
      CONSOLE_SCREEN_BUFFER_INFO coninfo;
      GetConsoleScreenBufferInfo (STDOUT, &coninfo);
      return coninfo.dwCursorPosition.Y;
    }

  7. #7
    Ngày gia nhập
    07 2008
    Bài viết
    21

    thank you very much!
    but i haven't learnt C for Win so i don't understand

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