ďťż

Ładny brzuch

Załóżmy, że potrzebuję do ListBox-a wczytać listę plików z okreslonego katalogu, np 'GRUPY' ale tylko te z rozszerzeniami *.grp, ponadto rozszerzeń ma nie być w ListBox-ie - tylko same nazwy plików. Żeby tego było mało wszystko ma być posortowane po nazwach rosnąco.
Niezła zagwostka. Kto poradzi?

Perpetum
_________________________________________________________________
Wiedz, że odpowiadając na moje (pewnie głupie) pytania "ratujesz" mi życie !!! :-)



cytat:Perpetum napisał:

Załóżmy, że potrzebuję do ListBox-a wczytać listę plików z okreslonego katalogu, np 'GRUPY' ale tylko te z rozszerzeniami *.grp, ponadto rozszerzeń ma nie być w ListBox-ie - tylko same nazwy plików. Żeby tego było mało wszystko ma być posortowane po nazwach rosnąco.
Niezła zagwostka. Kto poradzi?

Powinieneś skorzystać z funkcji FindFirst i FindNext.
Przeszukują one wskazany katalog w poszukiwaniu plików o określonej nazwie i atrybutach. Informacje te podawane są tylko przy pierwszym szukaniu - w funkcji FindFirst - przy odnajdywaniu kolejnych plików korzystając z funkcji FindNext podaje się już tylko rekord do którego mają zostać zapisane wyniki.
W razie wątpliwości możesz ustawić kursor na którejś z tych funkcji i wcisnąć F1 - to pojawią Ci się odpowiednie informacje.
Co do sortowania to sprawa jest załatwiona automatycznie ;)

Poniżej przykładowy kod realizujący to o co Ci chodzi:
procedure TForm1.Button1Click(Sender: TObject); var FSearchRec  : TSearchRec;    FindResult  : Integer;    Katalog     : String; begin  Katalog := '[i]tu podaj wybrany katalog[/i]';  FindResult := FindFirst(Katalog+'*.grp',faAnyFile+faHidden+faSysFile+faReadOnly,FSearchRec);  try    while FindResult = 0 do      begin        ListBox1.Items.Add(ChangeFileExt(FSearchRec.Name, ''));        FindResult := FindNext(FSearchRec);      end;  finally    FindClose(FSearchRec);  end; end;

ICQ : 245-363-570

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