Einzelnen Beitrag anzeigen

UnixX

Registriert seit: 26. Jul 2003
Ort: Unknown
25 Beiträge
 
FreePascal / Lazarus
 
#1

Dateinamen der gesamten CD in die Tlistbox einfügen

  Alt 28. Feb 2004, 19:02
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??????????
  Mit Zitat antworten Zitat