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 Zellen in StringGrid vor Run-Time ausfüllen (https://www.delphipraxis.net/57816-zellen-stringgrid-vor-run-time-ausfuellen.html)

Borti 27. Nov 2005 10:24


Zellen in StringGrid vor Run-Time ausfüllen
 
Guten Morgen,
Gibt es eine Möglichkeit die Zellen, Zeilen oder Spalten eines TStringGrids vor der Laufzeit auszufüllen? (Sonst muss mein Programm dieses immer beim Programmstart vornehmen)
Gruß,
Borti

mschaefer 27. Nov 2005 10:37

Re: Zellen in StringGrid vor Run-Time ausfüllen
 
Moin moin,

klare Antwort: Mit der Borland-Komponente StringGrid geht das definiv nicht. Du könntest allerdings eine Komponente ableiten wo Du entweder für eine gewisse Anzahl Zeilen TStrings-Eigenschaften Implmentierst die dann als Published Property angelegt sind. Odr Du lädtst die Zeilen bei Programmstart aus einem Ini-File eventuell Ressource aus.

Grüße // Martin


PS: Mir ist aktuell keine Komponente bekannt, die den Gridinhalt zur Designtime festlegen kann (jemand anders?)

Borti 27. Nov 2005 10:57

Re: Zellen in StringGrid vor Run-Time ausfüllen
 
Danke,
Borti

Lannes 27. Nov 2005 12:17

Re: Zellen in StringGrid vor Run-Time ausfüllen
 
Hallo,

dafür kann man u.a. ein zweidimensionales Array of String als Konstante verwenden.
Das Array kann dann mit einer verschachtelten Schleife innerhalb FormCreate ins StringGrid geschrieben werden.
Ein Beispiel:
Delphi-Quellcode:
implementation

{$R *.DFM}
const SGinitial : array [0..3,0..4] of String =
                   (('','Spalte 1','Spalte 2','Spalte 3','Spalte4'),
                    ('Zeile 1','der','die','das',''),
                    ('Zeile 2','','','',''),
                    ('Zeile 3','','','',''));

procedure TForm1.FormCreate(Sender: TObject);
var x,y : Integer;
begin
  for y := 0 to High(SGinitial) do
    for x := 0 to High(SGinitial[y]) do
      StringGrid1.Cells[x,y] := SGinitial[y,x];
end;


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