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
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;
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;
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.