08. november 2003 - 15:48Der er
5 kommentarer og 1 løsning
Læs linje fra stringlist fra et bestemt punkt
Jeg har læst en .txt fil ind i en stringlist, og derfra bruger jeg så: "strteam1 :=slferrari[2];"
Men... i stedet for, at skulle skrive det eksakte linje nummer, hvil jeg gerne have programmet til, at kunne søge efter: ;type *(* = noget tekst den skal ignorere) 7
Og så kopiere teksten 2 linjer under 7 tallet i noget lignende den her: "strteam1 :=slferrari[2];"
Derefter skal den kunne søge efter den næste linje med: ;type *(* = noget tekst den skal ignorere) 7
Og så gentage nummeret fra før.
Er det muligt - og hvordan... Jeg håber, der er nogen som kan svare mig. På forhånd tak, MM
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
procedure TForm1.Button1Click(Sender: TObject); var st, Result : tstringlist; i : integer; begin st := tstringlist.Create; st.LoadFromFile('test.txt');
Result := tstringlist.Create;
for I := 0 to st.Count - 1 do begin if pos(';type', st.Strings[I]) <> 0 then // Fandt ;type if I + 4 <= st.Count - 1 then // Sikker på at der er tekst nok Result.Add(st.Strings[I + 4]); end;
memo1.Lines := Result;
Result.Free; st.Free; end;
Men jeg ved ikke om det kun er hvis der er et 7 tal under type at den skal ud, men det må du jo lige finde ud af.
Det jeg så gerne vil have programmet til er, at: 1. Lede hele filen igennem og når den så finder denne linje (Den skal være ligeglad med alle stjernerne og "DRIVER - JARNO TRULLI": ;type************DRIVER - JARNO TRULLI************************ 7
2. Derfra skal jeg så kunne fortælle den, at den skal gå 2 linjer ned fra 7 og plukke den linje ud og gå 4 linjer ned og plukke den ud osv.
procedure TForm1.Button1Click(Sender: TObject); var st, Result : tstringlist; i : integer; begin st := tstringlist.Create; st.LoadFromFile('test.txt');
Result := tstringlist.Create;
for I := 0 to st.Count - 1 do begin if pos(';type', st.Strings[I]) <> 0 then // Fandt ;type if I + 4 <= st.Count - 1 then // Sikker på at der er tekst nok if st.Strings[I + 1] = '7' then Result.Add(st.Strings[I + 4]); end;
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.