Форум: "Начинающим";
Текущий архив: 2013.12.08;
Скачать: [xml.tar.bz2];
ВнизАвторизация Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c