GdccGlobal.TgdccProgress

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «{{ClassDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|class={{#explode:{{PAGENAME}}|.|1}}|src=TgdccProgress = class(TObject)}} == Описание == <onlyincl…»)
 
Строка 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
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты