Hallo!!!!!!!!!!!!!
Ich möchte von einer CD die
gesamten Dateien mit Pfad in eine Tlistbox einfügen.
Ich habe mir schon was zurecht gebastelt, aber das funktioniert noch nicht so ganz.
Es liest nur die oberen Ordner und Dateien ein, aber keine Unterverzeichnisse mit Dateien.
Delphi-Quellcode:
procedure filllist(Folder: string; sl: TStrings);
var
Rec : TSearchRec;
begin
sl.Clear;
if SysUtils.FindFirst(Folder + '*.*', faAnyFile, Rec) = 0 then
try
repeat
sl.Add(Rec.name );
until SysUtils.FindNext(Rec) <> 0;
finally
SysUtils.FindClose(Rec);
end;
end;
function BrowseDialog(const Title: string; const Flag: integer): string;
var
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
Result:='';
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
with BrowseInfo do begin
hwndOwner := Application.Handle;
pszDisplayName := @DisplayName;
lpszTitle := PChar(Title);
ulFlags := Flag;
end;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
Result := IncludeTrailingBackslash(TempPath);
GlobalFreePtr(lpItemID);
end;
end;
procedure TForm1.readClick(Sender: TObject);
var
S:string;
begin
s := BrowseDialog('Choose for all files', BIF_RETURNONLYFSDIRS);
filllist(s,listbox.Items );
end;
Könnt ihr mir helfen??????????