15. marts 2002 - 11:19
Der er
3 kommentarer og
1 løsning
Skrive til / læse fra kommasepareret fil.
Hej alle.
Er der nogen, som kan fortælle mig, hvordan man skriver til og læser fra en kommasepareret fil.
Eks:
Indhold i kommasepareret fil:
beskrivelse, vægt, antal
Disse oplysninger skal over i et stringgrid eller lignende.
På forhånd tak.
Al.
15. marts 2002 - 11:22
#1
Der er flere mulighedder, bla. kan du bruge en table og sætte typen til ASCII, men du kan også bare læse den ind i en stringlist evt. kan du bruge commatext funtionen. Men det er lidt en smags sag hvilken metode du skal bruge
nca
Juniormester
15. marts 2002 - 11:29
#2
Her er et eksempel fra en tabulatorsepararet fil:
while not eof(F1) do begin
Readln(f1,s);
// Pos 1
tabp:=Pos(#9,S);
Date:=Copy(s,1,tabp-1);
if Start then begin
StartDato:=Copy(Date,1,Pos(' ',Date)-1);
Start:=False;
end;
Delete(s,1,tabp);
for x:=1 to 3 do begin
tabp:=Pos(#9,S);
Delete(s,1,tabp);
end;
//Pos 5
tabp:=Pos(#9,S);
Virustype:=Copy(s,1,tabp-1);
Delete(s,1,tabp);
for x:=1 to 2 do begin
tabp:=Pos(#9,S);
Delete(s,1,tabp);
end;
//Pos 8
tabp:=Pos(#9,S);
Maskine:=Copy(s,1,tabp-1);
Delete(s,1,tabp);
for x:=1 to 2 do begin
tabp:=Pos(#9,S);
Delete(s,1,tabp);
end;
//Pos 11
tabp:=Pos(#9,S);
Virusnavn:=Copy(s,1,tabp-1);
//Temp:=date+' - '+Virustype+' - '+Maskine+' - '+Virusnavn;
lbVira.Items.Add(VirusNavn);
lbSkoler.Items.Add(copy(Maskine,1,3));
lbViraTyper.Items.Add(Virustype);
end;
nca
Juniormester
16. marts 2002 - 09:20
#4
Med StringList objektet kan opgaves klares på flg. måde:
var
StringList: TStrings;
F1: Textfile ;
S: String;
AntalElementer: Integer;
begin
AssignFile(F1,'C:\KommaTest.txt');
Reset(F1);
StringList := TStringList.Create;
while not eof(F1) do begin
Readln(F1,s);
with StringList do begin
clear
Add('');
Commatext:=S;
AntalElementer:=Count;
// Her kan du så plukke de enkelte elementer
// Navn:=Stringlist[0];
// Adresse:=StringList[1];
// ...
end;
end;
StringList.free;
Closefile(F1);
end;