Нужен совет

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

Сообщение RAVen42 » Ср ноя 08, 2006 7:45 am

Как можно узнать есть ли определенный батон на форме создаваемой динамически.
Например по Кэпшену батона. Ну или ещё как нить.
Причем узнать не создавая форму.

Delphi 6
Последний раз редактировалось RAVen42 Ср ноя 08, 2006 7:45 am, всего редактировалось 1 раз.
Программер просто Программер
RAVen42
Подполковник
 
Сообщений: 725
Зарегистрирован: Пт авг 27, 2004 1:04 am
Откуда: Кемерово
Пункты репутации: 0

Сообщение sm@rt » Ср ноя 08, 2006 8:40 am

RAVen42,
Не создавая это вообще не создавая или не показывая просто. Можно ведь создать как объект но она не будет видима.
Красота и массовые расстрелы спасут мир.
sm@rt
Генерал-майор
 
Сообщений: 2935
Зарегистрирован: Вт фев 25, 2003 4:42 pm
Пункты репутации: 0

Сообщение RAVen42 » Ср ноя 08, 2006 9:17 am

sm@rt
Не создавая вообще, представь есть главная форма н акоторой есть менюшка всего 50 пунктов меню
т.е 50 форм на каждой форме по 3 батона (ка минимум)
вот надо узнать есть ли среди этих бптонов батоны с кэпщеном ADD. например
Программер просто Программер
RAVen42
Подполковник
 
Сообщений: 725
Зарегистрирован: Пт авг 27, 2004 1:04 am
Откуда: Кемерово
Пункты репутации: 0

Сообщение sm@rt » Ср ноя 08, 2006 2:57 pm

RAVen42,
как это в динамике сделать вообще не создавая форму не знаю.
Если формы тебе известный изначально можешь составить себе (в смысле программе) сисок-конспектик на какой есть какие кнопки ;)
Красота и массовые расстрелы спасут мир.
sm@rt
Генерал-майор
 
Сообщений: 2935
Зарегистрирован: Вт фев 25, 2003 4:42 pm
Пункты репутации: 0

Сообщение DruG » Ср ноя 08, 2006 2:58 pm

2RAVen42 а чья прога создаёт эти формы с батонами? если твоя то кажной кнопе присвой какой нить статичный номер и при её появлении на форме в глобальные переменные кидаеца её номер. останецо тока проверить глобальную на наличие номеров и сделать оргвыводы.
DruG
Генерал-майор
 
Сообщений: 2383
Зарегистрирован: Ср авг 11, 2004 2:17 am
Откуда: Сибирского internet unlimited
Пункты репутации: 0

Сообщение Scalder » Ср ноя 08, 2006 5:37 pm

RAVen42,
не знаю как у вас, а у нас (Java) есть такая весч как коллекции, вот туда и можно положить все компоненты - и получать их как угодно.
И делать уже всё, что угодно.
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение RAVen42 » Чт ноя 09, 2006 1:39 am

sm@rt
DruG
Scalder

Дело вот в чём я как то давно уже поднимал вопрос об Администрировании, где то год назад.
Теперь встала задача написать новую систему администрирования.
Задачи такие чтобы при загрузки программы опряделялся пользователь и в зависимости от пользователя у него скрывались и показывались нужные пункты меню и соответственно батоны на дочерних формах.

С менюшками то я разобрался Теперь менюшка создается динамически от прав которыми обладает пользователь.

Есть так же в программе форма администрирования , доступная тока админу вот с этой формы и происходит раздача прав каждому пользователю. Всё это делается должно динамически т.е. со своего компа я настраиваю права.
Но как мне узнать какие и скака батонов есть на формах.
Надо сделать всё это универсальным
Над программой буду работать не я один я даже и не буду знать каки етам есть формы и сккака их.
Мое дело написать модуль администрирования.

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

Во написал блин...
Программер просто Программер
RAVen42
Подполковник
 
Сообщений: 725
Зарегистрирован: Пт авг 27, 2004 1:04 am
Откуда: Кемерово
Пункты репутации: 0

Сообщение Scalder » Чт ноя 09, 2006 6:40 am

RAVen42,
А может тебе тогда работать не с последствиями?
Вот ты допустим откуда узнаешь о том, надо прорисовывать баттон или менюшку - наверное из БД... вот и смотри там-же.
Способ по проще: знаешь что такое паттерн MVC?
Вот и построй модель в которой будут записаны все права пользователя...
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение RAVen42 » Пт ноя 10, 2006 1:46 am

Scalder Да о том что надо или не надо я узнаю из БД.
А как туда в БД всё запихать. не ручками же я буду прописывать каждый батон для каждого пользователя.
В том то и вопрос как получить список всех батонов а птом этот список я обработаю и запихаю в БД.
Программер просто Программер
RAVen42
Подполковник
 
