Avatar billede dcgeek Nybegynder
05. februar 2003 - 22:26 Der 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.
Avatar billede kallesen01 Nybegynder
06. februar 2003 - 07:29 #1
Hvis jeg var dig ville jeg nok bruge INI filer :-) g det er da nemt at håndtere, ellers skal jeg nok hjælpe dig.

/Kallesen
Avatar billede kfz Nybegynder
06. februar 2003 - 07:32 #2
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.
Avatar billede hreiff Nybegynder
06. februar 2003 - 07:37 #3
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;
Avatar billede hreiff Nybegynder
06. februar 2003 - 07:39 #4
Button1 gemmer indholdet og Button2 henter indholdet.
Størrelsen på din stringgrid gemmes sammen med indholdet, så det følger med.
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