Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Caption, Text, Hint, etc. von Komponenten rausfinden (https://www.delphipraxis.net/23245-caption-text-hint-etc-von-komponenten-rausfinden.html)

Helmi 31. Mai 2004 14:31


Caption, Text, Hint, etc. von Komponenten rausfinden
 
Hallo,

ich hab schon wieder eine Frage.

Ich ermittle mit folgendem Code die einzelnen Komponenten:

Code:
for i := 0 to ComponentCount - 1 do
  ListBox1.Items.Add(Components[i].Name);
Wie kann ich rausfinden, ob die einzelnen Komponenten, die ich mit dem
oberen Code auslese, Caption, Text, Hints, etc. also String-Eingaben
besitzen und diese auslesen oder ändern?

mfg
Helmi

alcaeus 31. Mai 2004 14:34

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:
for i := 0 to ComponentCount - 1 do
begin
  ListBox1.Items.Add(Components[i].Name);
  if Components[i] is TCustomEdit then
//Dein Code
end;
Greetz
alcaeus

Helmi 31. Mai 2004 14:40

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?

alcaeus 31. Mai 2004 14:43

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

Helmi 31. Mai 2004 14:45

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

glkgereon 31. Mai 2004 14:47

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:
try mycaption:=compo1.caption
except mycaption:=''
try myname:=compo1.name
except myname:=''
try mywatweissich:=compo1.watweissich
except mywatweissich:=''
ich glaub meine try-except-konstruktion is falsch, is mir jetzt aber egal.... :-D

Helmi 31. Mai 2004 14:55

Re: Caption, Text, Hint, etc. von Komponenten rausfinden
 
Code:
try mycaption:=compo1.caption
except mycaption:=''
Wenn ich schon Caption auswählen könnte, dann wärs kein problem

aber wenn ich mit
Code:
Components[i]
eine Komponente habe, weiss ich nicht ob es caption, text, hint, etc gibt

mirage228 31. Mai 2004 14:59

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:
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;
mfG
mirage228

Helmi 31. Mai 2004 15:05

Re: Caption, Text, Hint, etc. von Komponenten rausfinden
 
danke mirage228 - das funktioniert

glkgereon 31. Mai 2004 15:06

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 22:03 Uhr.
Seite 1 von 2  1 2      

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