Сообщений: 725
Зарегистрирован: Пт авг 27, 2004 1:04 am
Откуда: Кемерово
Пункты репутации: 0

Сообщение Scalder » Сб ноя 11, 2006 7:17 am

RAVen42,
=)))
Так проблема-то у тебя в чем? =)
В том, что ты не знаешь как формы которые нужно будет потом собрать - сохранить в БД чтоль?
Ну ты блин даешь =)

Метод в лоб и универсальный: кидаешь форму, кидаешь свой класс на форму - класс пробегает по всем компонентам и берет у них все свойства и фигарит их в БД - так у тебя эта штучка будет универсально й =)))
И для того, чтоб загрузить компоненты - надо просто получиться список компонент, загрузить и БД все значения и выставить их компоненты которую мы уже только что создали =)

Java - сериализация - рулит =)))
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение RAVen42 » Пн ноя 13, 2006 1:43 am

Scalder
Мне надо чтобы из формы администрирования можно было настраивать видимость не видимость. всех батонов в программе.

Формы все кроме главной дочерниии и создаются динамически.чтобы даныые с формы попали в БД как ты говоришь. надо чтобы программист подумал
<!--quoteo--><div class='quotetop'>Цитата</div><div class='quotemain'><!--quotec-->кидаешь свой класс на форму - класс пробегает по всем компонентам и берет у них все свойства и фигарит их в БД <!--QuoteEnd--></div><!--QuoteEEnd-->

Мне же надо чтобы программер просто создал форму написал на ней всё что нужно и незадумывался не очем. К тому же чтобы класс пробежал по компанентам надо эту форму хотябы один рраз создать в реалтайме.

Так что как всё это сделать пока я не нашел.
Программер просто Программер
RAVen42
Подполковник
 
Сообщений: 725
Зарегистрирован: Пт авг 27, 2004 1:04 am
Откуда: Кемерово
Пункты репутации: 0

Сообщение Scalder » Пн ноя 13, 2006 4:55 am

Ок =)
Кажеться просто у меня подход чуть-чуть другой =)

Концептуально....
Расскажи плз, как программист в этой программе дизайнерит форму.
Как новая форма попадает в БД.
Когда попадает инфа о том, надо или нет юзеру давать доступ к кнопке на новой форме.
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение RAVen42 » Пн ноя 13, 2006 6:14 am

Scalder
<!--quoteo--><div class='quotetop'>Цитата</div><div class='quotemain'><!--quotec-->Расскажи плз, как программист в этой программе дизайнерит форму.<!--QuoteEnd--></div><!--QuoteEEnd-->
Он не обязательно должен создавать форму в этой программе .
Он просто может нарисавать форму. у себя , потом просто подключает эту форму к моей проге.

Я захожу в администрироование. и уже вижу там все батоны которые есть на форме, той что программер сделал.

Потом простым изменением свойства видимость\невидимость настраиваю батоны для необходимых пользователей

<!--quoteo--><div class='quotetop'>Цитата</div><div class='quotemain'><!--quotec-->Как новая форма попадает в БД.<!--QuoteEnd--></div><!--QuoteEEnd-->
Новая форма не попадает в БД
В БД храняться тока права пользователей.
примерный вид
ИМЯ ЮЗЕРА
ИМЯ ФОРМЫ - Visible(tre/false)
БАТОН - Visible(tre/false)


<!--quoteo--><div class='quotetop'>Цитата</div><div class='quotemain'><!--quotec-->Когда попадает инфа о том, надо или нет юзеру давать доступ к кнопке на новой форме.<!--QuoteEnd--></div><!--QuoteEEnd-->
При загрузке программы определяется что за юзер запустил прогу. Делается запрос к таблицце в БД.
где по Loginu определяется какими правами обладает данный юзер.
Запускается процедура в самой программе и с учетом прав каждому компаненту присваевает свойства (видимый/невидимый).
Программер просто Программер
RAVen42
Подполковник
 
Сообщений: 725
Зарегистрирован: Пт авг 27, 2004 1:04 am
Откуда: Кемерово
Пункты репутации: 0

Сообщение Scalder » Пн ноя 13, 2006 7:46 am

хм...
А более простой способ:
Создать абстрактный класс (или как там у вас) чтоб все формы были отнаследованны от него.
В котором уже будет всё это реализованно.

А разработчик при создании формы этой просто будет отнаследовать её.

А потом можно просто будет по умолчанию заполнять null значениями БД - и ты сразу будешь видеть, где права явно не выставлены.
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0


Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron