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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.10.2009, 10:31
Len@09 Len@09 вне форума
Прохожий
 
Регистрация: 13.10.2009
Сообщения: 21
Репутация: 10
По умолчанию Доступ к базе

Всем привет!
Подскажите, как к готовой программе сделать окно для ввода пользователя и пароля. Я делала так: в Access создала таблицу: ТаблицаПользователи. В ней создала 2-х пользователей: User и Инспектор и задала им пароли. В Delphi создала новую форму, поместила на нее ADOConnection1, ADOQuery (UserQuery), Edit1(LoginEdit) Edit2(PasswordEdit), 2 кнопки (Вход и Отмена). На кнопке Вход такой код:
Код:
procedure TUserForm.SpeedButton1Click(Sender: TObject);
begin
If (LoginEdit.Text<>'') and (PasswordEdit.Text<>'') then //поля не пустые
 begin
 UserQuery.Active:=false;
 UserQuery.Parameters.ParamByName('log').Value:=LoginEdit.Text;
 UserQuery.Active:=true;
   If UserQuery.RecordCount<>0 then
     begin
      If UserQuery.FieldByName('Пароль').AsString=PasswordEdit.Text then begin
         login:=LowerCase(LoginEdit.Text);
         If UserQuery.FieldByName('Доступ').AsString='True' then  Dostup:=true//есть доступ
            else Dostup:=false;
             Close;
       end
          else Showmessage('Пароль не верный!');
     end;
 end
    else ShowMessage(Введите имя пользователя и пароль!'); //пустые поля
end;
Эта форма (UserForm)должна запускаться перед главной формой (Form1).
А у меня сразу запускается Form1.
Ответить с цитированием
  #2  
Старый 20.10.2009, 11:14
Len@09 Len@09 вне форума
Прохожий
 
Регистрация: 13.10.2009
Сообщения: 21
Репутация: 10
По умолчанию

Для Form1 в свойстве OnActivate написала (взяла из другой программы) следующий код:
Код:
procedure TForm1.FormActivate(Sender: TObject);
begin
 If login='User' then N2.Visible:=true
  else n2.Visible:=false;
end;
При компиляции выдает ошибки:
Undeclared identifier: 'login'
Unsatisfied forward or external declaration: 'TForm1.FormCreate'
NalogProject.dpr(18): Could not compile used unit 'Unit1.pas'
Ответить с цитированием
  #3  
Старый 20.10.2009, 20:36
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Понятное дело переменную login где объявила? Видимо нигде...
Может лучше так...
Код:
procedure TForm1.FormActivate(Sender: TObject);
var
 login : string;
begin
 If login='User' then N2.Visible:=true
  else n2.Visible:=false;
end;
Admin: Предупреждение по тегам.
__________________
В начале был Бит, потом Байт и только потом появилось Слово...

Последний раз редактировалось Admin, 21.10.2009 в 15:03.
Ответить с цитированием
  #4  
Старый 20.10.2009, 20:39
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

В твоем проекте...главное меню--Project--Options...--Forms там установи значение параметра MainForm
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #5  
Старый 21.10.2009, 14:42
Len@09 Len@09 вне форума
Прохожий
 
Регистрация: 13.10.2009
Сообщения: 21
Репутация: 10
По умолчанию

Ну с этим я уже разобралась. А как сделать, чтоб у одного пользователя был полный доступ, а у другого только просмотр?
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter