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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2007, 15:26   #11
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Я написал примерный алгоритм. Конкретная реализация должна быть под конкретную задачу. Тот код, который ты привел, это пока не конкретика. Тогда уж дай название таблицы из базы, ее поля, где что хранится и тогда посмотрим.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 02.10.2007, 11:30   #12
danswin
Пользователь
 
Регистрация: 27.09.2007
Сообщений: 18
По умолчанию

INSERT INTO OP_ZAV (ID, FIO, OTDEL, DOL, TEL, PRIM, DOSTYP, PAROL) VALUES (1, 'Аржаев Артем Сергеевич', 'ИТ', 'Системный администратор', '118', NULL, '2', '99461310');
вот типо токово (выгрузил одну запись), сверка берет от пользователя и от пароля
danswin вне форума Ответить с цитированием
Старый 02.10.2007, 11:51   #13
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Это вставка в таблицу. А дальше считываешь данные из таблицы в какой-нибудь датасет, делаешь locate по параметрам, которые были получены при запуске формы, считываешь права доступа и работаешь. Выглядеть (примерно) это будет так.

TableOP_ZAV.Open
if TableOP_ZAV.Locate('FIO', 'Аржаев Артем Сергеевич', []) then
begin
UserRights := TableOP_ZAV.FieldByName['DOSTYP'].AsString;
if UserRights = '2' then
begin
//делаешь enable or disable or visible or invisible в зависимости, что тебе нужно.
end;
end;

Примерно так.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 02.10.2007, 13:52   #14
danswin
Пользователь
 
Регистрация: 27.09.2007
Сообщений: 18
По умолчанию

как я понел это в самой программе делать или ? просто не пойму TableOP_ZAV.Open вот это куда ))))) или что это
danswin вне форума Ответить с цитированием
Старый 02.10.2007, 15:04   #15
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от danswin Посмотреть сообщение
как я понел это в самой программе делать или ? просто не пойму TableOP_ZAV.Open вот это куда ))))) или что это
Это в самой проге тебе советуют влепить.... Тоесть ты просматриваешь таблицу, в которой стоят права.....

TableOP_ZAV.Open // открываешь таблицу с именем юзера и правами
if TableOP_ZAV.Locate('FIO', 'Аржаев Артем Сергеевич', []) then //если находишь в поле FIO значение Артем Сергеевич , то выполняется следующий блок
begin
UserRights := TableOP_ZAV.FieldByName['DOSTYP'].AsString;// присваиваешь значение поля Dostyp переменной UserRights
if UserRights = '2' then // анализируешь права
begin
//делаешь enable or disable or visible or invisible в зависимости, что тебе нужно.
end;
end;

тоесть тебе предлагают создать таблицу с пользователями и с полем ПРАВА ('DOSTYP'), в котором будет находится символ 1 или 2 , или 3... Где 1,2 ,3 - это группы.Например: 1 - администраторы, 2 - пользователи, 3 - опытные узеры... ну и т.д... А в самой проге потом анализируешь эти значения и в зависимости от значения в данном поле делаешь визуализацию компонентов....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 02.10.2007 в 15:08.
Pitbull вне форума Ответить с цитированием
Старый 02.10.2007, 16:28   #16
danswin
Пользователь
 
Регистрация: 27.09.2007
Сообщений: 18
По умолчанию

Ваше огромное спасиба вот только я переделал не немного

Код:
procedure TForm9.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
   var par: String;
   var UserRights: String;
      id : Integer;
begin
Form1.N5.Enabled:=true;  //открываем заново
Form1.N21.Enabled:=true; //открываем заново
Form1.N18.Enabled:=true;  //открываем заново
Form1.N17.Enabled:=true;  //открываем заново
Form1.Timer1.Enabled:=true;

If Not(DBLookupComboBox1.Text='') then begin
  If key=13 then begin
   id:=DBLookupComboBox1.KeyValue;
  With IBDataSet1 do begin
   par:=FieldValues['PAROL'];
   if Not(Edit1.Text=par) then begin
   Form9.ModalResult:=mrCancel;
   ShowMessage('Ââåäåí íåïðàâèëüíûé ïàðîëü');
   end
   else begin
   UserRights:=IBDataSet1.FieldbyName('DOSTYP').AsString
   if UserRights = '2' then 
   begin
   Form1.N18.Visible:=false;
end;
   if UserRights = '1' then 
   begin
   Form1.N5.Visible:=false;
   Form1.N21.Visible:=false;
   Form1.N18.Visible:=false;
   Form1.N17.Visible:=false;
   Form1.Timer1.Enabled:=false end;
   Form9.Hide;
   Form1.Hide;
   Form1.Show;
   Edit1.Clear;
   end;
  end;
 end;
 end
 else Form9.ModalResult:=mrCancel;
end;
danswin вне форума Ответить с цитированием
Старый 02.10.2007, 21:48   #17
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

По мне так проще используй базу с разограничением доступа и гемороя меньше и опыта программирования больше
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Старый 03.10.2007, 16:05   #18
danswin
Пользователь
 
Регистрация: 27.09.2007
Сообщений: 18
По умолчанию

а бы сделалбы только незнаю как это реализовать, так бы конечног через базу бы сделал.
danswin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос авторских прав SG13 Свободное общение 4 18.12.2009 01:14
Просмотр прав на папку AstraBon Безопасность, Шифрование 0 10.06.2008 08:46
В чем я не прав?С++ diden Помощь студентам 3 23.05.2008 18:32
Назначение прав пользователя Seqular Безопасность, Шифрование 1 04.08.2007 16:48