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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2020, 11:00   #1
muserun
Пользователь
 
Регистрация: 31.05.2020
Сообщений: 28
По умолчанию Авторизация и роли Delphi+Mysql

Здравствуйте.
Есть программка в Delphi решающая простой учет поставок товаров,услуг.Работает отлично уже больше года.Сейчас пересоздали на Delphi 10.4.
Программка была однопользовательская и имела базу данных MySQL локально.Работал один человек.Но возникла задача дать доступ к просмотру информации пользователю без прав редактирования.
Что сделано:
- создана удаленная база данных MySQL на удаленном сервере;
- созданы 2 таблицы admin_user и admin_role;
- таблицы связанные admin_role в качестве словаря имеет 3 записи админ,менеджер,пользователь;
- подключение к базе данных через ZEOS Access;
Создали форму frmAuth с edLogin,edPassword,btnAuth. Сразу возникла проблема.
Для открытия формы frmAuth в форме frmGeneral создан код и форма убрана из автосоздания
Код:
procedure TfrmGeneral.FormCreate(Sender: TObject);
 begin
  Application.Initialize;
  frmAuth :=TfrmAuth.Create(Application);
  if frmAuth.ShowModal = mrOK then
  begin
    Application.CreateForm(TfrmGeneral, frmGeneral);
    Application.Run;
  end;
Работает так.При запуске программы открывается форма frmAuth.при нажатии на btnAuth открывается форма frmGeneral,форма frmAuth скрывается,но если нажать на форме frmAuth иконку закрытия формы,то она закрывается и все-же открывается форма frmGeneral
Задача сделать вход только зарегистрированным пользователям.Как сделать закрытие программы при закрытии формы frmAuth. Спасибо

Последний раз редактировалось muserun; 04.10.2020 в 11:02.
muserun вне форума Ответить с цитированием
Старый 04.10.2020, 12:40   #2
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

А нафига вам Application.Initialize и Application.Run в FormCreate? Каких грибов наелись?

Цитата:
Сообщение от muserun Посмотреть сообщение
Работает так.
никак оно не работает
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.10.2020, 12:47   #3
muserun
Пользователь
 
Регистрация: 31.05.2020
Сообщений: 28
По умолчанию

Так вот и просим помочь.Многопользовательские программки с ролями не делали
muserun вне форума Ответить с цитированием
Старый 04.10.2020, 12:59   #4
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от muserun Посмотреть сообщение
Так вот и просим помочь.Многопользовательские программки с ролями не делали
При чем тут многопользовательские?
Начнем с простого вопроса. Вы когда-нибудь создавали проект, в котором было две или более формы?
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.10.2020, 13:48   #5
muserun
Пользователь
 
Регистрация: 31.05.2020
Сообщений: 28
По умолчанию

Думаю,что нет.В настоящей программе мы просто создаем формы. Вызываем их в модальном окне.К примеру добавляем поставщика. После добавления модальное окно закрывается.
muserun вне форума Ответить с цитированием
Старый 04.10.2020, 14:12   #6
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Вы уже имеете какой-то опыт в программировании или только что сели?

Цитата:
Сообщение от muserun Посмотреть сообщение
Думаю,что нет.В настоящей программе мы просто создаем формы. Вызываем их в модальном окне.К примеру добавляем поставщика. После добавления модальное окно закрывается.
Как вы собираетесь добавить поставщика, если не можете создать окно программы?
Это как учить английские слова, не зная алфавита. Моей сестре так в школе английский преподавали. Я был в недоумении от происходящего.

Цитата:
Сообщение от muserun Посмотреть сообщение
.В настоящей программе мы просто создаем формы.
Вы делаете это в корне не правильно. Создавать формы нужно не так. Где вы взяли этот код?
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.10.2020, 14:15   #7
muserun
Пользователь
 
Регистрация: 31.05.2020
Сообщений: 28
По умолчанию

https://ru.stackoverflow.com/questio...сновной-формой
Код взяли здесь.
muserun вне форума Ответить с цитированием
Старый 04.10.2020, 14:15   #8
muserun
Пользователь
 
Регистрация: 31.05.2020
Сообщений: 28
По умолчанию

Подскажите как нужно создавать формы.
muserun вне форума Ответить с цитированием
Старый 04.10.2020, 15:02   #9
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от muserun Посмотреть сообщение
Код, который вы взяли, нужно было писать не в OnCreate
Цитата:
Сообщение от muserun Посмотреть сообщение
Подскажите как нужно создавать формы.
Создайте новый проект VCL Forms Application и нажмите File -> New -> VCL Form Delphi
Будет автоматически создана новая форма и никакого кода писать не нужно.
Как ее показать или скрыть - это вопрос отдельный. Если не разберётесь - спрашивайте.
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.10.2020, 15:14   #10
muserun
Пользователь
 
Регистрация: 31.05.2020
Сообщений: 28
По умолчанию

Да,спасибо....Формы создавать научили. По-сути у нас в основной программе таких форм 32.Каждая решает определенную задачу.От добавления строк в базе данных для словарей и до вывода сводных таблиц базы данных и создания отчетов.Но все-же спасибо. Суть вопроса не в этом. Ни разу не сталкивался с авторизацией в программе.Не было необходимости.Сейчас встала задача сделать таковую. Форму авторизации до создания главной формы вызываем
Код:
procedure TfrmGeneral.FormShow(Sender: TObject);
begin
frmAuth.ShowModal;
end;
Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
Как ее показать или скрыть - это вопрос отдельный. Если не разберётесь - спрашивайте.
Подскажите...
muserun вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация с хэш в mySql Aleksandr! C# (си шарп) 1 24.07.2020 10:57
Авторизация и Роли. C# & MySQL kitapuz C# (си шарп) 4 14.01.2016 15:47
Авторизация из БД MySql Diana528 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 7 04.12.2014 18:55
Авторизация MySQL Rockot БД в Delphi 3 06.08.2014 19:15
Авторизация php+mysql kuba1981 PHP 9 02.09.2012 22:15