ďťż

Ładny brzuch

Więc tak: Mm kilka folderów i w kazdym jest jeden plik tekstowy. No i tu jest problem. Chcę te pliki przeszukiwać (wpisuję w aplikacji słowo) i ma mi wyswietlić wszystkie linijki z wszystkich plików, w List Boxie, w których dane słowo sie znajduje. Musi omijac wielkość liter. Mam nadzieję, że ktoś mi odpowie :):)



Sprawa ma się tak, że przerobiłem procedurę, którą umiesciłem w FAQ.

1. W Sekcji private deklarujemy procedurę:
procedure Szukaj(katalog: string; const slowo, roz: ShortString);

2. Tak wyglada jej kod:
procedure TForm1.Szukaj(katalog: string; const slowo, roz: ShortString); const ext = '*.*'; //narazie wszytskie pliki var SR: TSearchRec; S: string; //linijka ze słowem plik: TextFile; //plik tekstowy begin   if katalog[length(katalog)] <> '\' then  katalog := katalog + '\'; //dopisanie znaku '/' jesli go nie ma  if FindFirst(katalog + ext, faAnyFile, SR) <> 0 then  EXIT; //jesli nie wyszukano plików to wyjscie z procedury   while FindNext(SR) = 0 do   begin    if ((sr.Attr and faDirectory) <> 0) and ( SR.Name <> '..') then      szukaj(katalog + SR.Name + '\', slowo, roz) //jesli plik jest katalogiem to wchodzimy do niego i w nim szukamy  else //w przeciwnym razie  begin    if (SR.Name <> '..') and (Sr.Name <> '.') and    (lowercase(ExtractFileExt(SR.Name)) = '.' + roz) then    begin //jesli rozszerzenie nam sie zgadza oraz plik nie jest '..' i '.'      AssignFile(plik, katalog + SR.Name); //przypisujemy sciezke do pliku      try       Reset(plik); //otwieamy plik       while not Eof(plik) do //petla       begin        readln(plik, S); //odczytanie linii        if Pos(lowercase(slowo), S) <> 0 then //jesli w linijce znajduje sie szukane słowo          Memo1.Lines.Add(S); //to dodajemy do memo ta linijke       end;      finally       closeFile(plik); //na koniec zamykamy plik      end;    end;  end; Application.ProcessMessages; end; end;

3. A tak ją wywołujemy:
Szukaj('C:\', 'komputer', 'txt');
Naturalnie 'C:\' możemy sobie zmienić, a 'komputer' to słowo jakie musi być w pliku. 'txt' pozostawiamy bez zmian.

Sprawdzałem u siebie - działa w miare dobrze. :)
Użytkownik programista1101 edytował ten post 27 maj 2005, 07:41
Dziękli, działa!! Działa!!
nigdy nie widziałem takiego forum

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •