Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

help meee


Страницы:   1 2

Romm ©   (2007-04-14 17:42:00) 

На этот раз не могу додуматься как осуществить проверку пароля, т.е.
Есть главная форма и форма проверки пароля. Как бы мне показать форму проверки пароля ДО появления главной формы??

если сделать так:
procedure TMainForm.FormShow(Sender: TObject);
begin
 PasswordDlg.ShowModal;
end;


то при вводе неправильного пароля делаю Application.Terminate ->> мерцание главной формы, которая появляется и тут же умирает...
Посоветуйте ченидь


Romm   (2007-04-15 10:23:00) [21]

Хе-хей.. получилось. Сделал так:

procedure TPasswordDlg.OKBtnClick(Sender: TObject);
begin
 if (Password.Text=pass_1) or (Password.Text=pass_2) or (Password.Text=pass_3) then
   begin
     pas:=2;
     Close;
   end;
end;


 PasswordDlg:=TPasswordDlg.Create(nil);
 PasswordDlg.ShowModal;
 PasswordDlg.Repaint;
 if PasswordDlg.pas=2 then
   begin
     Application.Initialize;
     Application.CreateForm(TMainForm, MainForm);
     Application.CreateForm(TOptionForm, OptionForm);
     Application.CreateForm(TEditIPForm, EditIPForm);
     Application.CreateForm(TSendMesForm, SendMesForm);
     Application.Run;
   end
 else
   Application.Terminate;


всем спасибо!


Romm   (2007-04-15 09:55:00) [22]


> В файле проекта создавать форму пароля первой вручную, после
> чего в зависимости от результата или создавать остальные,
>  или отбрыкиваться

"вручную" - это НЕ Application.Create?? Хотя да, если таким методом, то форма проверки пароля станет главной... уу, а тогда как? :)


DrPass   (2007-04-14 21:28:00) [23]


> {RASkov}   (14.04.07 21:27) [6]

Логично. Поэтому я и советую сунуть в OnCreate :)


{RASkov}   (2007-04-14 21:27:00) [24]

>
> MainForm.Visible:= false;

На OnShow будет:
Cannot change Visible in OnShow or OnHide
:)


DrPass   (2007-04-14 21:20:00) [25]


> MainForm.Hide;
> Application.Terminate

MainForm.Visible:= false;
Application.ShowMainForm:= false;
Application.Terminate;
... И засунуть это можно хоть в OnCreate главной формы


Desdechado   (2007-04-14 21:18:00) [26]

В файле проекта создавать форму пароля первой вручную, после чего в зависимости от результата или создавать остальные, или отбрыкиваться.


{RASkov}   (2007-04-14 20:39:00) [27]

В твоем варианте можно и так извернуться, но это не выход и не так лучше делать.
procedure TMainForm.FormShow(Sender: TObject);
begin
PasswordDlg.ShowModal;
width:=0;
Height:=0;
close;
end;


{RASkov}   (2007-04-14 20:34:00) [28]

> MainForm.Hide;

Хотя на OnShow такое не прокатит...


{RASkov}   (2007-04-14 20:32:00) [29]

Например
MainForm.Hide;
Application.Terminate;
или еще лучше пересмотреть/переделать организацию запроса пароля. Например, создавать окно запроса пароля до создания главной формы и если че не так, то и главную уже не создавать...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо