25. april 2006 - 19:42
Der er
2 kommentarer og
1 løsning
Gemme/hente data til StringGrid fra en textfil
Hej.
Jeg har et problem, som jeg gerne vil give 50 points for.
Det er formentligt et problem, man ofte er stødt på og derfor nemt for gruppen at svare på.
Jeg ønsker at gemme hhv. hente data til en form for kontoplan i en tekst-fil (jeg går med andre ord ud fra, at det er en fornuftig løsning med en tekstfil hertil)
Hvordan gør jeg det i praksis?
25. april 2006 - 20:14
#1
/ gem en TStringGrid til en txt fil
procedure SaveStringGrid(StringGrid: TStringGrid; const FileName: TFileName);
var
f: TextFile;
i, k: Integer;
begin
AssignFile(f, FileName);
Rewrite(f);
with StringGrid do
begin
// Write number of Columns/Rows
Writeln(f, ColCount);
Writeln(f, RowCount);
// loop through cells
for i := 1 to ColCount - 1 do
for k := 1 to RowCount - 1 do
Writeln(F, Cells[i, k]);
end;
CloseFile(F);
end;
// Load a TStringGrid from a file
procedure LoadStringGrid(StringGrid: TStringGrid; const FileName: TFileName);
var
f: TextFile;
iTmp, i, k: Integer;
strTemp: String;
begin
AssignFile(f, FileName);
Reset(f);
with StringGrid do
begin
// Get number of columns
Readln(f, iTmp);
ColCount := iTmp;
// Get number of rows
Readln(f, iTmp);
RowCount := iTmp;
// loop through cells & fill in values
for i := 1 to ColCount - 1 do
for k := 1 to RowCount - 1 do
begin
Readln(f, strTemp);
Cells[i, k] := strTemp;
end;
end;
CloseFile(f);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
LoadStringGrid(StringGrid1, 'c:\temp\konto.txt'); //hent
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SaveStringGrid(StringGrid1, 'c:\temp\konto.txt'); //gem