![]() |
Caption, Text, Hint, etc. von Komponenten rausfinden
Hallo,
ich hab schon wieder eine Frage. Ich ermittle mit folgendem Code die einzelnen Komponenten:
Code:
Wie kann ich rausfinden, ob die einzelnen Komponenten, die ich mit dem
for i := 0 to ComponentCount - 1 do
ListBox1.Items.Add(Components[i].Name); oberen Code auslese, Caption, Text, Hints, etc. also String-Eingaben besitzen und diese auslesen oder ändern? mfg Helmi |
Re: Caption, Text, Hint, etc. von Komponenten rausfinden
Du kannst sie mit dem Schlüsselwort "is" mit Komponenten vergleichen, so z.B. TCustomEdit, von dem u.a. TEdit, TRichEdit etc. abstammen. ansonsten kenne ich keine Möglichkeit
Delphi-Quellcode:
Greetz
for i := 0 to ComponentCount - 1 do
begin ListBox1.Items.Add(Components[i].Name); if Components[i] is TCustomEdit then //Dein Code end; alcaeus |
Re: Caption, Text, Hint, etc. von Komponenten rausfinden
gibts da keine generelle Lösung? - ohne es wieder von Komponenten-Typen wie Edit abhängig zu machen?
|
Re: Caption, Text, Hint, etc. von Komponenten rausfinden
Die gibt es nur in begrenztem Maße, da ja nicht alle Kompos eine Caption haben. Du musst dich halt Stufe für Stufe in der Objekthierarchie nach oben bewegen...
Greetz alcaeus |
Re: Caption, Text, Hint, etc. von Komponenten rausfinden
ich will ja nicht nur Caption...
je nachdem was die Komponente hat z. B. bei einem Label --> Caption bei einem Edit --> Text oder bei beidem --> Hint und so weiter |
Re: Caption, Text, Hint, etc. von Komponenten rausfinden
kannst du nicht mit try except arbeiten
so try mycaption:=compo1.caption except mycaption:='' dann wäre die variable mycaption die caption der comnpo, falls die aber keine hat, wäre die leer denk ich mir so.. also bei mehreren sachen halt
Delphi-Quellcode:
ich glaub meine try-except-konstruktion is falsch, is mir jetzt aber egal.... :-D
try mycaption:=compo1.caption
except mycaption:='' try myname:=compo1.name except myname:='' try mywatweissich:=compo1.watweissich except mywatweissich:='' |
Re: Caption, Text, Hint, etc. von Komponenten rausfinden
Code:
Wenn ich schon Caption auswählen könnte, dann wärs kein problem
try mycaption:=compo1.caption
except mycaption:='' aber wenn ich mit
Code:
eine Komponente habe, weiss ich nicht ob es caption, text, hint, etc gibt
Components[i]
|
Re: Caption, Text, Hint, etc. von Komponenten rausfinden
Hi!
So gehts: 1) Ein neues Formular erstellen 2) Eine ComboBox druff 3) Eine ListBox druff 4) OnFormCreate definieren (Code siehe unten) 5) OnComboBoxChange definieren (Code siehe unten) 6) Voila ;)
Delphi-Quellcode:
mfG
uses
TypInfo // ..... procedure TForm1.FormCreate(Sender: TObject); var i: integer; begin ComboBox1.Clear; for i := 0 to Self.ComponentCount-1 do ComboBox1.Items.Add(Form1.Components[i].Name); ComboBox.Text := ''; end; procedure TForm1.ComboBox1Change(Sender: TObject); var PropList: PPropList; i: Integer; CompName: String; begin PropList := AllocMem(SizeOf(PropList^)); i := 0; CompName := ComboBox.Items[ComboBox1.ItemIndex]; ListBox1.Items.Clear; try GetPropList(FindComponent(CompName).ClassInfo, [tkString, tkLString, tkWString], PropList); while (PropList^[i] <> nil) and (i < High(PropList^)) do begin ListBox1.Items.Add(PropList^[i].Name); inc(i); end; finally FreeMem(PropList); end; end; mirage228 |
Re: Caption, Text, Hint, etc. von Komponenten rausfinden
danke mirage228 - das funktioniert
|
Re: Caption, Text, Hint, etc. von Komponenten rausfinden
die caption hinmachen!
ioch schreib oft was, was mein delphi mir gar nicht zu auswahl stellt... kann aber sein dasses nit geht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz