Autor Wątek: Czyszczenie ekranu  (Przeczytany 3305 razy)

Offline Mardok

  • Użytkownik

# Marzec 29, 2006, 21:08:37
Siemka,
Potrzebna mi funkcja na czyszczenie ekranu ( coś jak clrscr w pascalu). Pisze programik w apl. konsolowej i za chorobę nie wiem jak wyczyścić ekran, a potem wyświetlić na nim ponownie podczas jednego programu ::)
prosiłbym o przytoczenie jakiejuś procedurki
z góry dzieki
pozdrawiam

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Elwis

  • Użytkownik

# Marzec 29, 2006, 21:16:37
Zawsze można n razy przejść o linjkę niżej :p

Offline Majtek

  • Użytkownik

# Marzec 29, 2006, 21:18:23
A może dokładnie jaki język?

# Marzec 29, 2006, 21:21:56
Jeżeli c++ to jest taka funkcja clrscr() w "conio.h", ale uwaga nie wszytkie kompilatory mają ten plik nagłówkowy (BCB chyba ma a VC++ już nie)

Offline ktostamktos

  • Użytkownik

# Marzec 29, 2006, 21:28:42
albo system("cls"); - niepamietam z jakiego headera, ale zawsze jest MSDN ;)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Marzec 29, 2006, 21:38:30
Cytuj
Jeżeli c++ to jest taka funkcja clrscr() w "conio.h", ale uwaga nie wszytkie kompilatory mają ten plik nagłówkowy (BCB chyba ma a VC++ już nie)
"conio.h" jest obecnie przeżytkiem. Jeżeli chcesz robić coś więcej z konsolą, niż wypisywanie strumienia tekstu, to radzę zainteresować sie jakąś biblioteką do tego (na przykład NCurses). :)

# Marzec 29, 2006, 21:55:08
Jeżeli c++ to jest taka funkcja clrscr() w "conio.h", ale uwaga nie wszytkie kompilatory mają ten plik nagłówkowy (BCB chyba ma a VC++ już nie)
Visual C++ ma biblioteke conio.h ;)

Pozdro

Offline Vic

  • Użytkownik

# Marzec 29, 2006, 22:07:37
Visual C++ ma biblioteke conio.h ;)
Tyle że niekoniecznie musi mieć funkcję clrscr (pewnie nie ma), której zresztą lepiej nie używać, bo to jakieś cudo spoza standardu.

Wywołanie system("clear") czyści terminal, a biblioteka ncurses została już wymieniona w tym wątku. :)

Offline mr666

  • Użytkownik

# Marzec 29, 2006, 22:26:44
BCB nie ma conio.h, tak samo g++, wiec zapozanj sie ze wspominanym NCURSES.

pzdr

Offline W2K

  • Użytkownik

# Marzec 29, 2006, 23:21:07
Oto clrscr() w wersii konsolowej:
void clrscr()
{
  HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
  CONSOLE_SCREEN_BUFFER_INFO csbi;
  GetConsoleScreenBufferInfo(hCon, &csbi);

  DWORD dwWritten = 0;
  COORD coord = {0, 0};
  FillConsoleOutputCharacter(hCon, ' ',csbi.dwSize.X*csbi.dwSize.Y, coord, &dwWritten);
  FillConsoleOutputAttribute(hCon,csbi.wAttributes,csbi.dwSize.X*csbi.dwSize.Y, coord, &dwWritten);
  SetConsoleCursorPosition(hCon, coord);
}

Trzeba dołączyć widnows.h bo inaczej nie zadziała.
Jeśli komuś się przyda to mam jeszcze odpowiednik GotoXY()

void GotoXY(unsigned x,unsigned y)
{
COORD Crd;
Crd.X=x;
Crd.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Crd);
}
« Ostatnia zmiana: Marzec 29, 2006, 23:24:47 wysłana przez W2K »

# Marzec 29, 2006, 23:31:56
BCB nie ma conio.h
BCB ma conio.h
VC++ też (ale tu akurat nie ma funkcji clrscr)

Offline skalniak

  • Użytkownik
    • Home page

# Marzec 30, 2006, 00:02:44
BCB nie ma conio.h, tak samo g++, wiec zapozanj sie ze wspominanym NCURSES.

pzdr
BCB to nastepca turbo c++ a tam juz bylo clrscr :) na wzor pascalowej funkcji z crt.tpu

Offline mr666

  • Użytkownik

# Marzec 30, 2006, 03:11:34
Tak, przyznaje sie do bledu, BCB ma <conio.h> wraz z clrscr() (sprawdzalem przed chwila 6.0, nie jestem pewien c o do 2006) . Cos mi sie pomerdalo. Za cholere nie moge sobie teraz przypomniec w czym osatnio pisalem i nie znalazlem clrscr() w conio.h (oprocz g++)....

pzdr

Offline Mardok

  • Użytkownik

# Marzec 30, 2006, 10:28:09
A może dokładnie jaki język?

C++