Вниз
Скачать: CL | DM;

Как узнать имя экземпляра класса?   Найти похожие ветки 

 
lovres ©   (2002-12-05 16:04) [0]

Конкретнее:
Динамически создаются объекты типа TShape и, в зависимости от имени надо выполнять разные действия. Например, у объекта с именем Shape1 поменять цвет, а для Shape2 - размер. Как по Source можно узнать имя именно объекта, а не самого класса или как по-другому?


 
LongIsland ©   (2002-12-05 16:09) [1]

Или как по-другому:-)
Когда создаешь объекты - присваивай им имена и все, например

for i:=0 to 10 do
begin
Shape:=TShape.Create(Form);
Shape.Parent:=Form;
Shape.Name:="Shape"+IntToStr(i);
...
end;


 
Skier ©   (2002-12-05 16:10) [2]

>lovres

if CompareText(TComponent(Source).Name, "Shape1") = 0 then begin
end; //if

Но...есть ещё хороший метод - FindComponent(...)


 
Smashich ©   (2002-12-05 16:13) [3]

чем не нравится (Sender as TComponent).Name?


 
Smashich ©   (2002-12-05 16:14) [4]

я так понимаю проблема в том человек не знает про приведение типов?


 
Zemal ©   (2002-12-05 16:29) [5]

А как ты даёшь имена экземплярам класса? Вот и оперируй с Sender-ом как пожелаешь :), у него будет поле Name в котором и будет содержаться имя как String.


 
lovres ©   (2002-12-05 16:35) [6]

TComponent(Source).Name - ну конечно же. спасибо.
>to Smashich
Да, согласен,-прямое приведение типа, но у кого не бывает трудных дней...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-51699
avsh
2002-12-05 20:44
2002.12.16
TImage


14-51922
AgentDelphi
2002-11-24 17:49
2002.12.16
Как сделать программу на подобие WinAMP?


3-51655
nick-from
2002-11-26 23:45
2002.12.16
TFIBCustomDataSet.CloseOpen


14-51912
Separator
2002-11-12 12:02
2002.12.16
Графический редартор


6-51870
boolean
2002-10-07 13:40
2002.12.16
Help




   Наверх