Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Textdatei (txt) in Stringgrid einlesen (https://www.delphipraxis.net/143030-textdatei-txt-stringgrid-einlesen.html)

implementation 10. Nov 2009 17:15

Re: Textdatei (txt) in Stringgrid einlesen
 
Zitat:

Zitat von Pascall
Bin ein Pascal Anfänger und das reicht mir auch erst Mal. Wenn ich die Schule beendet habe werde ich mich mit C++ vertraut machen und ich denke dafür reicht mein bisheriges kleines Wissen schon aus. Ein wirklich sehr nettes Forum hier, vielen Dank für eure ganze Hilfe.
Ich wette es war nicht das letzte Mal, dass ich hier geschrieben habe =)

So viel anders ist C++ nun auch wieder nicht. Das Vorgehen ist schliesslich das gleiche...

DeddyH 10. Nov 2009 17:20

Re: Textdatei (txt) in Stringgrid einlesen
 
Zitat:

Zitat von p80286
@DeddyH

Ist die frühe Festlegung von RowCount und ColCount notwendig oder Dein pers. Stil?

Gruß
K-H

Sobald ich auf eine bestimte Zelle zugreife, muss ich ja sicher sein, dass die auch da ist, meinst Du nicht? Gut, ich hätte das auch nach dem Befüllen der Objektliste machen können, aber das sollte ja nicht die große Rolle spielen.

p80286 10. Nov 2009 17:33

Re: Textdatei (txt) in Stringgrid einlesen
 
@DeddyH

Zitat:

Zitat von DeddyH
Sobald ich auf eine bestimte Zelle zugreife, muss ich ja sicher sein, dass die auch da ist, meinst Du nicht?

Bei mir klappt es immer mit
Delphi-Quellcode:
 for i:=0 to xxxx.count-1 do
  .......
 yyy.rowcount:=xxxx.count+1;
wichtig ist nur daß RowCount nicht kleiner 2 wird, damit die "grauen Überschriften" nicht verschwinden.
Mein Vorgehen scheint nicht logisch aber es klappt. Oder hab ich nur Glück gehabt?
Ich meine mich erinnern zu können, daß RowCount für die sichtbaren/anzeigbaren Zeilen steht, bin mir aber nicht sicher.

(über den Speicher, den man da verbraten kann mach ich mir jetzt mal keine Gedanken)

Gruß
K-H

DeddyH 10. Nov 2009 17:37

Re: Textdatei (txt) in Stringgrid einlesen
 
Wenn ich von vornherein weiß, wieviele Zeilen/Spalten ich benötige, ist die Erhöhung innerhalb einer Schleife IMHO suboptimal. Und für die "grauen" Spalten/Zeilen habe ich ja FixedRows bzw. FixedCols mit berücksichtigt :zwinker:

p80286 10. Nov 2009 17:41

Re: Textdatei (txt) in Stringgrid einlesen
 
Welche Schleife?
so ists deutlicher:
Delphi-Quellcode:
for i:=0 to xxxx.count-1 do
begin
  .......
end;
yyy.rowcount:=xxxx.count+1;
und wenn RowCount<2 ist, dann klappt das mit den FixedRows nicht mehr. (D2006 und D7)
Gruß
K-H

DeddyH 10. Nov 2009 17:45

Re: Textdatei (txt) in Stringgrid einlesen
 
Ach, so war das gemeint. OK, dann spielt es keine Rolle, wann man RowCount/ColCount setzt, Hauptsache, vor dem ersten indizierten Zugriff. Und ja, Du hast recht, nur fixe Spalten oder Zeilen akzeptiert das Dingen nicht. Aber in meinen Augen ist das eh nicht die dollste Komponente der VCL, daher meide ich sie nach Möglichkeit.

Lannes 10. Nov 2009 19:15

Re: Textdatei (txt) in Stringgrid einlesen
 
Hallo,

und ich bevorzuge sie :wink:

Es ist kein Problem das Array Cells mit Werten zu belegen auch wenn RowCount/ColCount kleiner als der Index für Cells ist.
Auch ein Zugriff auf die Inhalte des Cells-Array verursacht keine Zugriffsverletzungen.

Delphi-Quellcode:
Grid.Cells[Grid.ColCount + 1000, Grid.RowCount + 1000] := 'Test';
Showmessage(Grid.Cells[Grid.ColCount + 1000, Grid.RowCount + 1000]);
//erst wenn man was selectieren will, knallt es
Grid.Row := Grid.RowCount + 1000;// "Gitterindex außerhalb"
Grid.Cells[c,r], Grid.Cols[c] und Grid.Rows[r] sind unabhängig vom dem durch ColCount/RowCount definierten Bereich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:13 Uhr.
Seite 2 von 2     12   

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