Textdatei beim laden RICHTIG anzeigen
:-D Hallo, frohes neues noch! :-D
Es ist wieder soweit ich komme einfach nicht weiter und wende mich deshalb an Euch! Ich habe eine Textdatei gespeichert (Stringgrid 4 x 4 Zellen) die wie unten aussieht. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Ich möchte diese Datei laden und habe dazu folgenden Quelltext zum lesen der Textdatei geschrieben.
Delphi-Quellcode:
Ich weiss aber nicht wie man es hin bekommt
var zeile:string;
begin if opendialog1.execute then begin datname:=opendialog1.filename; assignfile(f,Datname); reset(f); while not eof(f) do begin readln(f,zeile); stringgrid1.cells[0,0] :=zeile; setzt komplette Zeile in diese Zelle, das möchte ich aber nicht!! readln(f,zeile); stringgrid1.cells[0,1] :=zeile; readln(f,zeile); stringgrid1.cells[0,2] :=zeile; readln(f,zeile); stringgrid1.cells[0,3] :=zeile; end; closefile(f); end; das jeder Wert wieder in seiner Zelle angezeigt wird! Ich dachte so irgendwie: grid1.cells[0,0] + grid1.cells[1,0] grid1.cells[2,0] + grid1.cells[3,0] :=zeile; |
Re: Textdatei beim laden RICHTIG anzeigen
Hallo Mucki,
eine Art wie du sie unten vorschlägst, gibt es leider nicht, da ist leider Handarbeit gefragt. Ich habe auf www.swissdelphicenter.ch Code gefunden, wie du ein Grid laden und speichern kannst. Gruß Pfoto |
Re: Textdatei beim laden RICHTIG anzeigen
O.K.
Danke. :) Habe eine (Schummel) Lösung gefunden die funktioniert. Lade die Datei einfach in einen 2. SGrid, der pro Zeile nur eine große Zelle besitzt! :idea: |
Re: Textdatei beim laden RICHTIG anzeigen
Hi,
es muss kein "zweites StringGrid" sein - es genügt eine StringList. Und wenn du beim Speichern statt der Leerstelle ein Komma verwendest, dann kannst du die Zellen auch nach folgendem Prinzip laden:
Delphi-Quellcode:
Grüße vom marabu
procedure LoadGrid(grid: TStringGrid; fn: TFileName);
var iRow: Integer; sl: TStringList; begin sl := TStringList.Create; sl.LoadFromFile(fn); grid.RowCount := sl.Count; for iRow := 0 to Pred(sl.Count) do begin if iRow = 0 then with TStringList.Create do begin CommaText := sl[iRow]; grid.ColCount := Count; Free; end; grid.Rows[iRow].CommaText := sl[iRow]; end; sl.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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