На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
Закрыто jack128 10-11-2010: Введите причину закрытия темы здесь

Страницы: (23) « Первая ... 11 12 [13] 14 15 ...  22 23  ( Перейти к последнему сообщению )  
> Новости CodeGear
      custom attributes in delphi2010 : http://www.malcolmgroves.com/blog/?p=476
        Три раза читал, пытался понять, какая же от них польза. Что-то так и не въехал. Кто-нибудь разжуёт?
          Цитата CodeMonkey @
          Три раза читал, пытался понять, какая же от них польза. Что-то так и не въехал. Кто-нибудь разжуёт?

          Ну, например при XML-сериализации удобно указывать чем будет данное свойство атрибутом элемента класс, или дочерним элементом. Какие будут имена у атрибутов\элементов. Какие надо вообще игнорировать. До появление Entity Framework было удобно делать мапперы. В общем польза-то от них есть, но вот как это тут все будет реализовано, если как generic'и, то лучше бы вообще не делали бы.
            Цитата CodeMonkey @
            Три раза читал, пытался понять, какая же от них польза. Что-то так и не въехал. Кто-нибудь разжуёт?

            атрибут - это пользовательстая компил тайм информация. Соответственно атрибуты можно использовать если ты хочешь передать в рантайм инфомацию, которую ты имеешь в компил тайм, причем эта информация ассоциирована с какими то элементами языка. свойствами/типами/параметрами и тд. Из применений:

            упомянутые выше сериализация и маппинг. Или например через атрибуты удобно задавать "user-friendly" имена для свойств в инспекторе объектов. ну или вот: http://projects.rsdn.ru/RFD/wiki/Aspects#%D0%90%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D1%8B - много чего задается атрибутами.
              Хм, всё равно как-то слабо представляю, чем это будет отличаться от объявления, скажем, массива с именами или там виртуальных методов. В общем, наверное, надо пощупать, чтобы сообразить.
                Цитата CodeMonkey @
                Хм, всё равно как-то слабо представляю, чем это будет отличаться от объявления, скажем, массива с именами или там виртуальных методов.

                тем же, чем существующее rtti отличается от простого объявления массива с именами.
                  Цитата Profi @
                  В общем польза-то от них есть, но вот как это тут все будет реализовано, если как generic'и, то лучше бы вообще не делали бы.


                  Согласен. Весчь действительно полезная и нужная, но вспоминая что я когда-то то же самое говорил о дженериках... :( боюсь сглазить
                    а я пока пользы от их не увидел. все этоже можно зделать и с published свойствами (это насчет сериализации xml или тогоже примера для sql)
                    пока бесполезная вещь. хотя нужно будет дома выкроить время и потестить тот пример на делфи. может и поменяю мнение
                      Цитата jack128 @
                      тем же, чем существующее rtti отличается от простого объявления массива с именами.

                      Ну так существующее RTTI работает автоматически - вам ничего делать не нужно: просто юзайте его уже готовую инфу. А тут надо атрибуты вписывать (руками). Руками же какие-то служебные классы создавать :blink: Чем это лучше? Моя пока не понимать.
                        Цитата ViktorXP @
                        все этоже можно зделать и с published свойствами


                        Нет. Пример, который уже приводили, объясню на пальцах. Допустим, я пишу какую-либо программу для построения электрических схем. У меня есть объекты - резисторы, конденсаторы и т.п. В программе они представлены соответствующими классами. У классов есть published-свойства: для резистора - сопротивление, мощность, ТКС и т.д. Есть у меня в программе и некий контрол, вроде инспектора объектов, который берет информацию о published-свойствах прямо в рантайм, отображает в удобном для пользователя виде, позволяет редактировать и т.д. Т.е. пишет русские названия, группирует параметры по категориям, пишет рядом с числом единицы измерения и т.д. Как мне при проектировании класса указать, что мол в инспекторе свойство "Resistance" нужно назвать "Сопротивление", поместить в категорию "Основные параметры", для ввода использовать редактор вроде Edit-а, только способного вводить только неотрицательные вещественные величины, а свойству присвоение делать с учетом единиц измерения? Наверное, придется писать еще не мало кода. А если была бы возможность задавать свойству произвольные атрибуты, то я:
                        1. Написал бы класс-инспектор, умеющий работать с атрибутами
                        2. Прямо при объявлении класса "резистор" и проч. указал бы нужные атрибуты.
                        И все дела. Экономия времени и сил огромная и она тем больше, чем больше у меня классов в программе. Возможность расширить RTTI под собственные нужды - это круто. Конечно, можно обойтись без RTTI вовсе, и без ООП раньше тоже программы писались ;)

                        Добавлено
                        Цитата CodeMonkey @
                        Ну так существующее RTTI работает автоматически - вам ничего делать не нужно: просто юзайте его уже готовую инфу. А тут надо атрибуты вписывать (руками). Руками же какие-то служебные классы создавать Чем это лучше?


                        На самом деле в Delphi уже давно используются что-то типа атрибутов свойств, только они совсем не произвольные, а жестко заданные. Я имею в виду то, что указывается директивами default и stored. Без них ведь тоже можно было обойтись, написать парочку лишних классов служебных, в которых чего-то там указать ;) Так что же все-таки лучше, использовать при объявлении default/stored а в классе сериализаторов опираться на этот факт, или вести неслабую иерархию классов, где все ручками описывать?
                          Если не утка, то прикольно!
                            да. есть там такое. уже успел попробовать. прикольная штука но не всегда стабильно работает. если я выбрал прямые движение то работает на ура. а если брать круг или фигуру от руки нарисовать то практически не реально заставить систему на нее среагировать.
                              ембаркадеро выложила логотипы своих продуктов.
                              http://edn.embarcadero.com/article/37476
                              только вот я не понял зачем. что мне это даст? это типа что бы пользователь знал что этот продукт написан на делфи с использованием интербейса? да как по мне то пользователю побарабану на это лижбы работало.
                                  класссссссс!! еще бы iso образ

                                  Добавлено
                                  диск тоже есть
                                  http://cc.embarcadero.com/reg/delphi
                                  я кстати с описаний понял что они сделали динамическую загрузку api. этаж здорово
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:
                                  Страницы: (23) « Первая ... 11 12 [13] 14 15 ...  22 23
                                  Закрыто jack128 10-11-2010: Введите причину закрытия темы здесь



                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,0528 ]   [ 18 queries used ]   [ Generated: 18.07.25, 20:03 GMT ]