GdccGlobal.TgdccProgress

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «{{ClassDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|class={{#explode:{{PAGENAME}}|.|1}}|src=TgdccProgress = class(TObject)}} == Описание == <onlyincl…»)
 
 
(не показаны 3 промежуточные версии 1 участника)
Строка 3: Строка 3:
 
== Описание ==
 
== Описание ==
  
<onlyinclude>Класс для организации прогресс бара.</onlyinclude>  
+
<onlyinclude>Класс для организации прогресс бара (progress bar).</onlyinclude>  
  
 
Пример использования в скрипт-функиях:
 
Пример использования в скрипт-функиях:
Строка 15: Строка 15:
 
   Set P = Creator.GetObject(nil, "TgdccProgress", "")
 
   Set P = Creator.GetObject(nil, "TgdccProgress", "")
 
    
 
    
   P.StartWork "Обработка данных", "Длительный процесс", 100, True, True
+
  ' шагов может быть сколько угодно. не обязательно 100
 +
  ' первый булевский параметр указывает надо ли принудительно
 +
  ' вывести окно с процентами поверх всех остальных
 +
  ' второй булевский параметр -- можно ли прервать процесс кнопкой Прервать
 +
 
 +
   P.StartWork "Заголовок окна", "Название процесса", 100, True, True
 
      
 
      
 
   For I = 1 To 100
 
   For I = 1 To 100
    P.StartStep "Step #" & I, 1
 
  
     ' Что-то делаем
+
     ' имя шага и приращение
       
+
    ' приращение не обязательно 1, например,
     If P.Canceled Then Exit For
+
    ' если на разных шагах процесса выполняется
 +
     ' разный объем работ
 
      
 
      
 +
    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
Персональные инструменты
Пространства имён

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