unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Memo1: TMemo;
[color=#cc0000]
procedure FindAllFiles(RootFolder:
string; Mask:
string = '
*.*'; Recurse: Boolean = True);[/color]
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
SR: TSearchRec;
implementation
{$R *.dfm}
procedure FindAllFiles(RootFolder:
string; Mask:
string = '
*.*'; Recurse: Boolean = True);
var
SR: TSearchRec;
begin
if AnsiLastChar(RootFolder)^ <> '
\'
then
RootFolder := RootFolder + '
\';
if Mask = '
'
then
Mask := '
*.*';
if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0
then
try
repeat
if SR.Attr
and faDirectory = faDirectory
then
begin
if Recurse
then
begin
// --> ein Verzeichnis wurde gefunden
//* *der Verzeichnisname steht in SR.Name
//* *der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
//* * * *RootFolder + SR.Name
if (SR.
Name <> '
.')
and (SR.
Name <> '
..')
then
FindAllFiles(RootFolder + SR.
Name, Mask, Recurse);
end;
end else 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
Form1.Memo1.Lines.Add(RootFolder + SR.
Name);
end;
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
end.
und der Fehler:
[color=#1100ff][Fehler] Unit1.pas(12): Ungenügende
Forward- oder
External-Deklaration: '
TForm1.FindAllFiles'[/color]