Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2009, 18:22   #1
Neadekwat
 
Регистрация: 15.06.2009
Сообщений: 5
Печаль C++ Builder 6. ProgressBar

Нужно, чтобы полоса хода процесса, после нажатия кнопки постепенно заполнялась до конца (Скрин2), как при установке приложения. Но у меня при нажатии кнопки полоса заполняется только на 1% (Скрин1)
Вот код:
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int Count, Current;
Count = 100;
Current = 1;
ProgressBar1->Position = 100 * Current/ Count;
Чего не хватает в коде?
Изображения
Тип файла: jpg Скрин1.jpg (39.6 Кб, 207 просмотров)
Тип файла: jpg Скрин2.jpg (42.3 Кб, 194 просмотров)
Neadekwat вне форума Ответить с цитированием
Старый 17.08.2009, 18:26   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Если вы хотите, чтобы полоса двигалась, то нужно изменять Position с течением времени.
Бросьте на форму таймер и в обработчике увеличивайте значение Position.

Ну или поместите строчку
Код:
ProgressBar1->Position = 100 * Current/ Count;
в цикл, где увеличивайте Current. Но тогда полоса заполнится слишком быстро.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 17.08.2009, 19:08   #3
Neadekwat
 
Регистрация: 15.06.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
Если вы хотите, чтобы полоса двигалась, то нужно изменять Position с течением времени.
Бросьте на форму таймер и в обработчике увеличивайте значение Position.
Я пока только начинаю изучать С++. Можете подробно объяснить, как это делается?

Последний раз редактировалось Neadekwat; 17.08.2009 в 19:10.
Neadekwat вне форума Ответить с цитированием
Старый 17.08.2009, 19:15   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

На форму бросьте прогрессбар, таймер (вкладка System) и кнопку.
В свойствах таймера выставите Enabled в значение false (то есть изначально он выключен).

А вот вам обработчики кнопки и таймера:
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ProgressBar1->Position = 0; // позицию на ноль
ProgressBar1->Max = 100; // правая граница
Timer1->Interval = 100; // интервал = 100 миллисекунд
Timer1->Enabled = true; // включаем таймер
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
ProgressBar1->StepIt(); // смещаем позицию прогрессбара
if(ProgressBar1->Position == ProgressBar1->Max) Timer1->Enabled = false;
 // если дошли до конца, то выключаем таймер
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 17.08.2009, 20:54   #5
Neadekwat
 
Регистрация: 15.06.2009
Сообщений: 5
По умолчанию

Огромное спасибо)) Все работает
Neadekwat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ProgressBar mish@ Общие вопросы Delphi 2 27.05.2009 16:56
ProgressBar Simon..14 Общие вопросы C/C++ 10 24.01.2009 14:56
ProgressBar Terran Общие вопросы Delphi 5 09.01.2008 21:18
ProgressBar pentiumForever Компоненты Delphi 2 07.09.2007 13:33