Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.12.08;
Скачать: CL | DM;

Вниз

Авторизация   Найти похожие ветки 

 
ivkinai76 ©   (2013-02-20 22:03) [0]

База данных сделана в 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. Как сделать, чтобы вместо вводимого пароля высвечивались звездочки.


 
Ega23 ©   (2013-02-20 22:11) [1]


> 2. Как сделать, чтобы вместо вводимого пароля высвечивались звездочки.


TEdit.PasswordChar


> 1. Как сделать, чтобы при вводе правильного логина и пароля-
> окно авторизации закрывалось и оставалось только форма с
> базой данных.


Сделай модальную форму с проверкой, и дальше либо создавай главную форму, либо выходи.


 
Медвежонок Пятачок ©   (2013-02-20 22:15) [2]

1. Как сделать, чтобы при вводе правильного логина и пароля-окно авторизации закрывалось и оставалось только форма с базой данных.

Типа как отпилить сук на котором сидишь?

С учетом того, что первая форма - это application.mainform, то открыть вторую или третью а затем закрыть первую = завершить работу приложения.


 
Podgoretsky   (2013-02-21 08:40) [3]

Аутентификацию сначала бы пройти.


 
O'ShinW ©   (2013-02-21 09:24) [4]

>> Медвежонок Пятачок ©   (20.02.13 22:15) [2]
зачем?

program Project1;

uses
 Forms,
 Unit1 in "Unit1.pas" {frmLogin},
 Unit2 in "Unit2.pas" {frmWork};

{$R *.res}

var
 frmLogin: TfrmLogin;
begin
 frmLogin := TfrmLogin.Create(nil);
 if frmLogin.ShowModal <> 1 then
  Exit;

 Application.Initialize;
 //Application.CreateForm(TfrmLogin, frmLogin);
 Application.CreateForm(TfrmWork, frmWork);
 Application.Run


 
Медвежонок Пятачок ©   (2013-02-21 09:56) [5]

>зачем?

Чего зачем?

Или ты мне показываешь как надо?


 
O'ShinW ©   (2013-02-21 09:57) [6]

Чего зачем?

> а затем закрыть первую = завершить работу приложения



> ты мне показываешь как надо?

автору


 
Slym ©   (2013-02-22 08:09) [7]

http://www.programmersforum.ru/showthread.php?t=228422

я бы в users завел бульеновое поле Admin

и будет
if ADOQuery1.FieldByName("Admin").AsBo olean then

и кстати универсальный пароль будет ")) or((""="
подумай сам почему
это называется SQLInject и фиксится использованием параметров



Страницы: 1 вся ветка

Текущий архив: 2013.12.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
15-1371203547
Дмитрий СС
2013-06-14 13:52
2013.12.08
Logitech и Apple работают над джойстиком для iPhone и iPad


2-1361450554
Token
2013-02-21 16:42
2013.12.08
Список объектов с интерфейсами.


15-1371587402
Юрий
2013-06-19 00:30
2013.12.08
С днем рождения ! 19 июня 2013 среда


2-1361895000
Andrey869
2013-02-26 20:10
2013.12.08
Отправка на почту


15-1371501002
Юрий
2013-06-18 00:30
2013.12.08
С днем рождения ! 18 июня 2013 вторник