Avatar billede skindbeni Nybegynder
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?
Avatar billede stone Forsker
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
Avatar billede skindbeni Nybegynder
25. april 2006 - 20:16 #2
Hej Stone.

Jeg siger mange tak og smider points til dig.
Avatar billede skindbeni Nybegynder
25. april 2006 - 20:16 #3
Hej Stone.

Jeg siger mange tak og smider points til dig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester