Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pulizia Schermo

104 views
Skip to first unread message

Simone Iori

unread,
Sep 13, 2001, 11:41:39 AM9/13/01
to
Vorrei sapere se esiste una funzione in Java che pulisce lo schermo in modalità
testo o alternativamente, come poter eseguire il metodo exec (contenuto nel
package java.lang.Runtime) per lanciare il comando DOS "cls".

Grazie


--
Posted from [131.175.69.120]
via Mailgate.ORG Server - http://www.Mailgate.ORG

Scorpio

unread,
Sep 13, 2001, 12:45:23 PM9/13/01
to

Simone Iori <simon...@libero.it> wrote in message
69b0fd9c7c47a02af3b...@mygate.mailgate.org...

> Vorrei sapere se esiste una funzione in Java che pulisce lo schermo in
modalità
> testo o alternativamente, come poter eseguire il metodo exec (contenuto
nel
> package java.lang.Runtime) per lanciare il comando DOS "cls".
>

Java non fa assunzione sul tipo di terminale che si ha a disposizione,
pertanto
non implementa funzioni come clrscr() in C/C++.
Per usare exec puoi fare :

Runtime r = Runtime.getRuntime();
Process p = null;

try
{
p = r.exec("cls");
}
catch(Exception e)
{
System.out.println(" Impossibile pulire lo schermo");
}

Ovviamente la soluzione non è portabile.... in teoria, potresti utilizzando
sempre i metodi di Runtime, stabilire su che sistema operativo il tuo
programma sta girado e chiamare cls per dos e clear per Linux....

Saluti,
Scorpio.


Avantgarde

unread,
Sep 13, 2001, 2:48:45 PM9/13/01
to

"Scorpio" <_sco...@libero.it> ha scritto:

> Per usare exec puoi fare [CUT]

Runtime.getRuntime().exec("cls"); solleva la seguente eccezione:

java.io.IOException: CreateProcess: cls error=0
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:66)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:551)
at java.lang.Runtime.exec(Runtime.java:418)
at java.lang.Runtime.exec(Runtime.java:361)
at java.lang.Runtime.exec(Runtime.java:325)
...

Mi spiace, o lavori su un terminale ANSI e vai di ESC[2J oppure fai un bel
po di System.out.println(), ma ti trovi il cursore a fondo pagina.
Ah, per inciso, basta mettere nel config.sys la riga
device=c:\windows\command\ansi.sys
e la tua finestra dos diventa un bell'ANSI terminal con i colori e tutte le
altre gioie...
HTH,
Maurizio.


Scorpio

unread,
Sep 13, 2001, 3:07:07 PM9/13/01
to
Probabilmente ciň accade perchč cls č un comando interno di command.com,
e quindi non c'č un file cls.exe....


Avantgarde <avant...@inwind.it> wrote in message
hc7o7.51053$ul3.1...@news.infostrada.it...

zello

unread,
Sep 13, 2001, 7:32:54 PM9/13/01
to

"Scorpio" <_sco...@libero.it> ha scritto nel messaggio
news:vt7o7.51256$ul3.1...@news.infostrada.it...

> Probabilmente ciň accade perchč cls č un comando interno di command.com,
> e quindi non c'č un file cls.exe....

Ho fatto un po' di prove con Windows 2000. Allora:
1) se non trova il file, solleva effettivamente un'eccezione di tipo
IOException, ma il codice di solito dovrebbe essere 5;
2) Ho pensato ad avviare "command.com /c cls", che esegue la pulizia dello
schermo. Dato che su Win2k command.com non č avviabile da java
(probabilmente perché č un processo a 16 bit), ho provato con cmd.exe -
stessa sintassi;
3) Se non specifico il path, java non lo trova - il che vuole dire che non
segue la variabile di ambiente PATH, a meno che non gliela si passi
esplicitamente in exec.
4) E comunque non pulisce un tubo di nulla... Non da neanche segni che
cmd.exe venga avviato come processo..

Vabbč, torno a provare
Buonanotte
Zello


Avantgarde

unread,
Sep 13, 2001, 8:56:12 PM9/13/01
to

"zello" <sig9708@.comune.bologna.it.no.spam> ha scritto:

> 4) E comunque non pulisce un tubo di nulla... Non da neanche segni che
> cmd.exe venga avviato come processo..

Runtime.getRuntime().exec("command.com /c cls");

Sotto win98 appare eseguire il command; infatti se lancio l'applicazione
java da dentro jpad vedo apparire per un istante una bella DOS window...
Peccato che se eseguo da finestra DOS non pulisce lo schermo... sarà forse
perchè pulisce la console dell'applicazione lanciata da runtime.exec() e non
quella dell'applicazione java?
Insisto: un'emulazione ANSI terminal è la soluzione.
Bonne nuite,
Maurizio.


Fabrizio Camera

unread,
Sep 14, 2001, 10:25:47 AM9/14/01
to
On Thu, 13 Sep 2001 15:41:39 +0000 (UTC), Simone Iori wrote:

>Vorrei sapere se esiste una funzione in Java che pulisce lo schermo in modalità
>testo o alternativamente, come poter eseguire il metodo exec (contenuto nel
>package java.lang.Runtime) per lanciare il comando DOS "cls".

Qui si parla dell'argomento
http://www.sadun.org/javafaq.html#r1-31

--
Ciao
Fabrizio C.

Luca Davanzo

unread,
Sep 14, 2001, 3:09:39 PM9/14/01
to
l'ecezzione avviene credo perchè cls non è un processo, cioè non è un
eseguibile, ma è un comando dos, quindi da richiamare com command.com /c
cls, o qualcosa del genere..

"Avantgarde" <avant...@inwind.it> ha scritto nel messaggio
news:hc7o7.51053$ul3.1...@news.infostrada.it...

0 new messages