jaco94++ (Normal User)
Expert
Messaggi: 203
Iscritto: 22/10/2008
|
Salve a tutti.
Volevo sapere sè è possibile in un terminale usare una riga fissa per l'input ovvero avere una riga dove inserire l'input e l'output restituito non deve mai essere scritto su quella linea ma sempre al di sotto lasciando sempre alterata la riga di input
è fattibile ?
|
|
Pitagora (Member)
Expert
Messaggi: 367
Iscritto: 12/06/2010
|
Fose intendo l'escape new-line? \n
|
|
jaco94++ (Normal User)
Expert
Messaggi: 203
Iscritto: 22/10/2008
|
Una cosa simile a quella nell'immagine avere una riga dove scrivo i miei comandi e avere l'output nelle righe di output.
ovviamente tutto quello che scrivo io deve essere sempre scritto sulla riga di input e la risposta del computer sempre in quella di output è fattibile ?
|
|
Giarados (Ex-Member)
Pro
Messaggi: 69
Iscritto: 25/07/2010
|
Prova a cercare gotoxy() e clrscr() su google. Credo siano le funzioni che fanno al caso tuo.
|
|
jaco94++ (Normal User)
Expert
Messaggi: 203
Iscritto: 22/10/2008
|
Grazie per le risposte non fa niente se non è fattibile ne farò a meno più che altro era una curiosità
|
|
carmine (Member)
Pro
Messaggi: 168
Iscritto: 20/04/2010
|
devi usare la gotoxy e clrscr, cerca su google se nn trovi nnt facci sapere!
|
|
comina8 (Normal User)
Pro
Messaggi: 86
Iscritto: 18/06/2011
|
Se sei su Windows:
Codice sorgente - presumibilmente C++ |
#include <windows.h> void GoToxy(unsigned char x, unsigned char y) { HANDLE hStdout; CONSOLE_SCREEN_BUFFER_INFO csbiInfo; hStdout=GetStdHandle(STD_OUTPUT_HANDLE); if (!GetConsoleScreenBufferInfo(hStdout,&csbiInfo)) MessageBox(NULL,"GetConsoleScreenBufferInfo","Console Error",MB_OK); csbiInfo.dwCursorPosition.X=x; csbiInfo.dwCursorPosition.Y=y; if (!SetConsoleCursorPosition(hStdout,csbiInfo.dwCursorPosition)) MessageBox(NULL,"SetConsoleCursorPosition","Console Error",MB_OK); } void ClearScreen(void) { system("cls"); }
|
Se sei su Linux:
Codice sorgente - presumibilmente C++ |
#include <unistd.h> void GoToxy(unsigned char x, unsigned char y) { char Str[1]={0}; x++; y++; sprintf(Str,"\033[%d;%df",y,x); printf("%s",Str); } void ClearScreen(void) { system("clear"); }
|
Poi creando due thread ti posizioni con uno a gotoxy(0,2); per l'input
e a gotoxy(0,20); per l'output (anche senza creare thread dipende
da cosa vuoi fare te...).
Chiedo scusa se il topic è un po' vecchio... |
|
Pitagora (Member)
Expert
Messaggi: 367
Iscritto: 12/06/2010
|
Non è fattibile a meno che tu non usi la funzione rewind passando come argomento lo stream output
|
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
ma che vuol dire?
|
|