14. marts 2005 - 11:29Der er
9 kommentarer og 1 løsning
Indlæse fra CSV fil
Hey eksperter!
Jeg har et lille delphi program (Delphi 4!) som skal kunne indlæse fra en CSV-fil (komma sepereret) ind til nogle edit-felter. Hvordan dælen gør jeg det nemmest?? der er kun én linie i filen og kunne f.eks se sådan ud. Carsten;Pedersen;18;4700;Næstved
procedure TForm1.Button1Click(Sender: TObject); var fil: textfile; counter: integer; str: string; ch: char; begin if (Opendialog1.Execute) then begin AssignFile(fil, Opendialog1.FileName); reset(fil); counter := 1; str := ''; while not eof(fil) do begin read(fil, ch); if (ch = ';') then begin FyldEdit(counter, str); inc(counter); str := ''; end else begin str := str + ch; end; end; // sidste felt må ikke smutte (EOF) if (length(str) > 0) then FyldEdit(counter, str); closefile(fil); end;
end;
procedure TForm1.FyldEdit(nr: integer; str: string); begin case nr of 1: edit1.Text := str; 2: edit2.Text := str; 3: edit3.Text := str; 4: edit4.Text := str; 5: edit5.Text := str; end; end;
Jeg bruger tit en komponent TadvGrid fra TMSsoftware. Den findes som freeware på Tory (http://www.torry.net/vcl/grids/powergrids/acgrdd4.zip). Den "fylder" lidt, men kanon nem at bruge netop til at læse og skrive .csv filer.
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.