Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: Konstantenausdruck erwartet in Funktionsdekleration

  Alt 21. Mai 2008, 13:05
Zitat von Darko:
Hier mal die Funktion:
Delphi-Quellcode:
procedure FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);
var
  SR: TSearchRec;
begin
....
        if SR.Attr and faDirectory <> faDirectory then
        begin
          // --> eine Datei wurde gefunden
          // der Dateiname steht in SR.Name
          // der vollständige Dateiname (inkl. Pfadangabe) ist
          // RootFolder + SR.Name

          // folgende Zeile schreibt den vollständigen Namen in eine Memo Feld des
          // Formulars Form1
          Hauptform.Memo_Monitorfiles.Lines.Add(RootFolder + SR.Name);
        end;
....
Aha, ich seh' schon, die Prozedure ist doch nicht so toll universell einsetzbar, wie ich gedacht habe.
Hier die Korrekturen:

Delphi-Quellcode:
procedure FindAllFiles(RootFolder: string; list:TStrings; Mask: string = '*.*'; Recurse: Boolean = True);
var
  SR: TSearchRec;
begin
  list.Clear; // Ergebnisliste löschen
....
        if SR.Attr and faDirectory <> faDirectory then
        begin
          // --> eine Datei wurde gefunden
          // der Dateiname steht in SR.Name
          // der vollständige Dateiname (inkl. Pfadangabe) ist
          // RootFolder + SR.Name

          // folgende Zeile schreibt den vollständigen Namen in ein TStrings-Objekt
          list.Add(RootFolder + SR.Name);
        end;
....
Mit dem TStrings-Objekt als zusätzlicher Parameter kannst du die Dateien in jedem Memo, Listbox oder Combobox laden:
Delphi-Quellcode:
FindAllFiles('D:\Test', Memo2.lines);
// oder so
FindAllFiles('D:\delphi', ComboboxPascal.Items, '*.pas');
Andreas
  Mit Zitat antworten Zitat