Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.02.2013, 21:44
ivkinai ivkinai вне форума
Прохожий
 
Регистрация: 20.02.2013
Адрес: Мурманск
Сообщения: 1
Версия Delphi: RAD Studio XE
Репутация: 10
По умолчанию Авторизация

База данных сделана в 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  
Старый 21.02.2013, 05:24
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от ivkinai
...2. Как сделать, чтобы вместо вводимого пароля высвечивались звездочки.
Object Inspector -> Edit1 -> Properites -> PasswordChar = *

или
Код:
Edit1.PasswordChar:= '*';
Ответить с цитированием
  #3  
Старый 21.02.2013, 07:20
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

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

Есть 2 варианта.
1. Использовать встроенное окно логина и встроенную авторизацию. Ловить момент подключения к БД и тогда по имени пользователя выполнять соотв. настройки.
2. Сделать свое окно авторизации. Тогда и пользователей можно вести своих. Окно авторизации можно показывать, например, в OnCreate главной формы. В случае успешной авторизации пускаем пользователя дальше, если неправильно ввел пароль, то Application.Terminate.
Ответить с цитированием
  #4  
Старый 21.02.2013, 09:34
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

Цитата:
Сообщение от lmikle
Есть 2 варианта.
1. Использовать встроенное окно логина и встроенную авторизацию. Ловить момент подключения к БД и тогда по имени пользователя выполнять соотв. настройки.
2. Сделать свое окно авторизации. Тогда и пользователей можно вести своих. Окно авторизации можно показывать, например, в OnCreate главной формы. В случае успешной авторизации пускаем пользователя дальше, если неправильно ввел пароль, то Application.Terminate.

ivkinai, для первого варианта пробуй
Код:
logindialogproc('БД', имя юзера, пароль);
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")

Последний раз редактировалось Mrak, 21.02.2013 в 09:42.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:51.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter