Вниз
Скачать: 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.01 c
8-51846
halt
2002-09-02 21:26
2002.12.16
как проиграть audio сидюк с конкретного cd-привода


1-51810
brestmarket
2002-12-05 11:52
2002.12.16
Необходимы ответы при использовании стандартных компонент Delphi6


1-51782
lety
2002-12-04 22:12
2002.12.16
Курсор в мемо


7-51988
Геннадий
2002-10-08 16:54
2002.12.16
А как узнать входящий/исходящий трафик Интернета?


1-51802
KMI
2002-12-02 10:18
2002.12.16
Как добавить или удалить листы в Excel




   Наверх