05. februar 2003 - 22:26Der er
3 kommentarer og 1 løsning
hente og gemme data
Jeg har placeret en StringGrid1 på min form, og nu vil jeg gerne have en funktion til at gemme hvad der står i min stringgrid i en fil, samt en funktion til at hente data'ene ind igen, og placerer dem i de rigtige rækker og kollonner.
vi antager at din stringgrid er 10 * 10 og har en kolonne foroven og til venstre.
procedure save(destination:string); var fl: file of string[30]; i,j: integer; begin try assingfile(fl,destination); rewrite(fl); for i := 1 to 10 do for j := 1 to 10 do write(fl,stringgrid1.cells[i,j]); finally closefile(fl); end; end;
procedure load(destination:string); var fl: file of string[30]; i,j: integer; begin try assingfile(fl,destination); reset(fl); for i := 1 to 10 do for j := 1 to 10 do read(fl,stringgrid1.cells[i,j]); finally closefile(fl); end; end;
dette er skrevet uden delphi så jeg kan ikke garantere at det er fejlfrit.
procedure TForm1.Button1Click(Sender: TObject); var f: textfile; i,j: integer; begin assignfile(f,'c:\temp\test.dat'); rewrite(f); writeln(f,inttostr(StringGrid1.colcount)); writeln(f,inttostr(StringGrid1.rowcount)); for i := 1 to StringGrid1.colcount do for j := 1 to StringGrid1.rowcount do writeln(f,StringGrid1.cells[i,j]); closefile(f); end;
procedure TForm1.FormCreate(Sender: TObject); begin StringGrid1.cells[2,3] := 'Hej med dig'; end;
procedure TForm1.Button2Click(Sender: TObject); var f: textfile; i,j: integer; s: string; begin assignfile(f,'c:\temp\test.dat'); reset(f); readln(f,s); StringGrid1.colcount := strtoint(s); readln(f,s); StringGrid1.rowcount := strtoint(s); for i := 1 to StringGrid1.colcount do for j := 1 to StringGrid1.rowcount do begin readln(f,s); StringGrid1.cells[i,j]:= s; end; closefile(f); end;
Button1 gemmer indholdet og Button2 henter indholdet. Størrelsen på din stringgrid gemmes sammen med indholdet, så det følger med.
Synes godt om
Ny brugerNybegynder
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.