Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: 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 вся ветка

Текущий архив: 2002.12.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
1-51671
Mihey
2002-12-05 16:19
2002.12.16
Создание dll-ки.


14-51927
LenaS
2002-11-22 22:30
2002.12.16
Проблемы с Delphi


3-51581
Miss
2002-11-27 13:44
2002.12.16
Фильтр


4-51991
Юля
2002-10-30 14:18
2002.12.16
Проблема с DBGrid


1-51684
BSD
2002-12-05 16:02
2002.12.16
StarOffice vs Delphi