![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как показать форму при загрузке приложения. [D6, XP]
vegarulez © (2007-03-17 11:55:00)Привет всем мастреам!
Подскажите, как можно показать фому(ну на которой допустим расположен рисунок) при загрузке приложения... а потом когда оно запустится, она должна будет закрыться...
Я помню, что когда то делал так... а сечас не могу вспомнить, что я делал, чтобы в прожекте сначала открывалась 2-ая форма, и висела, пока открывается и создаётся 2-ая.
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
easy (2007-03-17 17:19:00) [1]http://dfc.com.ru/download.php?d=login
RASkov (2007-03-17 16:34:00) [2]> [9] vegarulez © (17.03.07 16:28)
Примерно так:
procedure TForm2.MrOkClick(Sender: TObject);
begin
if Form2.Edit1.Text <> '12345' then ModalResul:=mrOk else ModalResult:=mrCancel;
end;
Program ..;
....
LogoForm:=TLogoForm.Create(nil);
try
if LogoForm.ShowModal <> MrOk then Halt else begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end;
finally
LogoForm.Release;
end;
vegarulez (2007-03-17 16:29:00) [3]Код прожекта
program Project2;
uses
QForms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
Form2:=TForm2.Create(nil);
try
if Form2.ShowModal <> 1 then Exit;
if Form2.Edit1.Text <> '1234' then Exit;
finally
Form2.Release;
end;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
vegarulez (2007-03-17 16:28:00) [4]Так а как ьеперь форму 2 закрыть???
Там есть 2 поля логин и пароль TEdit есть кнопочка - Tbutton
При нахатии на кнопку я добавил
procedure TForm2.MrOkClick(Sender: TObject);
begin
if Form2.Edit1.Text <> '12345' then Exit
else
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
Form2.Close;
end;
end;
Form1 то открывается, но Form2 не закрывается - так и висит... :(
Что делаю не так?
RASkov (2007-03-17 16:20:00) [5]Controls:
mrOk = idOk;
Windows:
IDOK = 1; ID_OK = IDOK;
......
RASkov (2007-03-17 16:16:00) [6]> [6] vegarulez © (17.03.07 16:13)
if LogoForm.ShowModal <> 1 then...
vegarulez (2007-03-17 16:13:00) [7]Чот yа MrOk ругается - гворит не знаю чо эт такое...
Ант (2007-03-17 15:31:00) [8]Чтобы не показывать главную форму, достаточно проскочить мимо Application.Run;
Application.Initialize;
LogoForm:=TLogoForm.Create(nil);
try
if LogoForm.ShowModal <> MrOk then Exit;
if LogoForm.EditPassword.Text <> '12345' then Exit;
finally
LogoForm.Release;
end
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
vegarulez (2007-03-17 15:18:00) [9]Ок спасибо. Попробовал.
Но мне надо немного другое...
Я хочу вывести форму, допустим в которой будет - типа введите логин и пароль.... и 2 поля... и когда эти два поля при нажатии кнопочки совпадут с тем что требуется, то тогда показывать главную форму, а эту закрывать.
В противном случае, если логин и пароль не те, что требуются, то закрывать и эту форму и не показывать главной формы, т.е. полностью программу закрывать.
Ант (2007-03-17 15:01:00) [10]Главной формной в приложении (по закрытию которой приложение закрывается)является та форма, которая первой сохдана с параметром Owner = Application/
То есть в файле DPR создаешь форму с овнер = nil
LogoForm:=TLogoForm.Create(nil);
LogoForm.Show;
LogoForm.Refresh;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
LogoForm.Release;
Application.Run;
vegarulez (2007-03-17 14:49:00) [11]А если на форме 2, которую хочу выводить содержится допустим кнопка, и только при нажатии кнопки пока зывать форму 1?....
-=Le][=- (2007-03-17 12:55:00) [12]Я тоже немогу вспомнить как ты это делал! Попробуй:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
ULogo in 'ULogo.pas' {LogoForm};
{$R *.RES}
begin
Application.Initialize; {до этого момента никаких изменений}
with TLogoForm.Create(Application) do
try
Show;
Update;
Application.CreateForm(TForm1, Form1);
finally
Free;
end;
Application.Run;
end.