Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wie kann ich die Namen aller DBGrids auf einer Form ermittel (https://www.delphipraxis.net/98727-wie-kann-ich-die-namen-aller-dbgrids-auf-einer-form-ermittel.html)

HolgerCW 31. Aug 2007 11:20


Wie kann ich die Namen aller DBGrids auf einer Form ermittel
 
Hallo zusammen,

wie kann ich die Namen aller DBGrids auf einer Form ermitteln ? und diese z.B. in eine StringList schreiben ?

Gruss

Holger

fkerber 31. Aug 2007 11:22

Re: Wie kann ich die Namen aller DBGrids auf einer Form ermi
 
Hi!

Du könntets die Liste aller Controls durchgehen und schauen, wenn es ein DbGrid ist --> Namen reinschreiben

Delphi-Quellcode:
Form1.Controls[]

Ciao, Frederic

mkinzler 31. Aug 2007 11:22

Re: Wie kann ich die Namen aller DBGrids auf einer Form ermi
 
1. Interiere über alle Controls der Form und überprüfe den Typ.

DeddyH 31. Aug 2007 11:24

Re: Wie kann ich die Namen aller DBGrids auf einer Form ermi
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  for i := 0 to ComponentCount - 1 do
    if Components[i] is TDBGrid then
      ListBox1.Items.Add(Components[i].Name);
end;

HolgerCW 31. Aug 2007 11:46

Re: Wie kann ich die Namen aller DBGrids auf einer Form ermi
 
Vielen dank für die Hilfen,

und wie sae ich dem ComponentCount, um welche Form es sich handelt ?

Gruss

Holger

DeddyH 31. Aug 2007 11:48

Re: Wie kann ich die Namen aller DBGrids auf einer Form ermi
 
Schreib sie einfach davor: TFrmMain.ComponentCount. Dann musst Du das bei Components natürlich auch machen ;)

mkinzler 31. Aug 2007 11:49

Re: Wie kann ich die Namen aller DBGrids auf einer Form ermi
 
Es handelt sich um die Instanz, in der der Code steht (Self)

HolgerCW 31. Aug 2007 12:02

Re: Wie kann ich die Namen aller DBGrids auf einer Form ermi
 
Fantastisch,

das klappt alles.

Will das nun in eine Funktion packen.

Welche deklaration muss ich für Componenten nehmen ? Als Componente soll mal DBGrid mal ComboBox mal was anderes ... rein.

Delphi-Quellcode:
function Komponenten_ermitteln(Form:TForm; Komponente: ???):String;
var
 I: integer;
 Wert: String;
begin

 For I := 0 to Form.ComponentCount - 1 do
 begin

  if Form.Components[I] is Komponente then
  begin
   Wert := Wert + Form.Components[I].Name + #13#10;
  end;
 end;

 Result := Wert;

end;
Gruss

Holger

shmia 31. Aug 2007 12:29

Re: Wie kann ich die Namen aller DBGrids auf einer Form ermi
 
Schau mal in der Code-Library: http://www.delphipraxis.net/internal...ct.php?t=52210
Durch Benützung von Callbacks sind die Funktionen universell einsetzbar.

RavenIV 31. Aug 2007 12:31

Re: Wie kann ich die Namen aller DBGrids auf einer Form ermi
 
Du musst als Komponente diejenige Komponente nehmen, die beiden als nächsthöhere Instanz gleich ist.
Im Zweifelsfall nimm TWinControl, das trifft bei den meisten zu.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:15 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