Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > какой аналог делфийского "with"?


Автор: Elfebet 16.10.2006, 18:55
скажите пожалуйста какой аналог делфийского "with".
Код

with frmMain do begin
  // мои действия
  ....
end; 

как на бюлдере такое записать?

Автор: FFFFFFF7 16.10.2006, 18:59
TType *t = new TType();
t = Object_Of_Type_TType.
Только так.

Автор: BreakPointMAN 16.10.2006, 22:05
Цитата

Есть ли в C++ with?

Прямого аналога нет - языки все-таки разные, но можно использовать следующие конструкции, обладающие схожими возможностями:

Вариант №1 - использование макроопределения:

Код

#define kanva Form1->Canvas
kanva->LineTo(random(100),random(100));


Вариант №2 - использование указателя:

Код

TCanvas *kanva = Form1->Canvas;
kanva->MoveTo(0,0);
kanva->LineTo(random(100),random(100));



Вариант №3 - использование ссылки(похож на предыдущий):

Код

TCanvas &kanva = *(Form1->Canvas);
kanva.MoveTo(0,0);
kanva.LineTo(random(100),random(100));


© OlegGG, http://sources.ru/builder/faq/002.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)