[ Pascal / FPC ] Jak wypisać pliki z katalogu

0

Hej!

Używam FPC na Mac OS X-ie.

Jakiej procedury/funkcji mogę użyć, aby wypisać dostępne w danym katalogu pliki?
Jak dotąd posiłkowałem się FindFirst, FindNext i FindClose z modułu SysUtils, ale każdy plik musial mieć w sobie coś charakterystycznego (np rozszerzenie).

Ja natomiast chcę mieć np w tablicy stringów nazwy wszystkich plików z danego katalogu...

Jak?

Pozdr.
Dawid, MacDada

0

ech.. a naprawde wierzylem ,ze ludzie chociaz staraja sie szukac... nie postarales sie...
mamy tu na 4programmers taki super artykul autorstwa Adama Boducha o wyszukiwaniu plikow co nie? :)

http://4programmers.net/Delphi/Artyku%C5%82y/Wyszukiwanie_plik%C3%B3w

a tam jest fajny kod, przykladowo:

procedure TForm1.Button1Click(Sender: TObject);
var
  SR : TSearchRec;
  Found : Integer; // liczba znalezionych plikow
begin
  Found := FindFirst('C:\*.*', faAnyFile, SR); // odnajdz
  while (Found = 0) do // dopoki liczba znalezionych plikow nie
// bedzie rowna 0
  begin
    Memo1.Lines.Add('C:' + SR.Name); // dodaj do Memo znaleziony plik
    Found := FindNext(SR); // szukaj dalej
  end;
  FindClose(SR); // zakoncz wyszukowanie
end;

jak widzisz wyszukuje rozszerzenie . co oznacza ze znajdzie Ci WSZYSTKO co w tym katalogu jest... umiesc sobie memo1 i wypisze CI sie wszystko co jest w katalogu...

trudno poczytać? Wkoncu to jest jakas biblioteka wiedzy :)

0
york_daro napisał(a)

ech.. a naprawde wierzylem ,ze ludzie chociaz staraja sie szukac... nie postarales sie...
mamy tu na 4programmers taki super artykul autorstwa Adama Boducha o wyszukiwaniu plikow co nie? :)

http://4programmers.net/Delphi/Artyku%C5%82y/Wyszukiwanie_plik%C3%B3w

a tam jest fajny kod, przykladowo:

procedure TForm1.Button1Click(Sender: TObject);
var
  SR : TSearchRec;
  Found : Integer; // liczba znalezionych plikow
begin
  Found := FindFirst('C:\*.*', faAnyFile, SR); // odnajdz
  while (Found = 0) do // dopoki liczba znalezionych plikow nie
// bedzie rowna 0
  begin
    Memo1.Lines.Add('C:' + SR.Name); // dodaj do Memo znaleziony plik
    Found := FindNext(SR); // szukaj dalej
  end;
  FindClose(SR); // zakoncz wyszukowanie
end;

jak widzisz [b]wyszukuje rozszerzenie . co oznacza ze znajdzie Ci WSZYSTKO[/b] co w tym katalogu jest... umiesc sobie memo1 i wypisze CI sie wszystko co jest w katalogu...

trudno poczytać? Wkoncu to jest jakas biblioteka wiedzy :)

noob!
wyszuka wszystko co ma kropke=ma rozszezenie
jak chcesz all pliki to zamien na samo '*'

0

wiesz ze bez tego nooba Twoja wypowiedz wydalaby sie milsza?
Mam prawo popelniac bledy jak kazdy... poprawiaj - tez sie naucze, ale uwierz mi ze noobem nie jestem :)

0

o ja też o tym nie pomyślałem nigdy :P jak używałem tej procki :)

0

a zadziwię Ciebie drogi, noobowaty kolego gruby gnoju.... bo przed chwila sprawdzilem nawet :)
i wyszukiwanie . rowniez powoduje wyswietlenie plikow bez rozszerzenia (dobrym przykladem sa katalogi, ale zrob sobie w C:\ pliki bez rozszerzenia i uzyj dokladnie tej procedury ktora wkleilem) :)

oplaca sie sprawdzac :)

0

Dzięki bardzo chlopaki ;)
Patrzyłem FAQ Pascala, a nie Delphi, dlatego nie znalazłem tego artykułu, więc nie jest tak, że sam sobie pomóc nie chciałem (już nie wspomnę o tym, że przez godzinę przeszukiwałem dokumentację FPC ;)).

Myślałem, że jest coś prostego do listowania zawartości katalogu, ale widzę, że pozostaje tylko wyszukiwanie...

Dzięki jeszcze raz, zaraz będę tego próbował.

1 użytkowników online, w tym zalogowanych: 0, gości: 1