Ja ci dam odpowiedź, ale do języka C++ :> bo mi się tego nie chce przekształcać, a jak ci tak strasznie zależy to sobie przerobisz (ablo ktoś), właściwie to tylko wystarczy zajarzyć o co chodzi :):
Aby do ListBox wstawić wszystkie podkatalogi i pliki z katalogu wpisanego do Edit:
--------------------------------------------------------------------------------
Unit1.h
private:
void ListujKatalogi(String Path);
--------------------------------------------------------------------------------
Unit1.cpp
#include <FileCtrl.hpp>
void TForm1::ListujKatalogi(String Path)
{
TSearchRec sr;
int result;
result = FindFirst(Path + "*.*", faAnyFile, sr);
while (result == 0)
{
if ((sr.Name != ".") && (sr.Name != "..") && ((sr.Attr & faDirectory) > 0))
{
ListujKatalogi(Path + sr.Name + "\\");
}
if ((sr.Name != ".") && (sr.Name != "..") && (!(sr.Attr & faDirectory) > 0))
{
AnsiString NazwaPliku = Path + sr.Name;
NazwaPliku = NazwaPliku.Delete(1, Edit->Text.Length() + 1);
ListBox->Items->Add(NazwaPliku);
}
result = FindNext(sr);
}
FindClose(sr);
}
void __fastcall TForm1::EditKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
if (Key == VK_RETURN)
{
if (DirectoryExists(Edit->Text))
{
ListBox->Items->Clear();
ListujKatalogi(Edit->Text + "\\");
}
}
}
ps. kopiuje to juz [enty] raz :]