Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: FileListBox ohne endung

  Alt 22. Jul 2007, 16:25
Hallo Sascha,

versuche gar nicht erst die Erweiterung der Dateinamen zu entfernen. Die FileListBox zeigt die Dateien selbst an und es gibt keine Einstellung um die Anzeige der Erweiterung zu unterbinden. Wenn die FileListBox nicht gefällt, dann verzichte besser ganz darauf. Nimm eine ListBox und fülle sie selbst:

Delphi-Quellcode:
type
  TFindFilesOption = (ffoExcludePath, ffoExcludeExt);
  TFindFilesOptions = set of TFindFilesOption;

function FindFiles (
  const fileExpr: String; // vollständiger Dateiname mit wildcards
  files: TStrings; // Ergebnisliste
  options: TFindFilesOptions = [] // Stdandardanzeige mit Pfad und Erweiterung
): Boolean; // Erfolgreich bei True
var
  sr: TSearchRec;
  path: string;
  extWanted: Boolean;
begin
  Result := True;
  files.Clear;
  files.BeginUpdate;
  if ffoExcludePath in options
    then path := ''
    else path := ExtractFilePath(fileExpr);
  extWanted := not (ffoExcludeExt in options);
  if FindFirst(fileExpr, faArchive, sr) = 0 then
  begin
    repeat
      if extWanted
        then files.Add(path + sr.Name)
        else files.Add(ChangeFileExt(path + sr.Name, ''));
    until FindNext(sr) <> 0;
    FindClose(sr);
  end else Result := False;
  files.EndUpdate;
end;
Aufrufen kannst du das so:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
begin
  FindFiles('C:\Media\*.mp3', ListBox.Items, [ffoExcludePath, ffoExcludeExt]);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat