SA
bir TObject nesnesinden object'i as yapmadan objenin adını nasıl alabilirim.
(xObject as TButton).Name gibi her obje için bir satır yazmak istemiyorum
bir döngü halinde form üzerindeki tüm objelere işlem yapmak istiyorum
Teşekkürler
Tobject nesnesinden Name Nasıl Alınır? (Çözüldü)
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Tobject nesnesinden Name Nasıl Alınır? (Çözüldü)
En son adelphiforumz tarafından 12 Haz 2013 04:11 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Tobject nesnesinden Name Nasıl Alınır?
for iDongu := 0 to self.ComponentCount - 1 do
begin
if ( self.Components[ iDongu ] is TButton ) memo1.Lines.Add( (self.Components[iDongu] as TButton).Name );
end;
begin
if ( self.Components[ iDongu ] is TButton ) memo1.Lines.Add( (self.Components[iDongu] as TButton).Name );
end;
Re: Tobject nesnesinden Name Nasıl Alınır?
delphi versiyonunuz nedir? yanlış bilmiyorsam delphi2007 ve sonrasında gelen özellikle nesnenin property lerine erişebiliyoruz.
aşağıdaki metodla parametre olarak geçtiğiniz nesnenin Name property sini string olarak alabilirsiniz.
kodu denemedim, kontrol edersiniz.
aşağıdaki metodla parametre olarak geçtiğiniz nesnenin Name property sini string olarak alabilirsiniz.
kodu denemedim, kontrol edersiniz.
Kod: Tümünü seç
function GetObjectName(aObject:TObject):string;
var
ctx: TRttiContext;
t: TRttiType;
p: TRttiProperty;
begin
result:='';
ctx := TRttiContext.Create;
t := ctx.GetType(aObject.ClassType);
for p in t.GetProperties do
begin
if p.Name = 'Name' then
begin
result:=p.GetValue(aObject).AsString;
break;
end;
end;
end;
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Re: Tobject nesnesinden Name Nasıl Alınır?
Yanlış bilmiyorsam Name özelliği TComponent class'ından itibaren var. Dolayısıyla Form'un Components özelliği(listesi) sizin aradığınız liste olabilir.
Mesela Panel1'in üzerindeki bileşenlerin isimlerini öğrenmek istersen sadece with 'ten sonraki Form1 yerine Panel1 yazarsın...
Kod: Tümünü seç
with Form1 do
for I := ComponentCount - 1 downto 0 do
begin
Components[I].Name //bu şekilde forma ait tüm bileşenlerin isimlerine ulaşırsın
end;
There's no place like 127.0.0.1
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: Tobject nesnesinden Name Nasıl Alınır?
Bende söyle bşey buldum
bir objenin istenen değeri alınabiliyor
xObjectName := GetStrProp(pObject, 'Name');
Set etme işlemide şöyle
SetStrProp(pObject, 'Name', xObjectName);
bir objenin istenen değeri alınabiliyor
xObjectName := GetStrProp(pObject, 'Name');
Set etme işlemide şöyle
SetStrProp(pObject, 'Name', xObjectName);
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana