GdccGlobal.TgdccProgress
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| (не показаны 2 промежуточные версии 1 участника) | |||
| Строка 3: | Строка 3: | ||
== Описание == | == Описание == | ||
| − | <onlyinclude>Класс для организации прогресс бара.</onlyinclude> | + | <onlyinclude>Класс для организации прогресс бара (progress bar).</onlyinclude> |
Пример использования в скрипт-функиях: | Пример использования в скрипт-функиях: | ||
| Строка 20: | Строка 20: | ||
' второй булевский параметр -- можно ли прервать процесс кнопкой Прервать | ' второй булевский параметр -- можно ли прервать процесс кнопкой Прервать | ||
| − | P.StartWork " | + | P.StartWork "Заголовок окна", "Название процесса", 100, True, True |
For I = 1 To 100 | For I = 1 To 100 | ||
' имя шага и приращение | ' имя шага и приращение | ||
| − | ' приращение не обязательно 1, | + | ' приращение не обязательно 1, например, |
' если на разных шагах процесса выполняется | ' если на разных шагах процесса выполняется | ||
' разный объем работ | ' разный объем работ | ||
| − | P.StartStep " | + | P.StartStep "Шаг #" & I, 1 |
| − | ' что-то делаем | + | ' что-то делаем. для учебных целей -- просто пауза |
| − | |||
| − | |||
WinAPI.Sleep 200 | WinAPI.Sleep 200 | ||
| + | |||
| + | ' пользователь прервал наш процесс? | ||
| + | |||
| + | If P.Canceled Then Exit For | ||
Next | Next | ||
' процесс закончен. Булевский параметр показывает надо ли | ' процесс закончен. Булевский параметр показывает надо ли | ||
| − | ' закрыть окно или пусть повисит, пока пользователь его не закроет | + | ' закрыть окно (True) или пусть повисит, пока пользователь его не закроет |
P.EndWork "Обработка завершена успешно", False | P.EndWork "Обработка завершена успешно", False | ||
End Sub | End Sub | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Текущая версия на 16:27, 8 июня 2016
| Модуль: GdccGlobal.pas | Конструкторы и деструкторы | Свойства | Методы | События | Наследованные члены |
Delphi:
TgdccProgress = class(TObject)
[править] Описание
Класс для организации прогресс бара (progress bar).
Пример использования в скрипт-функиях:
Option Explicit Sub ShowProgressWindow Dim Creator, P, I Set Creator = New TCreator Set P = Creator.GetObject(nil, "TgdccProgress", "") ' шагов может быть сколько угодно. не обязательно 100 ' первый булевский параметр указывает надо ли принудительно ' вывести окно с процентами поверх всех остальных ' второй булевский параметр -- можно ли прервать процесс кнопкой Прервать P.StartWork "Заголовок окна", "Название процесса", 100, True, True For I = 1 To 100 ' имя шага и приращение ' приращение не обязательно 1, например, ' если на разных шагах процесса выполняется ' разный объем работ P.StartStep "Шаг #" & I, 1 ' что-то делаем. для учебных целей -- просто пауза WinAPI.Sleep 200 ' пользователь прервал наш процесс? If P.Canceled Then Exit For Next ' процесс закончен. Булевский параметр показывает надо ли ' закрыть окно (True) или пусть повисит, пока пользователь его не закроет P.EndWork "Обработка завершена успешно", False End Sub