Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Objekte finden, egal ob TLMDEdit oder TRzEdit (https://www.delphipraxis.net/178547-objekte-finden-egal-ob-tlmdedit-oder-trzedit.html)

DelTurbo 14. Jan 2014 08:22

Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Hallo,
wie kann ich abfragen ob ein Objekt im grunde ein TEdit ist. Egal ob es in wirklichkeit ein TRzEdit ober ähnlich ist.

Zur zeit mache ich das so. Aber ich müsste die Schleife immer ändern, bzw. erweitern wenn ich nun ein z.b. TLMDEdit auf dem Panel habe.

Danke im voraus

Delphi-Quellcode:
function GetDataFromGBox(var FN:TStringList;var FV:TStringList;Box:TPanel):Integer;
var
  obj  :TControl;
  i    :Integer;
begin
    Result:=0;
    Assert(Assigned(Box));
    for i:=0 to Box.ControlCount-1 do begin
      obj:=Box.Controls[i];
      if ( obj is TRzEdit ) then begin
        if ( Pos('_',TRzEdit(obj).Name)<>0 ) then begin
          FN.Add(Copy(TRzEdit(obj).Name,1,Pos('_',TRzEdit(obj).Name)-1));
          FV.Add(TRzEdit(obj).Text);
          inc(Result);
        end;
      end;
    end;
end;

DeddyH 14. Jan 2014 08:27

AW: Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Wenn die Komponenten alle von TEdit abstammen, kannst Du doch daraufhin prüfen.

DelTurbo 14. Jan 2014 08:28

AW: Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Das habe ich versucht. Aber ich weiss leider nicht wie?!?

baumina 14. Jan 2014 08:30

AW: Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Delphi-Quellcode:
if obj.InheritsFrom(TEdit) then begin

Sir Rufo 14. Jan 2014 08:30

AW: Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Delphi-Quellcode:
if obj is TEdit
oder evtl. besser
Delphi-Quellcode:
if obj is TCustomEdit
Zitat:

Zitat von baumina (Beitrag 1243580)
Delphi-Quellcode:
if obj.InheritsFrom(TEdit) then begin

oder so :)

DelTurbo 14. Jan 2014 08:33

AW: Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Vielen Dank

DelTurbo 14. Jan 2014 15:33

AW: Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Ich habe noch eine Frage. Wie finde ich den entsprechenden Custom-Typ raus? Ich habe z.b. eine TRzGroupBox auf dem Panel, aber mit TCustomGroupBox finde ich das nicht.

Danke im voraus

baumina 14. Jan 2014 15:43

AW: Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Das Stichwort hierzu lautet
Delphi-Quellcode:
TObject.ClassParent
http://docwiki.embarcadero.com/Libra...ct.ClassParent

DeddyH 14. Jan 2014 15:53

AW: Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Oder wenn man die Sourcen hat: einfach nachschauen, wovon die Komponente abgeleitet ist.

DelTurbo 14. Jan 2014 15:59

AW: Objekte finden, egal ob TLMDEdit oder TRzEdit
 
Erstmal danke für die antworten,
aber ich bekomme z.b. bei TRzGroupBox.ClassParent.ClassName den Namen TRzCustomGroupBox zurück. Irgendwie verwirrt mich das nun.

Ich habe rausgefunden das ich TRzGroupBox als TCustomPanel finden kann. Kann das stimmen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr.
Seite 1 von 2  1 2      

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