clrscr in Ansi-C++

Post Reply
Message
Author
stephan
Posts: 427
Joined: 05. Aug 1999 12:52
Location: nähe Köln
Contact:

clrscr in Ansi-C++

#1 Post by stephan »

Hi !

Von Borland-C her kenne ich den Befehl "clrscr" welcher den Bildschirminhalt löscht. Wie nennt sich der Linxbefehl der selbiges bewirkt?!

Greetz ... Stephan !

TuX

Re: clrscr in Ansi-C++

#2 Post by TuX »

So was wie clrscr gibt's AFAIK in ANSI-C++ gar nicht.
Nimm für solche Sachen die nCurses Bibliothek.

Vielleicht weiss ja ein Hardcore-C++-Programmierer der hier zufällig vorbei-surft ja wie es in C++ auch ohne Curses geht...

stephan
Posts: 427
Joined: 05. Aug 1999 12:52
Location: nähe Köln
Contact:

Re: clrscr in Ansi-C++

#3 Post by stephan »

Dann die nächste Frage ... *g*

Wie binde ich diese Bib ein ?!"

Danke....Stephan!

TuX

Re: clrscr in Ansi-C++

#4 Post by TuX »

Referenz: <!--http--><a href="http://speclab10.ucd.ie/doc/ncurses-bin ... intro.html" target="_blank">Writing Programs with NCURSES</a><!--url-->

gcc -l<b>ncurses</b> main.cpp

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
#include <curses.h>

int main(int argc, char** argv)
{
(void) initscr(); // ncurses bibliothek initialisieren;

// ...
// hier kommt dann alles moegliche rein, das ncurses benutzt.
// ...

endwin(); // ncurses routinen aufraeumen
return 0;
}

</font><hr></pre></blockquote>

TuX

Re: clrscr in Ansi-C++

#5 Post by TuX »

Fenster löschen dann mit Hilfe von nCurses mit <b>clear();</b>

Bratze

Re: clrscr in Ansi-C++

#6 Post by Bratze »

Wenn es Dir um die Console geht :

ostream::put('&copy;<!--char-->');

Aber wahrscheinlich habe ich die Frage nicht verstanden.

Bratze

Re: clrscr in Ansi-C++

#7 Post by Bratze »

'
' soll heißen backslash n <img src="http://www.pro-linux.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

TuX

Re: clrscr in Ansi-C++

#8 Post by TuX »

grad getestet...

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
// main.cpp -- Curses-Demo
// compilieren mit gcc -lncurses main.cpp

#include <curses.h>

int main(int argc, char** argv)
{
// ncurses bibliothek initialisieren
initscr();
cbreak();
noecho();

// most programs would additionally use the sequence:
nonl();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);


// Bildschirm loeschen
clear();

// --------------------------------------
// ein kleines Ein-/Ausgabebeispiel
addstr("Drueck irgendeine Taste: ");
char c;
c=getch();

