Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire varier certains caractères sur une même ligne de STDOUT ?

4 réponses
Avatar
ctobini
Bonjour,

Je voudrais comment savoir comment faire pour avoir un =E9tat
d'avancement d'un programme dans la STDOUT d'un terminal.

Par ex pour avoir une sortie :

Traitement en cours................................ x%

Avec un traitement de x sur la m=EAme ligne.

Merci.

C=2E Tobini

4 réponses

Avatar
Jacques Caron
Salut,

On Thu, 10 Nov 2005 18:43:49 +0100, ctobini wrote:

Je voudrais comment savoir comment faire pour avoir un état
d'avancement d'un programme dans la STDOUT d'un terminal.

Par ex pour avoir une sortie :

Traitement en cours................................ x%

Avec un traitement de x sur la même ligne.


Il faut utiliser r (qui revient à la ligne sans passer à la suivante) et
"flusher" STDOUT quand il faut. Voir IO::Handle...

Jacques.
--
Oxado http://www.oxado.com/

Avatar
DoMinix
ctobini wrote:
Bonjour,

Je voudrais comment savoir comment faire pour avoir un état
d'avancement d'un programme dans la STDOUT d'un terminal.

Par ex pour avoir une sortie :

Traitement en cours................................ x%

Avec un traitement de x sur la même ligne.

Merci.

C. Tobini



une progressbar ?

$ whichcpan.sh Progressbar
Module Acme::ProgressBar
Module CGI::ProgressBar
Module Curses::UI::Progressbar
Module Curses::Widgets::ProgressBar
Module Gtk2::Ex::FormFactory::ProgressBar
Module JProgressBar
Module PBS::ProgressBar
Module PPresenter::Viewport::ProgressBar
Module Paw::Progressbar
Module ProgressBar
Module Term::ProgressBar
Module Tk::ProgressBar
Module Tk::ProgressBar::Mac

--
dominix

Avatar
Damien GUERIN
Il faut jouer avec les caractéres spéciaux de la console utilisé.
Le hic, c'est que bien sur cela dépend de ton environnement.

Sous unix, généralement print "toto aime les fritesbbbbbbpommes";
écrira : "toto aime les pommes" (sur la console).
Du coup pour une barre de progression tu peux faire :

$pourcent = "0";
print "Traitement en cours................................ :
".$pourcent."%";
boucle
// Calcul du pourcent
// initialisation de la progession
print "bbb".$pourcent;
fin boucle
C'est grossier car il faudrait ajouter autant de "b" que réellement
nécessaire.

Voilà. C'est une chose que j'ai déjà fait y compris en shell.
Avatar
ctobini
Bonjour à tous et merci de vos réponses, désolé également de vous
répondre tardivement.

Je vais essayer vos solutions.

Merci encore.

C. Tobini