Войти

Показать полную графическую версию : [решено] Каждую секунду отображать точку, не перенося строку.


RomanLis
04-04-2012, 10:34
Здравствуйте!
Нужно сделать так, чтобы отображалась строка, допустим, Loading, и в конце добавлялись точки типа Loading, через секунду Loading ., Loading .. и т.д. Возможно это как-нибудь сделать?

Anonymоus
04-04-2012, 10:40
Я правильно понимаю, вам это нужно делать без очистки окна через cls? В таком случае посмотрите на эту тему (http://forum.oszone.net/post-1721183.html). Не работает на win7. Не обязательно использовать весь скрипт, просто подсмотрите реализацию вывода без переноса.

RomanLis
04-04-2012, 11:00
Нужно именно в Windows 7..
И да, без очистки. Суть в том, чтобы весь прогресс выводить.

Iska
04-04-2012, 14:05
RomanLis, смотрите пример на основе <Nul Set /P (http://forum.oszone.net/showpost.php?p=970752) и общее изложение здесь: CMD/BAT: вывод текста без переноса на новую строку (http://forum.script-coding.com/viewtopic.php?id=2945).

Foreigner
05-04-2012, 07:05
RomanLis,
Для написания более качественного прогресс-бара можно использовать управляющие последовательности и утилиту ansicon (http://adoxa.3eeweb.com/ansicon/)
Пример:

@echo off
setlocal
echo.

ansicon -p

set "esc=<символ_27>"

echo DO %esc%[8G0%% [%esc%[s%esc%[20C] %esc%

for /l %%i in (1,1,100) do call:progress %%i

echo %esc%[u%esc%[2CDONE
echo.
goto:eof

:progress
set /a check=%1%%5
if "%check%"=="0" echo %esc%[u#%esc%[s
echo %esc%[1F%esc%[8G%1%%

nircmdc wait 50

Где %esc% - 27 символ ASCCI
Результат:
http://storage7.static.itmages.ru/i/12/0405/h_1333597423_7703234_1f5ad3a760.png

gora
05-04-2012, 12:21
RomanLis, полистайте CMD/BAT - [решено] Графическая оболочка для CMD (индикатор состояния) (http://forum.oszone.net/thread-145074-3.html) может что подберете себе.




© OSzone.net 2001-2012