Søgning i .txt fil

Tags:    delphi

Jeg skal lave et program som skal søge i en txt fil og så vise den linje den finder...
Hvordan gør jeg det?
Mvh.
Rune Jensen



9 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
function soeg(filnavn, tekst: string): string;
var
filen: textfile;
tmp: string;
begin
assignfile(filen, filnavn);
reset(filen);
while not fof(filen) do
begin
ReadLn(filen, tmp);
if pos(tekst, tmp) <> 0 then
begin
result := tmp;
end;
end;
closefile(filen);
end;

brug den med fx:

edit1 := soeg('c:\\musik.txt', 'abba');

Jeppe Johansen
Jeppesoftware@hotmail.com



Øhhh... Jeg har skiftet filenavn ud med c:\\.... og 'filen' ud med navnet på filen... Men det virker stadig ikke.... Nogen forslag?!?!


Der skal stå eof i stedet for fof, og så ville jeg nok også indsætte

Break;

under result := tmp; for at finde det første resultat og ikke det sidste.

Og så husk at det kun er denne linie du skal ændre i:

edit1 := soeg('c:\\musik.txt', 'abba');

Emil Melgaard
- Admin på gruppen Delphi spilprogrammering.
http://www.delphispilprogram.udvikleren.dk



Jeg skal lave et program som skal søge i en txt fil og så vise den linje den finder...
Hvordan gør jeg det?
Mvh.
Rune Jensen

Hej Rune,

Her er en rutine som finder alle de linier som indeholder et bestemt ord.
Resultatet returneres i en TStringList.
Fold kodeboks ind/udKode 


/Michael.



Hvad med at lukke denne tråd? Nu hvor du har oprettet en magen til?
Hilsen Chadi
Mit lykketal er 2959



Øhhh... Jeg har skiftet filenavn ud med c:\\.... og 'filen' ud med navnet på filen... Men det virker stadig ikke.... Nogen forslag?!?!



øhm ja der var godt nok en hel del fejl i den kode der...

endeligt kode forslag!:

<pre>
function soeg(filnavn, tekst: string): string;
var
filen: textfile;
tmp: string;
begin
assignfile(filen, filnavn);
reset(filen);
while not eof(filen) do
begin
ReadLn(filen, tmp);
if pos(tekst, tmp) <> 0 then
begin
result := tmp;
break;
end;
end;
closefile(filen);
end;
</pre>

brug den med så:

edit1.text := soeg('c:\\musik.txt', 'abba');

Jeppe Johansen
Jeppesoftware@hotmail.com

[Redigeret d. 28/10-03 08:54:58 af Jeppe]



Hmmm.... Ka stadig ik får det til at virke... Nogen der ved hvorfor? Den kommer bar med en fejlmeddelse når jeg kører det....



Hmmm.... Ka stadig ik får det til at virke... Nogen der ved hvorfor? Den kommer bar med en fejlmeddelse når jeg kører det....


Kan du ikke sige hvilken fejl det er?

Emil Melgaard
- Admin på gruppen Delphi spilprogrammering.
http://www.delphispilprogram.udvikleren.dk



Kan jeg ikke få en komplet kode hvor der søges i filen c:\\hu.txt og der søges efter det der er indtastet i en edit box?



t