![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глупый вопрос.
Peroon © (2002-08-31 15:51:00)Есть-ли операция подобная inttostr(floattostr, и наоборот) но только
для других типов? Например, переменную типа String sh="shape1"
перевести в тип TShape, т.е. чтобы sh равнялась объекту shape1.
Я, конечно, понимаю что все это звучит глупо... но все же...
Или как мне, допустим, в массив из ста элементов типа TShape занести сто объектов Shape с именами вида shape1, shape2, shape3... Поэлементное присваивание не счет.
Криворукий (2002-09-01 11:44:00) [1]Если шэйпы принадлежат какой-нибудь форме, то
shapes[i] := FormThatOwnsTheseShapes.FindComponent("shape" + IntToStr[i]) as TShape;
Если вновь создаваемые шейпы - McSimm © (01.09.02 11:35).
Юрий Зотов (2002-09-01 11:43:00) [2]var
Sh: TShape;
...
Sh := TShape(FindComponent("Shape1"));
Примечание: FindComponent надо вызывать для того компонента, который является Owner"ом Shape1. Если Shape1 создавался в design-time, то это будет форма, если нет - тогда то, что передавалось в конструктор.
Anatoly Podgoretsky (2002-09-01 11:40:00) [3]Без поэлементного присваивания ну никак
McSimm (2002-09-01 11:35:00) [4]sh := TShape.Create(Self); // или другой Owner вместо Self
sh.Name := "shape1"; // или, если в цикле, "shape" + IntToStr(I)
sh.Parent := Self; // на куда положить :)