Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
Re: FileListBox ohne endung
23. Jul 2007, 14:40
Ich will es mal versuchen:
Delphi-Quellcode:
//Definition zweier eigener Datentypen, wobei der 2. in der Funktion verwendet wird.
//Dieser kann eine leere Menge, eine Menge mit einer oder beiden Optionen sein.
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;
//Ergebnisliste leeren
files.Clear;
//optische Aktualisierung abschalten
files.BeginUpdate;
//hier wird ausgewertet, ob der Pfad mit angezeigt werden soll
if ffoExcludePath in options
then path := ''
else path := ExtractFilePath(fileExpr);
extWanted := not (ffoExcludeExt in options);
//erste Datei ermitteln
if FindFirst(fileExpr, faArchive, sr) = 0 then
begin
//wenn ein Dateieintrag gefunden wurde, solange weitermachen,
//bis kein weiterer Eintrag mehr kommt
repeat
//auswerten, ob Dateiendung angezeigt werden soll und String
//entsprechend aufbereiten
if extWanted
then files.Add(path + sr.Name)
else files.Add(ChangeFileExt(path + sr.Name, ''));
until FindNext(sr) <> 0;
//Suchhandle wieder freigeben
FindClose(sr);
//kein Eintrag gefunden, Funktionsergebnis auf false setzen
end else Result := False;
//Anzeige aktualisieren
files.EndUpdate;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|
|
Zitat
|