ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

26.07.2008, 14:48
|
|
Познающий
Регистрация: 24.07.2008
Сообщений: 47
Провел на форуме: 108397
Репутация:
31
|
|
Немного об Progress Bar
Немного об Progress Bar
Многие новички Delphi задаются вопросом как сделать что-бы прогресс бар 'тикал'. Вот сейчас мы рассмотрим компонент ProgressBar со страницы библиотеки Win32, предназначенную для отображения в стиле Windows 95/98 хода процессов, занимающих заметное время, например, копирования больших файлов, настройку приложения, установку приложения на компьютере и т.п. Пример хода процесса компонентами ProgressBar :

Основные свойства ProgressBar'a :
Max - Максимальное значение позиции (Position, Progress), по умолчанию — 100%
Min - Начальное значение позиции (Position, Progress)
Orientation - Ориентация шкалы компонента: pbHorizontal — горизонтальная, pbVertical — вертикальная
Smooth - Непрерывное (при значении true) или дискретное отображение процесса. На рисунке задано Smooth = true
Step - Шаг приращения позиции, используемый в методе StepIt. Значение по умолчанию — 10.
---------------------------------------------
Вот пример работы ProgressBar'a с таймером и без таймера + исходник
// если таймер то интервал допустим 1000 - обновление каждую секунду
// для прогрессбара max = 60 - минута
begin
Timer.Enabled := ProgressBar.Position < ProgressBar.Max;
ProgressBar.Position := ProgressBar.Position + 1;
end;
--------------------------------
// чтобы без таймера
var
k: DWORD;
begin
ProgressBar.Max := 60;
ProgressBar.Min := 0;
ProgressBar.Position := ProgressBar.Min;
k := GetTickCount;
while k + (60 * 1000 {минута}) < GetTickCount do
begin
ProgressBar.Position := (GetTickCount - k) / 1000;
// тут обычно
Application.ProcessMessages;
end;
end;
Исходник . Спасибо за внимание
|
|
|

27.07.2008, 21:12
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 104
Провел на форуме: 400001
Репутация:
111
|
|
мм, кодес ниочём)) если решил показывать примеры работы с компонентами, то описывай все, хотя бы из стандартных панелек  ) А так.. где-то тут был топик "Проги от скуки", наверно это туда надо было 
|
|
|

28.07.2008, 03:20
|
|
Познающий
Регистрация: 24.07.2008
Сообщений: 47
Провел на форуме: 108397
Репутация:
31
|
|
Топик не ни о чем, а о прогресс баре. А так замечание учту
|
|
|

28.07.2008, 13:09
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Топик не о чем, так как здесь ничего нового нет.
все из книги.
|
|
|

28.07.2008, 13:46
|
|
Познающий
Регистрация: 24.07.2008
Сообщений: 47
Провел на форуме: 108397
Репутация:
31
|
|
Из какой н*х книги?! Я сам это писал...темболее я не тебе писал, а у того в этом проблемы
|
|
|

28.07.2008, 18:44
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
_GlaD1aT(OR)_ может писал ты и сам, но пойми "статья" уж очень мелочная... статьи надо писать о том о чём мало материала... а уж о прогрес баре то зачем? даже если материала по нему нет то там интуитивно можно самому до всего дойти.. всё ж понятно и так как день божий =)... короче ни*уя не зачёт
|
|
|

29.07.2008, 02:29
|
|
Познающий
Регистрация: 24.07.2008
Сообщений: 47
Провел на форуме: 108397
Репутация:
31
|
|
А это не статья, это просто краткое описание этого элемента...
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|