GdccGlobal.TgdccProgress
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) (Новая страница: «{{ClassDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|class={{#explode:{{PAGENAME}}|.|1}}|src=TgdccProgress = class(TObject)}} == Описание == <onlyincl…») |
SYSDBA (обсуждение | вклад) |
||
| Строка 15: | Строка 15: | ||
Set P = Creator.GetObject(nil, "TgdccProgress", "") | Set P = Creator.GetObject(nil, "TgdccProgress", "") | ||
| + | ' шагов может быть сколько угодно. не обязательно 100 | ||
| + | ' первый булевский параметр указывает надо ли принудительно | ||
| + | ' вывести окно с процентами поверх всех остальных | ||
| + | ' второй булевский параметр -- можно ли прервать процесс кнопкой Прервать | ||
| + | |||
P.StartWork "Обработка данных", "Длительный процесс", 100, True, True | P.StartWork "Обработка данных", "Длительный процесс", 100, True, True | ||
For I = 1 To 100 | For I = 1 To 100 | ||
| + | |||
| + | ' имя шага и приращение | ||
| + | ' приращение не обязательно 1, используется | ||
| + | ' если на разных шагах процесса выполняется | ||
| + | ' разный объем работ | ||
| + | |||
P.StartStep "Step #" & I, 1 | P.StartStep "Step #" & I, 1 | ||
| − | ' | + | ' что-то делаем |
If P.Canceled Then Exit For | If P.Canceled Then Exit For | ||
| Строка 26: | Строка 37: | ||
WinAPI.Sleep 200 | WinAPI.Sleep 200 | ||
Next | Next | ||
| − | + | ||
| + | ' процесс закончен. Булевский параметр показывает надо ли | ||
| + | ' закрыть окно или пусть повисит, пока пользователь его не закроет | ||
| + | |||
P.EndWork "Обработка завершена успешно", False | P.EndWork "Обработка завершена успешно", False | ||
End Sub | End Sub | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 15:42, 8 июня 2016
| Модуль: GdccGlobal.pas | Конструкторы и деструкторы | Свойства | Методы | События | Наследованные члены |
Delphi:
TgdccProgress = class(TObject)
Описание
Класс для организации прогресс бара.
Пример использования в скрипт-функиях:
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 "Step #" & I, 1 ' что-то делаем If P.Canceled Then Exit For WinAPI.Sleep 200 Next ' процесс закончен. Булевский параметр показывает надо ли ' закрыть окно или пусть повисит, пока пользователь его не закроет P.EndWork "Обработка завершена успешно", False End Sub