Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1371457959
Sergey Masloff
2013-06-17 12:32
2013.12.08
И опять про ЕГЭ


15-1371546824
брат Птибурдукова
2013-06-18 13:13
2013.12.08
ХЕ4


15-1371297794
_oxffff
2013-06-15 16:03
2013.12.08
Javapocalypse


8-1233672337
salamander
2009-02-03 17:45
2013.12.08
Как сделать повтор звука в компоненте MediaPlayer?


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский