Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > progressbar - просто число


Автор: vitaly1979 29.3.2007, 09:37
кто-ниб подскажет сабж?
т.е. например нужен не линейный прогресс бар, показывающий от 0 до 100 %
а выводить например кол-во отсортированных помидоров в одном месте консоли

Автор: Hexley 3.4.2007, 17:24
А по конкретней?

Автор: tishaishii 4.4.2007, 21:22
Пойдёт?
Код
use constant progressbar=>'просто число';
print progressbar

Автор: Nab 4.4.2007, 22:22
Цитата(tishaishii @ 4.4.2007,  21:22)
Пойдёт?
Код
use constant progressbar=>'просто число';
print progressbar

Чукча не читатель, чукча писатель smile (с) из анекдота....

Автор: korob2001 5.4.2007, 02:03
Насколько я понял, речь вообще идёт не о progress-баре, а о выводе сотояния в одном месте консоли, так как Progressbar невольно ассоциируется с GUI.

Если я правельно понял, то нужен не последовательный вывод:
1, 2, 3, 4, 5, .... 100

А что бы все эти числа показывались в одном месте, каждое последующее, становится на место предидущего. Что-то типа этого:
Код

#!/usr/bin/perl -w
use strict;
use Win32::Console;
use Time::HiRes;
use constant PERCENT_100 => 1000;  # 100%

my $console = new Win32::Console(STD_OUTPUT_HANDLE);
$console->Cls();

for (1..PERCENT_100) {
     my $posx = 10;
     my $posy = 5;
     $_ = "$_ / " . int($_ / PERCENT_100 * 100) . "%";
     for my $color ($FG_YELLOW, $FG_GREEN, $FG_LIGHTRED, $FG_BLUE, $FG_WHITE) {
           my $attr = (chr($color|$BG_BLACK) x length($_));
           $console->WriteAttr($attr,$posx,$posy);
           $console->WriteChar($_, $posx, $posy);
           $posx += 5;
           $posy += 2;
     }
     Time::HiRes::sleep(0.1);
}

$console->Display();

Автор: tishaishii 5.4.2007, 07:54
Цитата
Чукча не читатель, чукча писатель smile (с) из анекдота.... 

Воздух только портишь.

Автор: KSURi 6.4.2007, 17:14
Если я правильно понял, можно позаимствовать код из Test::*
Там реализован такой progressbar, который юзается при показе проходимых тестов

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)