Форум: "Основная";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];
ВнизКак сделать форму для ввода пароля? Найти похожие ветки
← →
lpp (2002-07-31 11:43) [0]Есть MDI форма, на ней ADOConnection для связи с базой в которой хранятся в том числе и Пользователи-пароли для доступа. Нужно проверять санкционарованность доступа в отдельной форме которая появляется до MDI.
Не могу сообразить как... Манипулировал со Splash-формой, но дело в том что пароли для доступа хранятся в базе.
← →
Yuri Btr (2002-07-31 13:27) [1]File/New/Other.../Dialogs/Password Dialog
Очень удобная фишка. Запускаешь её после создания главной формы а затем уничтожаешь если аутентификация прошла
← →
Proton (2002-07-31 21:21) [2]я такое с интербейзом вытворял но думаю что это и вам поможет
схема такая
1)
компонент базы данных кладу на дата модуль
2)
при событии beforeconnect вывожу модально окно ввода пароля
по его закрытии (если юзверь нажал ok) подключаюсь к базе данных
3)
если подключение прошло успешно то создаю главную форму
вот куски кода
procedure TDM_db_engine.pFIBDatabase_staffLogin(Database: TFIBDatabase;
LoginParams: TStrings; var DoConnect: Boolean);
var Wnd_login: TWnd_login;
begin
Wnd_login := TWnd_login.Create(Application);
with Database,Wnd_login do
begin
if ShowModal <> mrOK then
//DoConnect := false;
TerminateProcess(GetCurrentProcess,0);
Application.ProcessMessages; // это что"б обновить заставку
DBName := DBPath;
DBParams.Values["user_name"] := UserName;
DBParams.Values["password"] := Password;
end;
Wnd_login.Free;
end;
begin
Application.Initialize;
WND_SplashScreen := TWND_SplashScreen.Create(Application);
WND_SplashScreen.Show;
WND_SplashScreen.Update;
Application.CreateForm(TDM_db_engine, DM_db_engine);
if DM_db_engine.pFIBDatabase_staff.Connected then
Application.CreateForm(TWnd_sk_main, Wnd_sk_main);
WND_SplashScreen.Hide;
WND_SplashScreen.Free;
Application.Run;
end.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c