Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

синтаксис оператора with


Страницы:   1 2

irena ©   (2006-06-15 18:11:00) 

Уважаемые мастера! Не подскажете, как передать параметр функции, если значение этого параметра полностью совпадает с операндом конструкции with?  (можно, конечно, совсем убрать with, но в условии "if" необходимо его присутствие, причем несколько раз)

for i:=0 to ComponentCount-1 do
  begin
    with Components[i] do
      if ClassNameIs('TLabel') {и еще несколько проверок} then
          MyFunction(???);   //Components[i] as TLabel);
  end;


Gero   (2006-06-17 12:48:00) [1]

> [14] Leonid Troyanovsky ©   (15.06.06 19:46)


> http://rsdn.ru/Forum/Message.aspx?mid=673350&only=1

Класс, спасибо )


Leonid Troyanovsky   (2006-06-17 09:30:00) [2]


> Defunct ©   (17.06.06 08:40) [23]

> Смысла в этом вообще нет.

Возможно, что и так.

> Код с этой галиматьей будет работать медленнее чем если
> просто определить локальную переменную.

Кто бы сомневался :)

--
Regards, LVT.


Defunct   (2006-06-17 08:40:00) [3]

Leonid Troyanovsky ©   (16.06.06 18:19) [22]

Смысла в этом вообще нет.
Код с этой галиматьей будет работать медленнее чем если просто определить локальную переменную.

> Видимо, из желания сэкономить на описании переменной :)

ну если только ради написания более тормознутого кода.


Leonid Troyanovsky   (2006-06-16 18:19:00) [4]


> Игорь Шевченко ©   (16.06.06 11:33) [19]

> А смысл ?


Честно говоря, особых глубин смысла не достиг.
В большинстве случаев, потребность в самопознающих объектах
возникает при использовании ссылки внутри конструкции
with TMyObject.Create try .. finally Free; end.
Видимо, из желания сэкономить на описании переменной :)

--
Regards, LVT.


irena   (2006-06-16 15:17:00) [5]

Leonid Troyanovsky  :-) thank you very much


evvcom   (2006-06-16 13:23:00) [6]

Не хакерский для каждого компонента не напишешь. А хакерский все-таки не противоречит документированным возможностям, потому не такой уж он и "хакерский".


Игорь Шевченко   (2006-06-16 11:33:00) [7]

Leonid Troyanovsky ©   (15.06.06 19:46) [14]


> Можнр и не хакерский.
>
> http://rsdn.ru/Forum/Message.aspx?mid=673350&only=1


А смысл ?


Плохиш   (2006-06-16 11:14:00) [8]


> контекст обсуждения наблюдаешь?

Честно говоря, из [0] не понял, какие у девушки проблемы. А после [4] совершенно не понятно, что она соберается решать хакерскими методами, но я бы всё-таки посоветовал сначала обратиться к лечащему врачу.


MBo   (2006-06-16 08:13:00) [9]

>Leonid Troyanovsky ©   (15.06.06 19:46) [14]
>Можнр и не хакерский.
Да, конечно, способы разные бывают. В последних версиях Дельфи можно и класс-хелперы использовать для этой цели, чтобы наследника не создавать.


Loginov Dmitry   (2006-06-15 20:32:00) [10]

Desdechado ©   (15.06.06 19:26) [13]
контекст обсуждения наблюдаешь?


В общих чертах :)


Джо   (2006-06-15 19:52:00) [11]

> [14] Leonid Troyanovsky ©   (15.06.06 19:46)

Достаточно изящно.


Leonid Troyanovsky   (2006-06-15 19:46:00) [12]


> MBo ©   (15.06.06 18:44) [6]

> Хакерский способ есть, но лучше этого не делать


Можнр и не хакерский.

http://rsdn.ru/Forum/Message.aspx?mid=673350&only=1

--
Regards, LVT.


Desdechado   (2006-06-15 19:26:00) [13]

Loginov Dmitry ©   (15.06.06 19:23) [12]
разницу между Self и типа-Self чувствуешь?
контекст обсуждения наблюдаешь?


Loginov Dmitry   (2006-06-15 19:23:00) [14]

Desdechado ©   (15.06.06 18:48) [8]
к какому тогда через типа-Self обращаться компилятору?


Хм... А при чем здесь Self? Он же всегда один и тотже в пределах класса, а with его не изменяет.


irena   (2006-06-15 19:04:00) [15]

с п а с и б о !


MBo   (2006-06-15 18:53:00) [16]

>какой?
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=831


irena   (2006-06-15 18:53:00) [17]


> к какому тогда через типа-Self обращаться компилятору?


ну, Delphi же умный...
и даже в переопределенных функциях (override) разбирается
в зависимости от типа...

Sorry...


Desdechado   (2006-06-15 18:48:00) [18]

у WITH синтаксис несколько шире - там можно сразу несколько переменных писать
к какому тогда через типа-Self обращаться компилятору?


irena   (2006-06-15 18:46:00) [19]

а интересно...
какой?


MBo   (2006-06-15 18:44:00) [20]

>А жаль, что не придумали какого-то заменителя типа Self ....
Хакерский способ есть, но лучше этого не делать


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо