Ĺadny brzuch
To moj pierwszy post na tym forum wiec niezmiernie milo mi powitac drogich uzytkownikow.
Widzialem kiedys (bodaj w jakims Linuxie(KNX?)) gre, a raczej produkt demosceny, polegajacy na prezentacji krotkiej animacji w postaci ANSI-artu.
Chcialbym wykonac podobny projekt, lecz obecny etap producji utkwil w miejscu z takim problemem (jestem poczatkujacym programista c++):
W jaki sposob oczyscic ekran w programie konsolowym DOS?
Ponizsza funkcja...
(...) #include <conio.h> (...) void asciiline(){ cout << endl; char line[60]; for (unsigned short int i=0;i<60;++i) line[i]=35; // wypelnia tablice line[60] znakami ### for (unsigned short int i=0;i<60;++i){ line[i]=126; // ustawia ~ w i znaku for (i=0;i<60;++i) cout << line[i]; // wyswietla tablice line[i]=35; // ustawia # w i znaku clrscr(); } }
...powinna wyswietlac na tle ### tylde przeskakujaca od lewej do prawej.
Log kompilacji z Dev-C++ v.4.9.9.2:
Kompilator: Default compiler
Building Makefile: "C:\DevCpp\moje\4def\Makefile.win"
Wykonywanie make...
make.exe -f "C:\DevCpp\moje\4def\Makefile.win" all
g++.exe -D__DEBUG__ -c main.cpp -o main.o -I"c:/DevCpp/lib/gcc/mingw32/3.4.2/include" -I"c:/DevCpp/include/c++/3.4.2/backward" -I"c:/DevCpp/include/c++/3.4.2/mingw32" -I"c:/DevCpp/include/c++/3.4.2" -I"c:/DevCpp/include" -fexpensive-optimizations -g3 -mmmx
main.cpp: In function `void asciiline()':
main.cpp:142: error: `clrscr' undeclared (first use this function)
main.cpp:142: error: (Each undeclared identifier is reported only once for each function it appears in.)
make.exe: *** [main.o] Error 1
Wykonanie zakończone
Dlaczego? Jak inaczej wyczyscic ekran konsolowy w DOSie?
Prosze o pomoc...
Witam. Sprawa jest prosta Dev nie posiada w swoich plikach naglowkowych instrukcj typu "gotoXY()" ani "clrscr()". Ale wystarczy ze siagniesz
ten plik i dodasz go do projektu. Po taki zabiegu wszytko bedzie dzialc (u mnie dziala).
PS. tutaj masz gotowy projekt Dev-Cpp (jak zapewne wiesz odalisz to z pliku *.dev)
Użytkownik Poszukiwacz edytował ten post 31 marzec 2005, 14:24
Ale wystarczy ze siagniesz
ten plik i dodasz go do projektu. Po taki zabiegu wszytko bedzie dzialc (u mnie dziala).
Masz racje, dziekuje bardzo. :] Dodalem plik naglowkowy do .\Dev-c++\include\ i w main.cpp zastapilem conio.h przez console.h. Funkcja dziala :D
Możesz wrzucić to na jakiś serwer bo ten link już nie działa a mi też jest potrzebna console.h
Możesz też użyć funkcji system("cls") z cstdlib.h :)
P.S
Pomyłki... ;p
Użytkownik KlyYmek edytował ten post 12 listopad 2006, 11:57
Możesz też użyć funkcji system("pause") z iostream.h :)
Niby po co ? O_o
http://conio.sourceforge.net/
BTW. mala poprawka: funkcja system() jest w cstdlib a nie iostream
Użytkownik icek edytował ten post 12 listopad 2006, 09:19
Możesz też użyć funkcji system("pause") z iostream.h
chyba system("cls") :) albo w linuksie system("clear")
Jak możecie to wrzućcie gdzieś na serwer bibliotekę console.h
Użytkownik Rafał Kołaczkowski edytował ten post 12 listopad 2006, 13:11
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Widzialem kiedys (bodaj w jakims Linuxie(KNX?)) gre, a raczej produkt demosceny, polegajacy na prezentacji krotkiej animacji w postaci ANSI-artu.
Chcialbym wykonac podobny projekt, lecz obecny etap producji utkwil w miejscu z takim problemem (jestem poczatkujacym programista c++):
W jaki sposob oczyscic ekran w programie konsolowym DOS?
Ponizsza funkcja...
(...) #include <conio.h> (...) void asciiline(){ cout << endl; char line[60]; for (unsigned short int i=0;i<60;++i) line[i]=35; // wypelnia tablice line[60] znakami ### for (unsigned short int i=0;i<60;++i){ line[i]=126; // ustawia ~ w i znaku for (i=0;i<60;++i) cout << line[i]; // wyswietla tablice line[i]=35; // ustawia # w i znaku clrscr(); } }
...powinna wyswietlac na tle ### tylde przeskakujaca od lewej do prawej.
Log kompilacji z Dev-C++ v.4.9.9.2:
Kompilator: Default compiler
Building Makefile: "C:\DevCpp\moje\4def\Makefile.win"
Wykonywanie make...
make.exe -f "C:\DevCpp\moje\4def\Makefile.win" all
g++.exe -D__DEBUG__ -c main.cpp -o main.o -I"c:/DevCpp/lib/gcc/mingw32/3.4.2/include" -I"c:/DevCpp/include/c++/3.4.2/backward" -I"c:/DevCpp/include/c++/3.4.2/mingw32" -I"c:/DevCpp/include/c++/3.4.2" -I"c:/DevCpp/include" -fexpensive-optimizations -g3 -mmmx
main.cpp: In function `void asciiline()':
main.cpp:142: error: `clrscr' undeclared (first use this function)
main.cpp:142: error: (Each undeclared identifier is reported only once for each function it appears in.)
make.exe: *** [main.o] Error 1
Wykonanie zakończone
Dlaczego? Jak inaczej wyczyscic ekran konsolowy w DOSie?
Prosze o pomoc...
Witam. Sprawa jest prosta Dev nie posiada w swoich plikach naglowkowych instrukcj typu "gotoXY()" ani "clrscr()". Ale wystarczy ze siagniesz
ten plik i dodasz go do projektu. Po taki zabiegu wszytko bedzie dzialc (u mnie dziala).
PS. tutaj masz gotowy projekt Dev-Cpp (jak zapewne wiesz odalisz to z pliku *.dev)
Użytkownik Poszukiwacz edytował ten post 31 marzec 2005, 14:24
Ale wystarczy ze siagniesz
ten plik i dodasz go do projektu. Po taki zabiegu wszytko bedzie dzialc (u mnie dziala).
Masz racje, dziekuje bardzo. :] Dodalem plik naglowkowy do .\Dev-c++\include\ i w main.cpp zastapilem conio.h przez console.h. Funkcja dziala :D
Możesz wrzucić to na jakiś serwer bo ten link już nie działa a mi też jest potrzebna console.h
Możesz też użyć funkcji system("cls") z cstdlib.h :)
P.S
Pomyłki... ;p
Użytkownik KlyYmek edytował ten post 12 listopad 2006, 11:57
Możesz też użyć funkcji system("pause") z iostream.h :)
Niby po co ? O_o
http://conio.sourceforge.net/
BTW. mala poprawka: funkcja system() jest w cstdlib a nie iostream
Użytkownik icek edytował ten post 12 listopad 2006, 09:19
Możesz też użyć funkcji system("pause") z iostream.h
chyba system("cls") :) albo w linuksie system("clear")
Jak możecie to wrzućcie gdzieś na serwer bibliotekę console.h
Użytkownik Rafał Kołaczkowski edytował ten post 12 listopad 2006, 13:11