Uniwersalne czyszczenie ekranu (Kazdy Jezyk)
bartosak
Wiele razy miałem problem w pisaniu programów, bo nie miałem jakże użytecznej procedurki czyszczenia ekranu...
Najlepsze jest to, że KAŻDY język programowania moze tą funkcję wykorzystać..
Podam kod w C++
void ClrScr(){
printf("\033[2J"); // Czyści ekran
printf("\033[0;0f"); // Ustawia kursor w lewym, górnym rogu
}
chodzi tylko o wyslanie tzw klawisza ESC ('\033') a nastepnie wyslania komendy..
Dziala pod Windows 95, 98, ME, NT (wszystkie wersje czyli tez 2000 i XP oraz 2003)
a także pod linuxem (testowane na wiekszości znanych dystrybucjach) a także pod systemami BSD (test pod FreeBSD)
Mam nadzieje ze sie przyda..
conio2.h
Można również skożystać z biblioteki conio2.h http://conio.sourceforge.net/ przeznaczone dla kompilatora MinGW (Dev-C++). Jest ona wzorowana na borlandowsiej bibliotece conio.h i zawiera m.in. taką funkcję jak:
clrscr() - która czyści ekran i ustawia kursor w lewym, górnym rogu.
Systemowe
Można też użyć funkcji system("cls"); - wywołuje dostępną w dos komendę "cls".
Podana powyżej funkcja była dokładnie tym czego szukałem (ponadto to bardzo proste rozwiązanie) - dziękuję za artykuł ;)
czemu z conio2.h? u mnie (djgpp) ta instrukcja - clrscr() jest w conio.h a nie w conio2.h
dopisalem rozdzial o conio2.h
chłopaki sie namęczyli a wy co, nie ladnie nie ladnie;P
To załóżcie sobie kącik pomocy doraźnej, i takie tipsy nawzajem możecie sobie dawać, wtedy nie będzie problemów, że u innych nie działają te wspaniałe rozwiązania...
Wiekszosc osob z jakimi wspolpracuje ma wlaczone ANSI.sys bo po prsotu nie wie jak go wylaczyc...
Wazne jest ze dziala i to jest raczej jako ciekawostka ze tak tez mozna wyczyscic ekran przy pisaniu cross an ie bawiac sie w kompilacje warunkowa
Przecież w żadnym Windows sterownik ansi nie jest domyślnie uruchomiony i prawdę mówiąc - wątpię, by więcej niż 1 promil użytkowników go miało - więc w jaki sposób to ma działać?
Tyle, że nie działa na KAŻDYM Windowsie...
E:\Marcin\temp\2005-07-20>type c.cpp
#include <stdio.h>
void ClrScr(){
printf("\033[2J"); // Czysci Ekran
printf("\033[0;0f"); // Ustawia kursor w lewym gornym rogu
}
int main()
{
ClrScr();
}
E:\Marcin\temp\2005-07-20>g++ c.cpp -o taaa_clr
E:\Marcin\temp\2005-07-20>taaa_clr
?[2J?[0;0f
E:\Marcin\temp\2005-07-20>
Windows 2000, bez sterownika ANSI.sys, bo po co mi to?? :-P
Tam gdzie jest dostępne <conio.h> lepiej użyć clrscr(); czy nawet system("cls")...
http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/Q_10465598.html