Форум: "Начинающим";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
ВнизЦикл?.... а вот как - что-то совсем у меня ни как.....:) Найти похожие ветки
← →
BaBayka007 © (2006-02-18 15:23) [0]Всем доброго денька! Подскажите плиз, как задать цикл появления вызываемой модальной формы? Смысл следующий.....треба чтобы при неправильном введеном пароле или имени пользователя при входе в бд вылетело сообщение об ошибке (сделано) , а при её закрытии опять появлялась форма ввода данных пользователя......и так постоянно....т. е. цикл? а вот как что-то совсем у меня ни как.....:)
procedure TFEmpl.FormShow(Sender: TObject);
begin
if FLogin.ShowModal=mrOK then
begin
pFIBDatabase1.ConnectParams.UserName := FLogin.EdLogin.Text;
pFIBDatabase1.ConnectParams.Password := FLogin.EdPassword.Text;
try
pFIBDatabase1.Connected:=True;
pFIBDataSet1.Active:=True;
Except
ShowMessage("Введены неправильные имя или пароль пользователя");
end;
end;
end;
← →
Desdechado © (2006-02-18 15:27) [1]while( not pFIBDatabase1.Connected ) do
begin
//все твои манипуляции
end;
PS странно. а если юзер просто захочет выйти из программы, по твоей логике он не имеет этого права
← →
Mike Kouzmine © (2006-02-18 15:28) [2]while not pFIBDatabase1.Connected do FormShow(Nil);
← →
Lexer © (2006-02-18 15:30) [3]для решения данной задачи треба еще и в процессах скрывать енту прогу, а то вруг пользователь захочет выйти через диспетчер...
← →
BaBayka007 © (2006-02-18 15:32) [4]
> Desdechado
спасибо.... щас попробую......:)
> PS странно. а если юзер просто захочет выйти из программы,
> по твоей логике он не имеет этого права
а выход я ему обеспечу нажатием на другую пимпу расположенной на форме ввода данных пользователя....
← →
Lexer © (2006-02-18 15:47) [5]ИМХО коряво сделан коннект, каждый раз моргает ыорма ввода пароля.
Может просто не закрывать форму FLogin, до тех пор пока не будет соединения или пользовательне нажмет Отмена.
А в событие Close формы FLogin добавь присвоение ModalResult.
← →
BaBayka007 © (2006-02-18 16:20) [6]
> Lexer
> ИМХО коряво сделан коннект, каждый раз моргает ыорма ввода
> пароля.
> Может просто не закрывать форму FLogin, до тех пор пока
> не будет соединения или пользовательне нажмет Отмена.
дык......у меня вроде так и есть....вернее этого хочу добиться...а в событиях Flogin есть две процедуры:
procedure TFLogin.FormShow(Sender: TObject);
begin
edPassword.Text:="";
end;
procedure TFLogin.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
Подправил процедуру по предложению
> Desdechado
да видимо не туда и не так.....сообщение об ошибке появляется через раз , а между этим благополучно стирается набранный пасс....., а при попытке закрыть вообще чудеса....форма начинает мигать с частотой 30-60Гц....:) и закрыть можно тоько через диспетчер задач.....:(
← →
Lexer © (2006-02-18 16:42) [7]
procedure TFLogin.btnOkClick(Sender: TObject);
begin
with DataModule1, pFIBDatabase1 do
begin
ConnectParams.UserName := FLogin.EdLogin.Text;
ConnectParams.Password := FLogin.EdPassword.Text;
try
Connected:=True;
pFIBDataSet1.Active:=True;
Close;
except
ShowMessage("Введены неправильные имя или пароль пользователя");
FLogin.EdPassword.Text = "";
end;
end;
end;
procedure TFLogin.FormClose(Sender: TObject);
begin
if pFIBDatabase1.Connected then ModalResult := mrOk
else ModalResult := mrCancel;
end;
procedure TFEmpl.FormCreate(Sender: TObject);
begin
if FLogin.ShowModal=mrCancel then Application.Terminate;
end;
Сорри, если есть ошибки не проверял...
← →
BaBayka007 © (2006-02-18 17:16) [8]
> Lexer
спасибо за пример.....не заметил возврата формы для ввода пароля при неправильном первоначальном вводе..... буду разбираться.....:)
← →
BaBayka007 © (2006-02-18 20:32) [9]if FLogin.ShowModal=mrCancel then Application.Terminate;
....а от этой фразы вылетает ошибка в результате оной стопорится весь процесс создания формы....:(
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c