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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2011, 15:19   #1
troyan32
Пользователь
 
Регистрация: 30.01.2011
Сообщений: 31
Вопрос ProgressBar и Form'a

Я создаю демо версию своей программы и возникли вопросы:
1. Возможно ли программно сменить главную форму? Если да то как?
2. И как закрыть форму и открыть другую если position у progressbar'а = 100?
Форма-"пустышка", прогрессбар работает от таймера.
troyan32 вне форума Ответить с цитированием
Старый 16.04.2011, 16:10   #2
eduard93
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 300
По умолчанию

Сделайте Project -> View source. Какая форма первой создается та и главная.
В таймере проверяйте позицию прогресбара, если конец, то открывайте новую форму.
eduard93 вне форума Ответить с цитированием
Старый 16.04.2011, 16:30   #3
troyan32
Пользователь
 
Регистрация: 30.01.2011
Сообщений: 31
По умолчанию

При включении таймера
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
if ProgressBar1.Position=100 then 
form2.show;
Timer1.enabled:=false;
end;
при появлении формы
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
Timer1.Enabled:=true;
end;

Если поставить главную форму 1 форму(на которой прогресс бар), то при закрытии её приложение закрывается. А если поставить 2 форму, то она показывается, 1 нет. Как сделать при запуске показывать 1 форму, на которой прогрессбас, а когда он заполнится, 1 ф закрыть, 2 ф открыть.
troyan32 вне форума Ответить с цитированием
Старый 16.04.2011, 16:59   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Код:
uses unit2 ; //form2 unit

....


procedure Form2.OnCreate;
begin
Form1.Show;
Hide; //form2
end;

procedure OnShow; //Form1
begin
Timer.Enabled:=True;
end;

Procedure onTimer; //Form1
begin
If (ProgressBar.Position = 100) then
begin
Hide; //Form1
Form2.show;
end; 
end;
ничего сложного
Человек_Борща вне форума Ответить с цитированием
Старый 16.04.2011, 17:18   #5
troyan32
Пользователь
 
Регистрация: 30.01.2011
Сообщений: 31
По умолчанию

Сейчас прогрессбар перестал работать.
troyan32 вне форума Ответить с цитированием
Старый 16.04.2011, 23:16   #6
eduard93
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 300
По умолчанию

Код в студию.
eduard93 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Progressbar slai Компоненты Delphi 2 18.10.2010 04:36
progressbar Erick Cartman Мультимедиа в Delphi 0 26.03.2010 23:33
ProgressBar masterenergy Microsoft Office Excel 0 18.03.2010 14:04
ProgressBar Makarov Компоненты Delphi 3 04.02.2008 22:42
ProgressBar Terran Общие вопросы Delphi 5 09.01.2008 21:18