![]() |
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 ![]() 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 17:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz