66669 Ответов: 0

Как создать пользовательскую форму в delphi для нескольких пользователей?


Я создаю пользовательскую форму в Delphi для приложения отслеживания документов. Меня интересуют функциональные возможности ввода новой записи (записи) и просмотра списка по... (дата, название документа, идентификатор,...).

Моя проблема заключается в том, что я не знаю, как реализовать эти функции для более чем одного пользователя. В настоящее время у меня есть 5 пользователей. Каждый пользователь имеет уникальные входные данные (запись), поля (столбцы) и поля просмотра (столбцы) каждого пользователя также уникальны. Там может быть больше пользователей.

Итак, как реализовать эти функциональные возможности для этой формы? Как назначить разные данные (поля) для каждого отдельного пользователя для ввода и просмотра? Вот этого я и не понимаю. Является ли это распределенной функциональностью приложения? Если да, то как этого добиться?

Обратите внимание, что я не хочу статического назначения пользователя в коде приложения, например:

if(username='user1') then {
input();
view();
}
else if (username='user2') then {...}
...


потому что каждый раз, когда появляется новый пользователь, разработчик должен вернуться к коду приложения и жестко закодировать его. Это неэффективно и является плохой реализацией. Вместо того чтобы это произошло, способ сделать это-иметь в БД таблицу пользователей и их данные. Затем напишите код отслеживания документа для обработки пользователя, который является текущей записью в таблице Users. Это не должно требовать каких-либо условных тестов на идентичность пользователя в коде вообще. как этого добиться? Не могли бы вы показать конкретный пример кода или дать ссылку на него? Я действительно не знаю, как это сделать.



Примечание: Я использую инструмент dbExpress с СУБД MySQL с RAD Studio XE7 Architect.

Что я уже пробовал:

Статическая (жестко закодированная) реализация, которая является плохой и неэффективной:

if(username='user1') then {
input();
view();
}
else if (username='user2') then {...}
...

0 Ответов