Delphi-PRAXiS

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 Eigenschaften einer Komponente (https://www.delphipraxis.net/40800-eigenschaften-einer-komponente.html)

Surrounder 21. Feb 2005 11:46


Eigenschaften einer Komponente
 
Hallo Forum,

ich habe einen TChart auf meinem Formular den ich so angepasst habe wie ich ihn brauche. Jetzt würde ich gerne zur Laufzeit dynamisch viele weitere Charts auf meinem Formular erstellen. Das ist Prinzipiell auch kein Problem, nur würde ich gerne die Einstellungen die ich bei dem vorhandenen TChart gemacht habe auch übernehmen ohne diese für jeden dynamsichen wieder einzeln setzen zu müssen. Gibt es denn eine Möglichkeit alle Objekteigenschaften einer vorhandenen Komponente einer neu erzeugten zu zuweisen?

Danke für Hinweise

Jelly 21. Feb 2005 11:51

Re: Eigenschaften einer Komponente
 
Vielleicht hilft dir Delphi-Referenz durchsuchenassign weiter.

Surrounder 21. Feb 2005 12:05

Re: Eigenschaften einer Komponente
 
doch so einfach .... :wall:

Danke für die schnelle Hilfe :thumb:

Surrounder 24. Feb 2005 07:26

Re: Eigenschaften einer Komponente
 
hmm irgendwie habe ich mich wohl doch zu früh gefreut, jetzt konnte ich das zwar mit meinem Chart machen, zumindest die meisten Parameter hat er übernommen, aber bei meinem StringGrid geht das nicht, da bekomme ich dann eine Exception wenn ich Assign verwende, hat ein StringGrid keine Parameter vom Typ TPersistent oder verstehe ich da jetzt was falsch.

Ich suche jetzt quasi nochmals eine Möglichkeit wie ich so viele Eigenschaften wie möglich von einem vorhandenen StringGrid auf ein zur Laufzeit erzeugtes übertragen kann, ohne alles von Hand zuzuweisen.

jim_raynor 24. Feb 2005 07:46

Re: Eigenschaften einer Komponente
 
Assign muss von allen abgeleiteten Komponenten neu definiert werden. Scheinbar ist das bei TStringGrid nicht der Fall. Assign funktioniert also nicht bei allen Komponenten. Du wirst also keine andere Chance haben, als alle Daten manuell zu kopieren.

Surrounder 24. Feb 2005 08:10

Re: Eigenschaften einer Komponente
 
ich kann das nicht glauben, gibt es denn keine Möglichkeit alle Properties die eine Komponente hat mittels eines Befehls zu kopieren und einer anderen Komponente zuzuweisen?

MaBuSE 24. Feb 2005 09:53

Re: Eigenschaften einer Komponente
 
Zitat:

Zitat von Surrounder
ich kann das nicht glauben, gibt es denn keine Möglichkeit alle Properties die eine Komponente hat mittels eines Befehls zu kopieren und einer anderen Komponente zuzuweisen?

Den Inhalt der StringGrids kannst Du wenigstens Reihen- oder Spaltenweise mit Assign übertragen:
(Rows und Cols sind vom Typ TStrings. TStrings kann mit Assign umgehen)
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  sg: TStringGrid;
  i: Integer;
begin
  // StringGrid1 mit Zahlen füllen
  for i := 0 to StringGrid1.RowCount * StringGrid1.ColCount do
  begin
    StringGrid1.Cells[i mod StringGrid1.ColCount, i div StringGrid1.ColCount] := IntToStr(i);
  end;

  // StringGrid1 nach sg kopieren
  sg := TStringGrid.Create(Form1);
  sg.Parent := Form1;
  sg.RowCount := StringGrid1.RowCount;
  sg.ColCount := StringGrid1.ColCount;
  for i := 0 to sg.RowCount do sg.Rows[i].Assign(StringGrid1.Rows[i]);
  // oder
  // for i := 0 to sg.ColCount do sg.Cols[i].Assign(StringGrid1.Cols[i]);
end;


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