![]() |
StringGrid speichern/laden
moin
ich speichere den inhalt eines stringgrids mit dieser procedure:
Delphi-Quellcode:
nun will ich das wieder auslesen, ich hatte mir das so überlegt:
procedure TForm_search.Button3Click(Sender: TObject);
var i:integer; t:TStringList; begin t:=TStringList.Create; t.Add(inttostr(StringGrid2.RowCount-1)); t.Add(inttostr(StringGrid2.ColCount-1)); for i:= 0 to StringGrid2.ColCount-1 do t.AddStrings(StringGrid2.Cols[i]); t.SaveToFile('Suchergebnisse ['+StringGrid1.Cells[1,1]+'] - '+StringGrid1.Cells[0,1]+'.txt'); t.Free; end;
Delphi-Quellcode:
aber irgendwas stimmt da noch nicht..was?
procedure TForm1.Button1Click(Sender: TObject);
var dialog:TOpenDialog; t:TStringList; cols,rows, i, j:integer; begin dialog:=TOpenDialog.Create(Form1); t:=TStringList.Create; if dialog.Execute then begin t.LoadFromFile(dialog.FileName); rows:=strtoint(t[0]); t.Delete(0); cols:=strtoint(t[0]); t.Delete(0); StringGrid1.ColCount:=cols; StringGrid1.RowCount:=rows; for i:=0 to rows do for j:=0 to cols do StringGrid1.Cells[j,i]:=t[j*i+i]; end; dialog.Free; t.Free; |
Re: StringGrid speichern/laden
Wenn du uns freundlicherweise sagen würdest, was denn nicht klappt? :zwinker:
Fehlermeldung, AV, passiert was oder gar nix etc. pp. |
Re: StringGrid speichern/laden
also de sachen werden nocht korrekt wieder reingeschrieben sondern irgendwie so diagonal...beispiel:
vorher: 1 a z 2 b y 3 c x 4 d w 5 e v 6 f u 7 g t 8 h s 9 i r nachher in etwa 1 2 3 4 5 a 6 7 b 8 c d 9 e z f g y h x w i v u t s r also die erste spalte belegt den platz: XXX XX- XX- X-- X-- --- --- --- --- die zweite den: --- --X --X -XX -XX XX- X-- X-- --- und die dritte den: --- --- --- --- --- --X -XX -XX XXX nochma zusammen: 111 112 112 122 122 223 233 233 333 ich hoffe es ist verständlich nur ist meine tabelle um ein vielfaches größer... |
Re: StringGrid speichern/laden
Hi glkgereon,
ich denke mal das der Fehler mit Col und row-count zusammen hängt. Ich hab dem Code mal Kommentare hinzugefügt: [quote="glkgereon"]moin
Delphi-Quellcode:
quote]
procedure TForm1.Button1Click(Sender: TObject);
var dialog:TOpenDialog; t:TStringList; cols,rows, i, j:integer; begin dialog:=TOpenDialog.Create(Form1); t:=TStringList.Create; if dialog.Execute then begin t.LoadFromFile(dialog.FileName); rows:=strtoint(t[0]); t.Delete(0); cols:=strtoint(t[0]); t.Delete(0); StringGrid1.ColCount:=cols; //probier mal: StringGrid1.ColCount:=cols+1; StringGrid1.RowCount:=rows; //probier mal: StringGrid1.ColCount:=rows+1; for i:=0 to rows do for j:=0 to cols do StringGrid1.Cells[j,i]:=t[j*i+i]; end; dialog.Free; t.Free; Bin gespannt ob's klappt 8) MfG Christian |
Re: StringGrid speichern/laden
nein, tut es leider nicht
ich raff das echt nicht |
Re: StringGrid speichern/laden
warum nutzt du nicht die Forensuche?
![]() ![]() mfg Frank |
Re: StringGrid speichern/laden
hmm...stimmt
mit nahezu 950 posts sollte mans gelernt haben :gruebel: aber das mit den anderen seitemn habbich noch nicht so drin... thx |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 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