Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
1-1139058199
Still Swamp
2006-02-04 16:03
2006.03.05
Как в из метода сделать обычную процедуру?


2-1140012790
Id
2006-02-15 17:13
2006.03.05
comboBox1.Style:=csDropDownList


1-1138627845
Opilki_Inside
2006-01-30 16:30
2006.03.05
Перевод даты в строгу с заданым форматом


2-1140033420
49 Cent
2006-02-15 22:57
2006.03.05
Может ли Dbgrid отображать подтаблицу?


2-1140244985
X9
2006-02-18 09:43
2006.03.05
Узнать выбранный принтер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский