|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Авторизация пользователей
Здравствуйте!
Вопрос: Надо сделать авторизацию на главной форме для входа в программу! Есть два пользователя - Администратор-пороль, Продавец-пороль! И как это будет в Access, в таблице поле Администратор-пороль, Продавец-пороль? Вообщем, пожалуйста отпишите код на примере с названием таблицы если это надо! И вы мне очень поможете Заранее спасибо! |
#2
|
||||
|
||||
делаешь таблицу на 3 поля (остальные на твоё усмотрение)
1. Автоинкремент 2. Логин 3. Пароль Делаешь форму для ввода логина и пароля и создаешь её перед главной форме а дальше уже проверка на правильность Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#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. |