![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте!
Вопрос: Надо сделать авторизацию на главной форме для входа в программу! Есть два пользователя - Администратор-пороль, Продавец-пороль! И как это будет в Access, в таблице поле Администратор-пороль, Продавец-пороль? Вообщем, пожалуйста отпишите код на примере с названием таблицы если это надо! И вы мне очень поможете Заранее спасибо! |
|
#2
|
||||
|
||||
|
делаешь таблицу на 3 поля (остальные на твоё усмотрение)
1. Автоинкремент 2. Логин 3. Пароль Делаешь форму для ввода логина и пароля и создаешь её перед главной форме а дальше уже проверка на правильность |
|
#3
|
|||
|
|||
|
Вообщем, все сделал сам! Программная авторизация без какой либо базы для двух пользователей! Если кому надо то вот код
PHP код:
|
|
#4
|
|||
|
|||
|
Цитата:
Врятли такой код кому понадобится, вообще, если бы у меня хоть один программист подобное написал, я бы его уволил)) |
|
#5
|
|||
|
|||
|
Asinkrit Покажи как надо.
![]() |
|
#6
|
|||
|
|||
|
Цитата:
Легко) Вырезки из одного проекта (база ms access): во первых, перед запуском приложения, надо вывести сплеш окно для ввода логина и пароля, и если в базе таковые имеются, то приложение стартует, иначе нет. Файл проекта: Код:
Application.Initialize;
Application.CreateForm(TDM, DM);
DM.DBPath:=ExtractFilePath(Application.ExeName)+'_Garanties.mdb';
FKSplash := TFKSplash.Create(Application);
FKSplash.Show;
FKSplash.Update;
while not FKSplash.Going do Application.ProcessMessages;
if FKSplash.Stop then
begin
DM.Free;
FKSplash.Hide;
FKSplash.Free;
end
else
begin
FKSplash.Hide;
FKSplash.Free;
// в этом месте создание форм и модулей
Application.Run;
end;В дата модуле, подключение и проверка на наличие юзера: Код:
function TDM.ConnectToDB: boolean;
begin
try
ABase.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
FDBPath+';Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=19473396';
ABase.Connected:=true;
finally
Result:=ABase.Connected;
end;
end;
function TDM.GetUserID(const aLogin, aPassword: TStr50): Integer;
begin
with QuerrySQL do
try
if active then close;
SQL.Text:='select user_id, user_FIO, user_is_admin from users '+
'where user_login = '+QuotedStr(aLogin)+' and user_password = '+
QuotedStr(aPassword);
Open;
Last;
First;
if FieldByName('user_id').AsInteger > 0 then
begin
Result:=FieldByName('user_id').AsInteger;
FUserFIO:=FieldByName('user_FIO').AsString;
FIsAdmin:=FieldByName('user_is_admin').AsBoolean;
end
else
begin
Result:=0;
FUserFIO:='';
end;
if active then close;
except
Result:=0;
FUserFIO:='';
end;
FUserID:=Result;
end;В сплеш форме, проверяем на введенные данные: Код:
if DM.GetUserID(dxEdit1.Text,dxMaskEdit1.Text) = 0 then
StatusLabel.Caption:='Неверный логин или пароль...'
else
begin
FGoing := true;
FStop := false;
end;Или если нажата кнопка отмена, то Код:
FStop:=true;
FGoing:=true;Вообщем то все просто) ![]() Последний раз редактировалось Asinkrit, 27.11.2009 в 16:26. |