OVH Cloud OVH Cloud

Code échappement b

3 réponses
Avatar
Jean-Marc
Bonjour,

J'essaie d'utiliser le code \b (retour en arrière) au niveau d'un
System.out.print("\b\b\b\b" + df.format(c_shoPourcent) + "%"); mais cela ne
fonctionne pas. Au lieu d'effectuer un retour en arrière de 4 positions je
me retrouve avec "... 10%" par exemple.

Pour info je développe sous Eclipse mais le lancement à partir d'un jar et
mode console (box dos) n'y change rien.

Exemple du code :
...
public void compress(String p_strZipName, String[] p_strFiles, int Method,
int p_zipLevel) {
...
java.text.DecimalFormat b_df = new java.text.DecimalFormat(" ");
...
System.out.print("\b\b\b\b" + df.format(c_shoPourcent) + "%");
...
}
Merci

3 réponses

Avatar
djice
Tu peux pas revenir en arriere comme ça


"Jean-Marc" a écrit dans le message de news:
41890d17$0$26195$
Bonjour,

J'essaie d'utiliser le code b (retour en arrière) au niveau d'un
System.out.print("bbbb" + df.format(c_shoPourcent) + "%"); mais cela
ne fonctionne pas. Au lieu d'effectuer un retour en arrière de 4 positions
je me retrouve avec "... 10%" par exemple.

Pour info je développe sous Eclipse mais le lancement à partir d'un jar et
mode console (box dos) n'y change rien.

Exemple du code :
...
public void compress(String p_strZipName, String[] p_strFiles, int Method,
int p_zipLevel) {
...
java.text.DecimalFormat b_df = new java.text.DecimalFormat(" ");
...
System.out.print("bbbb" + df.format(c_shoPourcent) + "%");
...
}
Merci



Avatar
Jean-Marc
Bonsoir,

Tu peux pas revenir en arriere comme ça


Oui ça j'avais compris.

Je dois faire comment alors... parce que d'après mes très lointains souvenir
de programmeur C le 'b' fonctionnait impeccablement. S'agit-il d'un
problème de codification ou plutôt un prb avec les codes ascii de ma console
texte ?

Merci

"djice" a écrit dans le message de news:
4189f315$0$32273$
Tu peux pas revenir en arriere comme ça


"Jean-Marc" a écrit dans le message de news:
41890d17$0$26195$
Bonjour,

J'essaie d'utiliser le code b (retour en arrière) au niveau d'un
System.out.print("bbbb" + df.format(c_shoPourcent) + "%"); mais cela
ne fonctionne pas. Au lieu d'effectuer un retour en arrière de 4
positions je me retrouve avec "... 10%" par exemple.

Pour info je développe sous Eclipse mais le lancement à partir d'un jar
et mode console (box dos) n'y change rien.

Exemple du code :
...
public void compress(String p_strZipName, String[] p_strFiles, int
Method,
int p_zipLevel) {
...
java.text.DecimalFormat b_df = new java.text.DecimalFormat(" ");
...
System.out.print("bbbb" + df.format(c_shoPourcent) + "%");
...
}
Merci







Avatar
Real Gagnon
"Jean-Marc" wrote in
news:418a8656$0$29423$:

Bonsoir,

Tu peux pas revenir en arriere comme ça


Oui ça j'avais compris.


Mmmm, ca peut fonctionner (win9*/xp)

ref: http://www.rgagnon.com/javadetails/java-0375.html

Le petit example demande un password a la console et efface les touches
tapees afin de ne montrer le password


import java.io.*;
import java.awt.*;

public class PwdConsole {
public static void main(String[] args) throws Exception {
ConsoleEraser consoleEraser = new ConsoleEraser();
System.out.print("Password? ");
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
consoleEraser.start();
String pass = stdin.readLine();
consoleEraser.halt();
System.out.print("b");
System.out.println("Password: '" + pass + "'");
}
}

class ConsoleEraser extends Thread {
private boolean running = true;
public void run() {
while (running) {
System.out.print("b ");
}
}

public synchronized void halt() {
running = false;
}
}

Bye.
--
Real Gagnon from Quebec, Canada
* Looking for Java or PB snippets ? Visit Real's How-to
* http://www.rgagnon.com/howto.html