|
#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. |