addstr("
Du hast '");
addch(c);
addstr("' gedrueckt !
");

addstr("Press any key to exit.");
getch();
// --------------------------------------

// ...
// hier kommt dann alles moegliche rein, das ncurses benutzt.
// ...

// ncurses routinen aufraeumen
endwin();
return 0;
}
</font><hr></pre></blockquote>

stephan
Posts: 427
Joined: 05. Aug 1999 12:52
Location: nähe Köln
Contact:

Re: clrscr in Ansi-C++

#9 Post by stephan »

Hi Leute !

Danke für die Zahlreichen Antworten <img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Freut mich, dass es hier auch ein paar C-Leute gibt <img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Greetz ... Stephan !

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: clrscr in Ansi-C++

#10 Post by hjb »

Hi,

Ein

printf("\012")

könnte helfen, das ist ein CTRL-L (Formfeed).

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

andy
Posts: 150
Joined: 07. Nov 1999 12:51
Location: Kiel
Contact:

Re: clrscr in Ansi-C++

#11 Post by andy »

versuch es mal mit:

#define clrscr printf("\x1B[2J")

danach kannst Du den Befehl clrscr benutzen...sollte so klappen
ansonsten kannst Du Dir die Sachen auch selbst definieren oder Du schreibst es Dir in eine Header-Datei...z.B.:


#define CLS printf("\x1B[2J") /* Bildschirmloeschen, */
/* entspricht <ESC>[2J */
#define POS(x,y) printf("\x1B[%i;%iH",x,y) /* Cursor nach x,y */
/* Zeile,Spalte */
#define CLREOL printf("\x1B[K") /* Zeile loeschen */
#define BLINKEN printf("\x1B[5m") /* Blinken ein */
#define NORMAL printf("\x1B[0m") /* normale Zeichen, */
/* weiá auf schwarz, alle Attribute aus */
#define UNTER printf("\x1B[4m") /* unterstreichen */
#define INVERS printf("\x1B[7m") /* invers,Hintergr. hell */
#define INTENSIV printf("\x1B[1m") /* verstaerkte Intensit. */
#define MATT printf("\x1B[2m") /* matt,geringe Intensit.*/
#define KOMBI printf("\x1B[5;7m") /* invers, blinken */
#define KURSIV printf("\x1B[1;3m") /* intensiv, kursiv */
#define RECHTS(x) printf("\x1B[%dA",x) /* Cursor um x rechts */
#define LINKS(x) printf("\x1B[%dB",x) /* Cursor um x links */
#define AUF(x) printf("\x1B[%dC",x) /* Cursor um x oben */
#define AB(x) printf("\x1B[%dD",x) /* Cursor um x unten */
#define SPEICHERN printf("\x1B[s") /* Position Cursor speichern*/
#define HOME printf("\x1B[H") /* Cursor home */
#define ZUSPEICHER printf("\x1B[u") /* Curor zur gesp. Position */

/* Farben Zeichen und Hintergrund */
#define SCHWARZZ printf("\x1B[30m") /* schwarze Zeichen */
#define SCHWARZH printf("\x1B[40m") /* schwarzer Hintergrund */
#define ROTZ printf("\x1B[31m") /* rote Zeichen */
#define ROTH printf("\x1B[41m") /* roter Hintergrund */
#define BLAUZ printf("\x1B[34m") /* blaue Zeichen */
#define BLAUH printf("\x1B[44m") /* blauer Hintergrund */
#define WEISSZ printf("\x1B[37m") /* weisse Zeichen */
#define WEISSH printf("\x1B[47m") /* weisser Hintergrund */
#define GRUENZ printf("\x1B[32m") /* gruene Zeichen */
#define GRUENH printf("\x1B[42m") /* gruener Hintergrund */
#define GELBZ printf("\x1B[33m") /* gelbe Zeichen */
#define GELBH printf("\x1B[43m") /* gelber Hintergrund */
#define CYANZ printf("\x1B[36m") /* cyanblaue Zeichen */
#define CYANH printf("\x1B[46m") /* cyanblauer Hintergrund */
#define PURZ printf("\x1B[35m") /* purpurrote Zeichen */
#define PURH printf("\x1B[45m") /* purpurroter Hintergrund*/



Ciao, Andy
Last edited by andy on 23. Mar 2000 22:28, edited 1 time in total.

Jochen

Re: clrscr in Ansi-C++

#12 Post by Jochen »

Ich weiss, ich weiss, das ist jetzt nur Korinthenkackerei, aber:

printf ("\f");

macht den Formfeed echt ANSI-gefällig. Der Tip von Andreas Nisse tut's nur an der Linux-Konsole und das 'printf("\012");' tut's nicht auf Grossrechnern, die haben halt EBCDIC statt ASCII.... :)

Svatopluk

Re: clrscr in Ansi-C++

#13 Post by Svatopluk »

int index;
for(index=0; index<23;index++)
{
printf("
");
}
/* I like C */

Svatopluk

Re: clrscr in Ansi-C++

#14 Post by Svatopluk »

(Was ist das denn für ein elender Textparser ..)
printf("\<!--no-->n");
statt printf(" ");

Suche immer noch Hilfe beim Schreiben einer
C- Reference. Innerhalb der naechsten Stunden
werde ich mein derzeitigen stand hochladen ...
http://scripts.svatopluk.de/c-ref.html

Post Reply