AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FindComponent auch für property ???

Ein Thema von Martin K · begonnen am 29. Apr 2006 · letzter Beitrag vom 30. Apr 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: FindComponent auch für property ???

  Alt 29. Apr 2006, 18:07
Cool, das funktioniert!!!!

Vielen Dank an alle.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: FindComponent auch für property ???

  Alt 29. Apr 2006, 18:16
Kaum ist ein Problem gelöst, kommt schon das nächste:

Funktioniert das auch mit einer "Untereigenschaft" ?

also z.B.:
Label1.Font.Name ????

Dieses Beispiel war ja für Label1.Caption
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#13

Re: FindComponent auch für property ???

  Alt 29. Apr 2006, 18:29
Zitat von Martin K:
Kaum ist ein Problem gelöst, kommt schon das nächste:

Funktioniert das auch mit einer "Untereigenschaft" ?

also z.B.:
Label1.Font.Name ????

Dieses Beispiel war ja für Label1.Caption
Ja, die Klasse war TLabel, Label1 die Instanz davon, und Caption die Eigenschaft.
"Untereigenschaften" sind auch nur wieder Eigenschaften von Klassen. TLabel.Font ist vom Typ TFont, den Instanz-Zeiger kriegst du ueber Label1.Font, und die Eigenschaft heisst "Name". Funktioniert also gleich wie bei TLabel.Caption

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#14

Re: FindComponent auch für property ???

  Alt 29. Apr 2006, 19:14
Du müsstest mit GetObjectProp(Label1,'Font') das Schrift-Objekt ermitteln und dann wieder mit SetStrProp(Font,'Name','Test') setzen.

Delphi-Quellcode:
var
  tmpObject: TObject; // TObject da tatsächliche Klasse zur Laufzeit unbekannt ist und auch egal ist
begin
  tmpObject:=GetObjectProp(Label1,'Font');
  SetStrProp(tmpObject,'Name','Test);
end;
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: FindComponent auch für property ???

  Alt 29. Apr 2006, 23:51
Ja, das geht!
Danke

Hab's noch etwas vereinfacht:
Das ganze geht auch in einer Zeile und ohne zusätzliche Variable:

SetStrProp(GetObjectProp(FindComponent('Label1'), 'Font'), 'Name', 'Arial'); Das ganze ändert also die Schriftart von Label1 in Arial,
wobei alles nur in Strings übergeben wird!
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: FindComponent auch für property ???

  Alt 30. Apr 2006, 11:59
Hi, ich bin's nochmal:

Ist es auch irgendwie möglich, den Defaultwert einer property abzufragen?
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#17

Re: FindComponent auch für property ???

  Alt 30. Apr 2006, 12:06
Hi!

Was meinst du mit "Default-Wert"?
Den Wert den sie beim Start des Programms haben/hatten?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: FindComponent auch für property ???

  Alt 30. Apr 2006, 12:19
Zitat von fkerber:
Hi!

Was meinst du mit "Default-Wert"?
Den Wert den sie beim Start des Programms haben/hatten?


Ciao Frederic
Ja, genau den!
Bzw. den Wert, den eine Property annimmt, wenn nichts an der entspr. Stelle in der dfm-Datei steht.

z.B. ist der Defaultwert der Property 'Transparent' eines TLabel FALSE.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: FindComponent auch für property ???

  Alt 30. Apr 2006, 13:06
Wie kann man nun allg. den Default-Wert einer Property erhalten?
Ist das überhaupt möglich???
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: FindComponent auch für property ???

  Alt 30. Apr 2006, 13:25
Da wird er den wert aus der klasse Lesen oder der Superklasse, wenn die Klasse auch kein Wert vorsieht.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz