1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
|
unit GUI;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
RFile = record
Name: string;
end;
type
RList = record
Files: array of RFile;
CountFiles: Integer;
end;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
FList: RList;
procedure Exec(Path: string);
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
FList.CountFiles := -1;
Exec('C:\');
end;
procedure TForm1.Exec(Path: string);
var
RecOfFile: TSearchRec;
RecOfDir: TSearchRec;
begin
Path := IncludeTrailingBackslash(Path);
if (FindFirst(Path + '*.*', faAnyFile - faDirectory, RecOfFile) = 0) then
try
repeat
inc(FList.CountFiles);
SetLength(FList.Files, FList.CountFiles + 1);
FList.Files[FList.CountFiles].Name := RecOfFile.Name;
until (FindNext(RecOfFile) <> 0);
finally
FindClose(RecOfFile);
end;
end;
end.
|