Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Главное окно...   Найти похожие ветки 

 
Dracula2000   (2003-05-21 10:01) [0]

Есть основная форма, при ее активизации через ShowModal вызывается форма ввода логина... Так вот вопрос: как скрыть основную форму до тех пор пока не введется логин?


 
borg   (2003-05-21 10:09) [1]

в FormCreate напиши
var MyForm:tform; MyEdit:Tedit; MyButton:TButton;
begin
MyForm := TForm.Create(Application);
myform.Top:=form1.Top+100;
myform.left:=form1.left+100;
myform.Caption:="Пароль";
MyForm.Height:=80;
MyForm.Width:=300;
MyForm.AutoSize:=true;
MyForm.BorderWidth:=7;
Myedit:=tedit.Create(self);
MyEdit.parent:=MyForm;
MyEdit.MaxLength:=10;
MyEdit.PasswordChar:="*";
MyButton:=TButton.Create(self);
MyButton.Parent:=MyForm;
MyButton.ModalResult:=mrOk;
MyButton.Caption:="Ввод";
MyButton.Left:=MyEdit.Left+140;
MyForm.Showmodal;
if MyButton.ModalResult=mrok then
if MyEdit.Text=parol then showmessage("Parol true") else exit;


 
Skier ©   (2003-05-21 10:13) [2]

>borg (21.05.03 10:09)
И зачем это ?
Не проще ли просто создать форму ввода пароля уже настроенную
(интерфейс) в design-time ?


 
Dracula2000   (2003-05-21 10:20) [3]

Я наверное не слишком понятно выразился...
При запуске Application - надо скрыть MainForm и показать форму логина, а после успешной авторизации - убрать форму логина и показать MainForm...

Обе формы создаются в design-time!!!


 
Юрий Зотов ©   (2003-05-21 10:23) [4]

Совершенно верно, форму логина гораздо проще спроектировать в design-time. А потом сделать возможность завершения программы БЕЗ мелькания главной формы, если юзер нажал "отмена". Для этого убираем форму логина из AutoCreate и слегка меняем DPR:

begin
Application.Initialize;
with TLoginForm.Create(nil) do
try
if ShowModal <> mrOK then Exit
finally
Free
end;
Application.CreateForm(TForm1, Form1);
Application.Run
end.


 
Skier ©   (2003-05-21 10:23) [5]

http://delphimaster.net/view/1-1053419989/


 
Bel ©   (2003-05-21 10:25) [6]

Попробуй вызов формы ввода пароля сделать в OnCreate основной формы.


 
paxer   (2003-05-21 10:25) [7]

Пример кода в dpr:
Application.Initialize;
Application.CreateForm(TfmChooseBasePath, fmChooseBasePath);
//Будем выбирать пока не законектимся или не откажемся
While not MyDb.DataBase1.Connected do begin
res:=fmChooseBasePath.ShowModal();
If res=mrCancel Then begin
fmChooseBasePath.Free();
Halt;
end;
end;
fmChooseBasePath.Free();
Application.CreateForm(TMainForm, MainForm);


 
Спрашивающий   (2003-05-21 10:26) [8]

Можно так
1.Кинь ее за пределы экрана Form1.Left:=-Form1.Width-10;
Ну и после ввода поставь на место
Hide не прокатит на активизации


 
Bel ©   (2003-05-21 10:26) [9]

Упс, не успел.
Юрий Зотов © (21.05.03 10:23) - самое то, что надо.


 
DesWind   (2003-05-21 10:27) [10]

А у кнопок расположеных на этой форме надо в свойстве ModalResult указать mrOk, mrCancel или какой-нить другой


 
Dracula2000   (2003-05-21 10:52) [11]

Всем спасибо! Кое-что помогло... :)



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
1-2992
Term
2003-05-21 16:47
2003.06.02
Вопрос по динамическим массивам.......


1-2955
kost
2003-05-21 08:20
2003.06.02
ACCESS


1-2922
Disruptor
2003-05-23 06:31
2003.06.02
Пробл. с отчетами - некорр. отображ. QRBand размером > страницы


3-2771
ArtemB
2003-05-13 07:01
2003.06.02
Нумерация записей


14-3085
nokk9
2003-05-13 00:52
2003.06.02
Шифрование