PDA

Показать полную графическую версию : [решено] как показать пользователю что программа работает?(прогресс бар и т.д.)


andr_mozg
11-05-2011, 13:20
Задача следующая
Запускаем скрипт, он в фоне ведёт свои прощеты, вобщем может думать значительно долго, соответственно пользователь думает что скрипт не работает, ибо видимого процесса нет.
Прогресс бар использовал готовый _SplashTextProgress() ... но не очень функционально
Вопрос как можно лудше показать что все ок и программа работает.
Может курсор заменить на значок какойнить или еще что то... нечего неприходит в голову.
спасибо

Freez
16-05-2011, 15:12
А что именно делает программа?
Если, к примеру, перебор массива - я использовал ToolTip:


for $i = 1 to $arr[0]
;Действия
ToolTip ($i & '/' & $arr[0], 20, 20, 'Идет обработка..')
next
ToolTip ('')


Можно сделать хоткей, который при нажатии будет отображать текущее значение переменных в тултипе или трейтипе

Если же пользователю переменные неинтересны, и суммарное кол-во действий тоже под вопросом, можно сделать еще проще:

$timeStart = _NowCalc()
ToolTip ('Запущен в ' & $timeStart & ')', 20, 20, 'Скрипт работает')

;Действия

$timeEnd = _NowCalc()
$timeDiff = _DateDiff ('s', timeStart , $timeEnd)
ToolTip ('Время работы: ' & $timeDiff & ' сек.', 20, 20, 'Скрипт отработал')

andr_mozg
17-05-2011, 08:43
ToolTip это не тот случай,
нужно чтото более информативное как прогресс бар,
ну или окно которое будит точно по центру при этом не TOP а на заднем плане, с логотипом и снизу прогресс бар небольшой но желательно с стилем не windows а своим, окно как в примере создать непроблема, как зделать прогресс бар с красипвой графикой...

kaster
17-05-2011, 09:34
andr_mozg, так тебе нужна красивая графика или информативность? потому как прогресс бар ничуть не информативнее, чем ToolTip с указанием процента выполнения операции.

Freez, код который ты приводишь не php

andr_mozg
17-05-2011, 10:47
kaster,
тут про AutoIT речь, причем тут pHp?

Freez
17-05-2011, 11:39
kaster, упс )
Просто пхп раскрашивается, удобнее )

andr_mozg, пассаж про пхп был мне адресован
на тему информативности - вот скрин инфоокошка одного моего бота. Обновляется в реальном времени, по-моему, очень удобно

http://mepic.ru/up/pic_b/3f5b22a13092d43d4ddaabc94ca9c948.jpg

Если хочется именно красивый прогресс-бар - как делать свои стили GUI я, к сожалению, не знаю, так что, если бы передо мной стояла такая задача, я бы сделал, пожалуй, через GUICtrlCreatePic ()

Суть - самостоятельно рисуем сколь угодно красивый пустой прогресс-бар (картинкой, в фотошопе, к примеру), рисуем 1 деление, и в зависимости от процента выполнения накладываем поверх необходимое кол-во делений на область прогресс-бара (чтобы было видно подложенную картинку - можно использовать .gif с прозрачным фоном, если я не ошибаюсь)

Но, на мой взгляд, это не самый рациональный подход, тут я согласен с kaster - по-моему, информативность важнее графики
К тому же, AutoIT - не самое удобное средство рисование красивых гуёв ^_^
Да, и кстати, процентовые прогресс-бары для пользователей вышли из моды - все равно они всегда врали. Сейчас повсеместно используются просто оповещалки типа "идет работа", без анализа времени до завершения.

kaster
17-05-2011, 11:58
andr_mozg,
Progress Bar без анимации, разноцветный для Windows Vista/7 (http://autoit-script.ru/index.php?topic=3068.0)
ProgressBar с использованием GDI+ (http://autoit-script.ru/index.php?topic=222.0)
[Элементы GUI] ProgressBarEx.au3 (UDF для создания прогресс бара из текстур) (http://autoit-script.ru/index.php?topic=1831.0)
[Элементы GUI] Progress Bar в Taskbar'е (Win7) (http://autoit-script.ru/index.php?topic=4479.0)
Freez,
Au3ToPost - Подсветка синтаксиса Au3-кода для публикации на форумах 3.0 (http://creator-lab.ucoz.ru/load/3-1-0-18)

andr_mozg
17-05-2011, 12:32
не все знал, спсиб..




© OSzone.net 2001-2012