Cepгей Poщин дата публикации 17-10-2005 04:12 Окно отображающее ход выполнения длительной операции
Если компьютер о чем-то задумывается на продолжительное время, пользователь может выйти из состояния душевного покоя, и
начать, в порыве бессильной злобы, нажимать на все возможные кнопки клавиатуры, мыши и системного блока. Наверно не мне одному приходила
в голову мысль, сообщить пользователю что-нибудь приободряющее, если какая-то операция выполняется больше определенного времени.
Предлагаю вашему вниманию небольшой модуль, в котором содержится потомок класса TThread, позволяющий отображать окно с текстом, пиктограммой
и индикатором хода выполнения операции.
Поскольку это окно работает в своем собственном потоке и не использует VCL компоненты есть следующие достоинства:
- можно использовать в консольных приложениях;
- нет необходимости заботится об обновлении содержимого (всегда перерисовывается само);
- если задача выполняется быстрее предполагаемого времени (см. св-во Interval) окно не мелькает на экране;
- размер прилржения увеличивается очень слабо.
Предлагаемый класс содержит все необходимые (но не все возможные) для работы свойства, его можно использовать также как заготовку для дальнейшего совершенствования.
Если кто-то будет использовать этот модуль, в своих программах, сообщите о результатах, особенно о возможных ошибках. Мне будет интересно.
К материалу прилагаются файлы:
[TThread] [Потоки (нити) Threads] [Обработка длительных процессов (отображение/реакция и т.п.)]
Обсуждение материала [ 22-07-2015 15:56 ] 48 сообщений |