![]() |
|
|
#1
|
|||
|
|||
|
База данных сделана в MS ACCESS.
Оболочка под нее в Дельфи. При запуске происходит запрос на авторизацию. Выбирается режим входа в систему и в зависимости от этого-либо пользовательский режим или администратора. В пользовательском только просмотр. Код:
procedure TForm1.Button1Click(Sender: TObject);
var
log,pass:string[20];
begin
log:=ComboBox1.Text;
pass:=Edit2.Text;
with Form1.ADOQuery1 do begin
close;
SQL.Clear;
SQL.Add('Select *');
SQL.Add('FROM users');
SQL.Add('WHERE ((log='''+log+''') AND (pass='''+pass+'''))');
Open;
end;
if ADOQuery1.RecordCount<>0 then
begin
if ADOQuery1.FieldByName('log').AsString = 'admin' then
Form2.Show
else if ADOQuery1.FieldByName('log').AsString = 'user' then
Form3.Show;
end
else begin
ShowMessage('Неправильно введено имя пользователя или пароль');
ComboBox1.Text:='';
Edit2.Text:='';
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
ComboBox1.Items.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select log from users');
ADOQuery1.Open;
ADOQuery1.First;
for i := 0 to ADOQuery1.RecordCount - 1 do
begin
ComboBox1.Items.Add(ADOQuery1.FieldByName('log').AsString);
ADOQuery1.Next;
end;
ADOQuery1.Close;
end;
end.Может немного коряво. Но прошу заранее извинить-только учусь программировать. Вопрос такой. Даже два. 1. Как сделать, чтобы при вводе правильного логина и пароля-окно авторизации закрывалось и оставалось только форма с базой данных. 2. Как сделать, чтобы вместо вводимого пароля высвечивались звездочки. Последний раз редактировалось Admin, 20.02.2013 в 21:52. |
|
#2
|
||||
|
||||
|
Цитата:
или Код:
Edit1.PasswordChar:= '*'; |
|
#3
|
|||
|
|||
|
Цитата:
Есть 2 варианта. 1. Использовать встроенное окно логина и встроенную авторизацию. Ловить момент подключения к БД и тогда по имени пользователя выполнять соотв. настройки. 2. Сделать свое окно авторизации. Тогда и пользователей можно вести своих. Окно авторизации можно показывать, например, в OnCreate главной формы. В случае успешной авторизации пускаем пользователя дальше, если неправильно ввел пароль, то Application.Terminate. |
|
#4
|
||||
|
||||
|
Цитата:
ivkinai, для первого варианта пробуй Код:
logindialogproc('БД', имя юзера, пароль);Последний раз редактировалось Mrak, 21.02.2013 в 09:42. |