Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] как показать пользователю что программа работает?(прогресс бар и т.д.) (http://forum.oszone.net/showthread.php?t=206636)

andr_mozg 11-05-2011 13:20 1674228

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

Freez 16-05-2011 15:12 1677286

А что именно делает программа?
Если, к примеру, перебор массива - я использовал 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 1677630

Вложений: 1
ToolTip это не тот случай,
нужно чтото более информативное как прогресс бар,
ну или окно которое будит точно по центру при этом не TOP а на заднем плане, с логотипом и снизу прогресс бар небольшой но желательно с стилем не windows а своим, окно как в примере создать непроблема, как зделать прогресс бар с красипвой графикой...

kaster 17-05-2011 09:34 1677649

andr_mozg, так тебе нужна красивая графика или информативность? потому как прогресс бар ничуть не информативнее, чем ToolTip с указанием процента выполнения операции.

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

andr_mozg 17-05-2011 10:47 1677695

kaster,
тут про AutoIT речь, причем тут pHp?

Freez 17-05-2011 11:39 1677731

kaster, упс )
Просто пхп раскрашивается, удобнее )

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



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

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

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

kaster 17-05-2011 11:58 1677746

andr_mozg,
Progress Bar без анимации, разноцветный для Windows Vista/7
ProgressBar с использованием GDI+
[Элементы GUI] ProgressBarEx.au3 (UDF для создания прогресс бара из текстур)
[Элементы GUI] Progress Bar в Taskbar'е (Win7)
Freez,
Au3ToPost - Подсветка синтаксиса Au3-кода для публикации на форумах 3.0

andr_mozg 17-05-2011 12:32 1677766

не все знал, спсиб..


Время: 03:11.

Время: 03:11.
© OSzone.net 2001-