View Full Version : [c] cancellare una riga dalla finestra di console
Prince_81
24-03-2009, 17:43
con un programma in c è possibile con la funzione system("cls"); cancellare lo schermo della console ma se io volessi cancellare una sola riga per esempio quella precedente al cursone? il c prevede una tale funzione oppure è prevista una tale funzionalita tra i comandi del dos?
La funzionalità è prevista dalle librerie del sistema operativo...e per Windows la strada è molto lunga.
http://msdn.microsoft.com/en-us/library/ms682010(VS.85).aspx
agente mm8
24-03-2009, 18:44
Non penso ci sia una tale funzione... se non c'è, potresti memorizzare il contenuto del terminale in una variabile (sempre che sia possibile), cancellare tutto e riscrivere la variabile togliendoci la riga "indesiderata".
Ma te l'ho detto, non sono affatto sicuro che si possa fare.
Prince_81
24-03-2009, 19:16
in che senso la funzionalità è prevista dalle librerie del sistema operativo? il link che mi hai dato è problematico è in inglese!!!!!!!!
banryu79
25-03-2009, 11:51
il link che mi hai dato è problematico è in inglese!!!!!!!!
L'inglese è la lingua franca dell'informatica, programmazione compresa.
Sarebbe il primo linguaggio che un programmatore dovrebbe conoscere (anche se non è neccessaria una conoscenza approfondita).
DanieleC88
25-03-2009, 21:59
L'inglese è la lingua franca dell'informatica, programmazione compresa.
Sarebbe il primo linguaggio che un programmatore dovrebbe conoscere (anche se non è neccessaria una conoscenza approfondita).
Senza però dimenticare l'italiano! :D
:Prrr:
(scherzo eh, senza offesa ;))
banryu79
26-03-2009, 08:57
Senza però dimenticare l'italiano! :D
:Prrr:
(scherzo eh, senza offesa ;))
:sofico:
Prince_81
26-03-2009, 12:39
Ragazzi siete divertenti e avete pure ragione me le tengo le vostre battute ci stanno.
Tornando al vero scopo del forum c’era una domanda a cui solo cionci ha risposto e quindi è a lui, visto che ha dimostrato interesse per la domanda, che dico che il c prevede una tale funzione io ricordavo qualcosa ed è:
printf("\r"); \r rappresenta ritorno carrello (carriage-return). :cool:
Aspetta, quella ti permette di ritornare ad inizio riga e di sovrascriverla, ma di cancellare una riga qualsiasi non te lo permette o anche la sola riga precedente al cursore.
Prince_81
26-03-2009, 15:26
se il cursore è gia ad inizio riga allora va alla riga precedente e per cancellarla poi basta che nella printf inserisco una stringa vuota di lunghezza pari alla stringa scritta nella riga precedente e il gioco è fatto.
E' un sistema macchinoso ma quando si lavora con la console e non con un' interfaccia grafica si vive di espedienti non si hanno le potenzialità dell'interfaccia grafica.
se il cursore è gia ad inizio riga allora va alla riga precedente
Sinceramente questo comportamento non lo conoscevo :confused:
Prince_81
26-03-2009, 15:34
hai ragione mi sono sbagliato non va alla riga precendente ma ad inizio riga.
Comunque mi è servito lo stesso.
DanieleC88
26-03-2009, 18:34
E' un sistema macchinoso ma quando si lavora con la console e non con un' interfaccia grafica si vive di espedienti non si hanno le potenzialità dell'interfaccia grafica.
Non le stesse, ma non sono certo così ridotte al livello di "espedienti".
Tanto per dire:
http://www.gnu.org/software/ncurses/
http://caca.zoy.org/
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.