Hallo
Delphi-Quellcode:
procedure TSudoku.SpeichernClick(Sender: TObject);
VAR Dateiname:string;
begin
if SaveDialog1.Execute then
begin
Dateiname := SaveDialog1.FileName;
SaveGrid(Stringgrid1,Dateiname);
end;
end;
//------------------------------------------------
procedure SaveGrid(StringGrid1: TStringGrid; fileName: string);
var
iRow: integer;
sl: TStringList;
begin
sl := TStringList.Create;
for iRow := 0 to StringGrid1.RowCount - 1 do
sl.Add(StringGrid1.Rows[iRow].CommaText);
sl.SaveToFile(fileName);
sl.Free;
end;
//-----------------------------------------------
procedure TSudoku.LadenClick(Sender: TObject);
VAR Dateiname : String;
begin
if OpenDialog1.Execute then
begin
Dateiname := OpenDialog1.FileName;
LoadFromFile(Stringgrid1, Dateiname);
end;
end;
//---------------------------------------------
procedure LoadFromFile(StringGrid1: TStringGrid; txt: TFileName);
var
sRows, sCols: TStrings;
i: Integer;
begin
sRows := TStringList.Create;
sRows.LoadFromFile(txt);
sCols := TStringList.Create;
sCols.CommaText := sRows[0];
StringGrid1.ColCount := sCols.Count;
sCols.Free;
StringGrid1.RowCount := sRows.Count;
for i := 0 to Pred(sRows.Count) do
StringGrid1.Rows[i].CommaText := sRows[i];
sRows.Free;
end;
Er zeigt die geladenen Werte auch wieder so an wie abgespeichert, allerdings lassen diese sich dann nicht mehr wie sonst (manuelle Eingabe) bearbeiten.