Компонент TProgressBar предназначен для отображения процессов, занимающих заметное время, например, копирования больших файлов, настройку приложения, установку приложения на компьютере и т.п. Другой компонент, выполняющий аналогичные функции - TGauge.
Компонент TProgressBar представляет собой горизонтальную или вертикальную полосу, заполняемую по мере развития отображаемого процесса.
Основное свойство компонента - Position. Это позиция, которую можно задавать по мере протекания процесса, начиная со значения Min в начале процесса, и кончая значением Max в конце. Свойство Orientation определяет горизонтальную или вертикальную ориентацию шкалы компонента. Свойство Smooth определяет непрерывное или дискретное отображение процесса.
Отображение хода процесса можно осуществлять, задавая значение позиции - Position. Например, если полная длительность процесса характеризуется значением целой переменной Count (объем всех копируемых файлов, число настроек, количество циклов какого-то процесса), а выполненная часть - целой переменной Current, то задавать позицию диаграммы в случае, если используются значения минимальной и максимальной позиции по умолчанию (т.е. 0 и 10), можно оператором
ProgressBar1.Position:=10 * Current div Count;
Можно поступать иначе: задать сначала значение максимальной величины равным Count, а затем в ходе процесса задавать позицию равной Current. Например:
ProgressBar1.Max:=Count;
...
ProgressBar1.Position:= Current;
Компонент ProgressBar имеет два метода, которыми тоже можно воспользоваться для отображения процесса: StepBy - увеличение позиции на заданную величину Delta, и StepIt - увеличение позиции на один шаг, величина которого задается свойством Step.