Текущий архив: 2008.04.27;
Скачать: CL | DM;
Вниз
Получить список контролов Найти похожие ветки
← →
Thor (2008-03-28 10:00) [0]Доброго времени суток!
Подайте идею как получить список контролов которые расположены на форме, для того что бы в дальейшем их перенести в БД. Это связано с построением системы ограниченя доступа.
Т.е. писать маленькую программку по разбору dfm или pas файлов, или может есть другие пути? Не хочеться руками переностить, т.к. форма не одна, а кантролов еще больше.
Спасибо!
← →
MBo © (2008-03-28 10:02) [1]Controls[]
← →
Palladin © (2008-03-28 10:03) [2]ControlsCount
Controls[]
большое незачто, заглядывай в справку по чаще...
← →
Thor (2008-03-28 10:17) [3]Спасибо, но техническую часть я знаю. Меня интересовал сам подход.
← →
Palladin © (2008-03-28 10:23) [4]Что ты имеешь в виду под фразой "перенести в БД". Описание форм там хранить собираешься?
← →
Игорь Шевченко © (2008-03-28 10:40) [5]
> Это связано с построением системы ограниченя доступа.
Не проще ли строить систему ограничения доступа без связи контролов с базой данных, например, в базе данных хранить список ролей, а контролы настраивать в соответствии с прочитанным списком в самой форме ?
← →
ЮЮ © (2008-03-28 10:43) [6]> Описание форм там хранить собираешься?
Так система же не ограничения доступа к данным, а к контролам на форме :)
← →
Семеныч (2008-03-28 10:55) [7]> Thor (28.03.08 10:00)
Form.Controls дает список контролов, расположенных непосредственно на форме Form. В этот список не входят контролы, расположенные на других парентах (панели, GroupBox"ы, фреймы и т.д.). Чтобы получить и их тоже, надо построить рекурсию. Но если все контролы были положены в design-time, то можно сделать проще:
for i := 0 to Form.ComponentCount - 1 do
if Form.Components[i] is TControl then
List.Add(TControl(Form.Components[i]));
← →
tesseract © (2008-03-28 13:59) [8]
> Т.е. писать маленькую программку по разбору dfm
Dfm Можно вроде, как грузить прямо в рантайм. Была где-то статья по этой теме, DFM-ы хранились в БД.
ЗЫ: А контролов у тебя много от плохого проектирования софта.
← →
Игорь Шевченко © (2008-03-28 14:44) [9]
> ЗЫ: А контролов у тебя много от плохого проектирования софта.
У меня тоже много. Я что-то делаю не так ?
← →
tesseract © (2008-03-28 15:32) [10]
> У меня тоже много. Я что-то делаю не так ?
Много контролов или фрэймов с контролами? Больше трёх кнопок - уже много.
← →
Игорь Шевченко © (2008-03-28 15:48) [11]tesseract © (28.03.08 15:32) [10]
> Больше трёх кнопок - уже много.
пять в ряде форм. Но дело не в кнопках - у меня много Edit-ов, комбобоксов и так далее...Десятки иногда.
Расскажи мне, что я делаю не так.
← →
tesseract © (2008-03-28 15:56) [12]
> Десятки иногда.Расскажи мне, что я делаю не так.
Десятки это перебор. http://www.useit.com/
← →
Игорь Шевченко © (2008-03-28 16:02) [13]
> Десятки это перебор.
То есть, пофиг, независимо от задачи ? :)
← →
Игорь Шевченко © (2008-03-28 16:04) [14]
> http://www.useit.com/
в каком именно месте по этому url сказано, что десятки - это перебор ?
← →
easy © (2008-03-28 16:07) [15]да, и где картинки?
← →
tesseract © (2008-03-28 16:10) [16]
> в каком именно месте по этому url сказано, что десятки -
> это перебор ?
по русски называеться вроде "кошелёк шеллера". Лень искать URL.
> То есть, пофиг, независимо от задачи ? :)
От задачи зависит конечно. Для избавления придумали такую вещь как визарды и составные элементы управления, в 1с например так выглядит вставка адресов из кладр. Но десятки.......
Я максимум в одном клиент-банке одной конторы 15 видел, которые с лёгкостью превращались в 5.
← →
tesseract © (2008-03-28 16:11) [17]
> да, и где картинки?
на flickr :-)
← →
tesseract © (2008-03-28 16:17) [18]и кстати вот : http://www.yaplakal.com/uploads/post-3-12054781783773.jpg
← →
Игорь Шевченко © (2008-03-28 16:17) [19]tesseract © (28.03.08 16:10) [16]
> Я максимум в одном клиент-банке одной конторы 15 видел
Я не пишу клиент-банки.
Зайди в Outlook, в контакты, удивись - 14 полей, 7 кнопок.
Скачай MS Money, установи, посчитай контролы - удивись.
← →
Игорь Шевченко © (2008-03-28 16:19) [20]tesseract © (28.03.08 16:17) [18]
> и кстати вот :
На свете кроме бухгалтерии есть еще масса увлекательных предметных областей.
← →
Игорь Шевченко © (2008-03-28 16:19) [21]Удалено модератором
Примечание: Дубль
← →
tesseract © (2008-03-28 16:21) [22]
> Зайди в Outlook, в контакты, удивись - 14 полей, 7 кнопок.
> Скачай MS Money, установи, посчитай контролы - удивись.
>
Я и удивляюсь. Считаю это неправильным. Например, посмотри, как "Пуск" сделан в SUSE 10.3 - идеально просто сделан, приятно работать.
← →
Игорь Шевченко © (2008-03-28 16:25) [23]tesseract © (28.03.08 16:21) [22]
> Я и удивляюсь. Считаю это неправильным
А удобно, знаешь ли :)
В Suse я, извини, не работаю.
← →
tesseract © (2008-03-28 16:28) [24]
> А удобно, знаешь ли :)
Посчитал, 13 edit. Не десятки.
← →
Игорь Шевченко © (2008-03-28 16:30) [25]tesseract © (28.03.08 16:28) [24]
Осталось посчитать в MS Money. Потом слетать на самолете, и изучить авиабилет :)
← →
Kolan © (2008-03-28 16:33) [26]> Расскажи мне, что я делаю не так.
Скрины покажи, тогда можно будет сказать что не так, или что все так…
← →
tesseract © (2008-03-28 16:34) [27]
> Потом слетать на самолете, и изучить авиабилет :)
Мне военника хватает. Занимательное чтиво.
Авиабитле вроде как разбит по категориям и страничкам. Кстати тоже криво сделан - реально нужная пассажиру информация запрятана в небалуйся месте. А всякие кода поездов и итд и тп на самом видном.
← →
tesseract © (2008-03-28 16:34) [28]
> Скрины покажи, тогда можно будет сказать что не так, или
> что все так…
он же дал скрины :-)
> Игорь Шевченко © (28.03.08 16:30) [25]
Я про поездовые, давно не летал :-)
← →
Kolan © (2008-03-28 16:36) [29]> он же дал скрины :-)
Где?
← →
tesseract © (2008-03-28 16:36) [30]
> Осталось посчитать в MS Money. Потом слетать на самолете,
> и изучить авиабилет :)
← →
Kolan © (2008-03-28 16:37) [31]Так это разве его скрины?
← →
Игорь Шевченко © (2008-03-28 16:38) [32]tesseract © (28.03.08 16:34) [27]
> Кстати тоже криво сделан - реально нужная пассажиру информация
> запрятана в небалуйся месте
Ну да, Барч вообще конкретный ламер.
> Авиабитле вроде как разбит по категориям и страничкам
По категориям разбит. По страничкам - это копии под копирку.
Но если какой-то дизайнер предложит информацию с него вводить по страничкам - его будут бить долго и возможно ногами.
← →
Kolan © (2008-03-28 16:40) [33]> Но если какой-то дизайнер предложит информацию с него вводить
> по страничкам — его будут бить долго и возможно ногами.
А разве ЖД билет не так сделан? Там тетка странички загибает/отрывает и печатает на спец принтере…
← →
Игорь Шевченко © (2008-03-28 16:43) [34]
> Кстати тоже криво сделан - реально нужная пассажиру информация
> запрятана в небалуйся месте
И еще, чтобы ты был в курсе - авиабилет он вообще не для пассажира :))
← →
tesseract © (2008-03-28 16:48) [35]
> его будут бить долго и возможно ногами.
Информацию с него или на него ?
Начнём : Билет содержит : Информацию о пассажире, для пассажира и для персонала.
Операции 1 : Вводим данные о пассажире.
Операция 2 : Вводим данные о рейсе ( данные уже должны быть получены до того как билет начали вводить).
Операция 3 : На печать выводиться все данные, в том числе и скрытые, которые в принципе подставляються автоматически - из информации о рейсе.
ЗЫ : Информацию "время вылета, номер рейса, место" выводим в правом верхнем углу здоровенным шрифтом.
← →
Kolan © (2008-03-28 16:50) [36]Удалено модератором
← →
tesseract © (2008-03-28 16:52) [37]Удалено модератором
Примечание: И не цитируем
← →
Игорь Шевченко © (2008-03-28 16:53) [38]tesseract © (28.03.08 16:48) [35]
> Информацию с него или на него ?
А неважно.
> Билет содержит : Информацию о пассажире, для пассажира
> и для персонала.
не. не для пассажира. пассажиру надо только его иметь при себе. куда и когда лететь - оно по центру написано - не промахнешься.
> Операции 1 : Вводим данные о пассажире.
> Операция 2 : Вводим данные о рейсе ( данные уже должны быть
> получены до того как билет начали вводить).
> Операция 3 : На печать выводиться все данные, в том числе
> и скрытые, которые в принципе подставляються автоматически
> - из информации о рейсе.
:) "Я тут ща всех автоматизирую"
← →
tesseract © (2008-03-28 16:56) [39]
> :) "Я тут ща всех автоматизирую"
Профессиональная привычка.
У меня много очень "подготовленного" персонала, который кушает валидол при смещении кнопки на пару пикселей. И умудряеться прорвать оборону из 4-х проверок. Есть подозрения,что они дейсвует стаей, созваниваясь в тайне. Сегодня такое отчудили, Андрей нам вдвоём с админом объяснял минут 40 пока до нас дошло... Силён в них дух упорства :-)
← →
Германн © (2008-03-28 16:56) [40]
> :) "Я тут ща всех автоматизирую"
>
А Бритиш Эйрвейз случайно не ты автоматизировал? :)
Страницы: 1 2 вся ветка
Текущий архив: 2008.04.27;
Скачать: CL | DM;
Память: 0.57 MB
Время: 0.015 c