Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2015, 14:19   #1
Анжеликааа
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 30
По умолчанию Авторизация

Здравствуйте!
Это код на авторизацию. Код правильный, но вот после нажатия на кнопку я перехожу на главную форму, а если перейду назад в окно авторизации и введу логин и пароль, но пользователь не сменится, он останется прежним.

Как сделать что бы пользователь сменился?

Код:
procedure TForm1.btn1Click(Sender: TObject);
begin
Form1.ADOQuery1.Close;
  ADOQuery1.SQL.Text:='SELECT * FROM Avtorizacija WHERE login = :p_login AND parol = :p_passw';
  if (Form1.Edit1.Text <> '') and (Form1.Edit2.Text <> '')
  then
  begin
    ADOQuery1.Parameters.ParamByName('p_login').Value := Form1.Edit1.Text;
    ADOQuery1.Parameters.ParamByName('p_passw').Value := Form1.Edit2.Text;
    try
      ADOQuery1.Open;

    Except
      ShowMessage('Не удалось открыть таблицу пользователей');
      Exit;
    end;
    if ADOQuery1.RecordCount > 0
    then
    begin
      ShowMessage('Вход успешно выполнен');
    Form1.Visible := False;
      Form2.Visible := True;
case ADOQuery1.FieldByName('dostup').AsInteger  of
0:begin
Form3.btn1.visible:=false;
Form3.btn2.visible:=false;
Form3.btn3.visible:=false;
Form4.btn1.visible:=false;
Form4.btn2.visible:=false;
Form4.btn3.visible:=false;
Form5.btn1.visible:=false;
Form5.btn2.visible:=false;
Form5.btn3.visible:=false;
Form6.btn1.visible:=false;
Form6.btn2.visible:=false;
Form6.btn3.visible:=false;
Form6.btn4.visible:=false;
Form6.btn5.visible:=false;
Form6.btn6.visible:=false;
Form11.btn1.visible:=false;
Form11.btn2.visible:=false;
Form11.btn3.visible:=false;
Form12.btn1.visible:=false;
Form12.btn2.visible:=false;
Form12.btn3.visible:=false;
end;
1:begin
  Form3.btn1.visible:=false;
Form3.btn2.visible:=false;
Form3.btn3.visible:=false;
Form9.BitBtn1.visible:=false;
Form5.btn1.visible:=false;
Form5.btn2.visible:=false;
Form5.btn3.visible:=false;
Form6.btn1.visible:=false;
Form6.btn2.visible:=false;
Form6.btn3.visible:=false;
Form6.btn4.visible:=false;
Form6.btn5.visible:=false;
Form6.btn6.visible:=false;
Form11.btn1.visible:=false;
Form11.btn2.visible:=false;
Form11.btn3.visible:=false;
Form12.btn1.visible:=false;
Form12.btn2.visible:=false;
Form12.btn3.visible:=false;
end;
2:begin
  Form4.btn1.visible:=false;
Form4.btn2.visible:=false;
Form4.btn3.visible:=false;
Form9.BitBtn1.visible:=false;
Form5.btn1.visible:=false;
Form5.btn2.visible:=false;
Form5.btn3.visible:=false;
Form6.btn1.visible:=false;
Form6.btn2.visible:=false;
Form6.btn3.visible:=false;
Form6.btn4.visible:=false;
Form6.btn5.visible:=false;
Form6.btn6.visible:=false;
Form11.btn1.visible:=false;
Form11.btn2.visible:=false;
Form11.btn3.visible:=false;
Form12.btn1.visible:=false;
Form12.btn2.visible:=false;
Form12.btn3.visible:=false;
end;
3:begin
  Form3.btn1.visible:=false;
Form3.btn2.visible:=false;
Form3.btn3.visible:=false;
Form4.btn1.visible:=false;
Form4.btn2.visible:=false;
Form4.btn3.visible:=false;
Form9.BitBtn1.visible:=false;
end;
    end;
    end
    else
    begin
      ShowMessage('Неверный логин или пароль.Повторите ввод');
      Form1.Edit1.Text := '';
      Form1.Edit2.Text := '';
    end;
  end
  else
    ShowMessage('Пустые поля логин\пароль не допускаются');
end;
Анжеликааа вне форума Ответить с цитированием
Старый 06.01.2015, 14:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а если перейду назад в окно авторизации и введу логин и пароль
Без клика по кнопке, в которой этот код?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.01.2015, 14:54   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Код:
Form3.btn1.visible:=false;
Form3.btn2.visible:=false;
Form3.btn3.visible:=false;
Form4.btn1.visible:=false;
Form4.btn2.visible:=false;
Form4.btn3.visible:=false;
Form5.btn1.visible:=false;
Form5.btn2.visible:=false;
Form5.btn3.visible:=false;
Form6.btn1.visible:=false;
Form6.btn2.visible:=false;
Form6.btn3.visible:=false;
Form6.btn4.visible:=false;
Form6.btn5.visible:=false;
Form6.btn6.visible:=false;
Form11.btn1.visible:=false;
Form11.btn2.visible:=false;
Form11.btn3.visible:=false;
Form12.btn1.visible:=false;
Form12.btn2.visible:=false;
Form12.btn3.visible:=false;

  Form3.btn1.visible:=false;
Form3.btn2.visible:=false;
Form3.btn3.visible:=false;
Form9.BitBtn1.visible:=false;
Form5.btn1.visible:=false;
Form5.btn2.visible:=false;
Form5.btn3.visible:=false;
Form6.btn1.visible:=false;
Form6.btn2.visible:=false;
Form6.btn3.visible:=false;
Form6.btn4.visible:=false;
Form6.btn5.visible:=false;
Form6.btn6.visible:=false;
Form11.btn1.visible:=false;
Form11.btn2.visible:=false;
Form11.btn3.visible:=false;
Form12.btn1.visible:=false;
Form12.btn2.visible:=false;
Form12.btn3.visible:=false;

  Form4.btn1.visible:=false;
Form4.btn2.visible:=false;
Form4.btn3.visible:=false;
Form9.BitBtn1.visible:=false;
Form5.btn1.visible:=false;
Form5.btn2.visible:=false;
Form5.btn3.visible:=false;
Form6.btn1.visible:=false;
Form6.btn2.visible:=false;
Form6.btn3.visible:=false;
Form6.btn4.visible:=false;
Form6.btn5.visible:=false;
Form6.btn6.visible:=false;
Form11.btn1.visible:=false;
Form11.btn2.visible:=false;
Form11.btn3.visible:=false;
Form12.btn1.visible:=false;
Form12.btn2.visible:=false;
Form12.btn3.visible:=false;

  Form3.btn1.visible:=false;
Form3.btn2.visible:=false;
Form3.btn3.visible:=false;
Form4.btn1.visible:=false;
Form4.btn2.visible:=false;
Form4.btn3.visible:=false;
Form9.BitBtn1.visible:=false;
Вы там сами в номерах не путаетесь? Адекватно называть формы и элементы на них не пробовали?

А для включения такую же простыню пишете? Сделайте хотя бы процедуру для включения/отключения, типа
Код:
procedure SetControlsEnabled(enable: boolean)
Кстати, если отключить родителя (форму, панель), то все элементы на нем отключатся.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.01.2015, 15:16   #4
Анжеликааа
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 30
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Без клика по кнопке, в которой этот код?
По клику по этой кнопке, но пользователь не меняется

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Вы там сами в номерах не путаетесь? Адекватно называть формы и элементы на них не пробовали?
Мне так проще, с переименованием я запутаюсь сама)

Цитата:
А для включения такую же простыню пишете? Сделайте хотя бы процедуру для включения/отключения, типа
Код:
procedure SetControlsEnabled(enable: boolean)
Кстати, если отключить родителя (форму, панель), то все элементы на нем отключатся.
Можете по-подробнее о ней рассказать?

Последний раз редактировалось Stilet; 06.01.2015 в 15:23.
Анжеликааа вне форума Ответить с цитированием
Старый 06.01.2015, 15:24   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
По клику по этой кнопке, но пользователь не меняется
А где именно ты смотришь пользователя потом?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.01.2015, 16:00   #6
Анжеликааа
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 30
По умолчанию

у меня 4 пользователя и каждый пользователь может редактировать записи в определенных формах.
Поэтому мне было легко определить, сменился ли пользователь
Анжеликааа вне форума Ответить с цитированием
Старый 06.01.2015, 16:00   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Можете по-подробнее о ней рассказать?
О чем?
Код:
procedure SetControlsEnabled(enable: boolean)
begin
  btn1.Enabled := enable;
  btn2.Enabled := enable;
end;

SetControlsEnabled(false);

SetControlsEnabled(true);
Просто чтоб не повторять ту же самую простыню и для отключения, и для включения.

А про родителя я о том, что может быть проще отключить форму или панель, на которой лежат элементы, а не каждый элемент отдельно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.01.2015, 16:06   #8
Анжеликааа
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 30
По умолчанию

Отключения формы не вариант, где отключены кнопки, пользователь только просматривает данные.

ваш код к чему применить?
Анжеликааа вне форума Ответить с цитированием
Старый 07.01.2015, 02:09   #9
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от Анжеликааа Посмотреть сообщение
но вот после нажатия на кнопку я перехожу на главную форму, а если перейду назад в окно авторизации и введу логин и пароль, но пользователь не сменится, он останется прежним[/CODE]
А слабо при входе "в окно авторизации" обнулять в программе пару логин/пароль и всё, связанное с доступом к проге?
kropotkina-alice вне форума Ответить с цитированием
Старый 07.01.2015, 02:22   #10
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от kropotkina-alice Посмотреть сообщение
А слабо при входе "в окно авторизации" обнулять в программе пару логин/пароль и всё, связанное с доступом к проге?
"Ты не умничай, ты код дай"
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
авторизация shked02 PHP 7 27.01.2012 12:41
авторизация wulf_01 Помощь студентам 2 11.04.2011 19:32
Авторизация SkrudjMakdak PHP 6 27.03.2011 20:41
Авторизация trad C++ Builder 3 13.01.2011 01:27
Обычная авторизация или авторизация на уровне браузера? calugin Безопасность, Шифрование 0 13.01.2011 00:34