Przecież Ty w ogóle nie znasz podstaw języka, to jak chcesz ten program napisać?
[dcc32 Warning] Unit1.pas(7): W1005 Unit 'Vcl.FileCtrl' is specific to a platform
Zobacz do tego posta - http://4programmers.net/Forum/1309236
[dcc32 Error] Unit1.pas(35): E2003 Undeclared identifier: 'ListBox1'
Z poziomu globalnej procedury nie masz bezpośredniego dostępu do komponentów formularza; Albo zadeklaruj swoją procedurę wewnątrz klasy okna, albo odnoś się do komponentu na podstawie nazwy obiektu formularza, czyli np. MainForm.ListBox
;
Masz:
procedure ListFiles(const APath: String; AFilesList: TStrings);
var
LFileRec: TSearchRec;
begin
AFilesList.Clear();
if FindFirst(APath + '*.txt', faAnyFile, LFileRec) = 0 then
try
repeat
AFilesList.Add(LFileRec.Name);
until FindNext(LFileRec) <> 0;
finally
FindClose(LFileRec);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
LDirectory: String;
begin
if SelectDirectory('Select directory', LDirectory) then
ListFiles(IncludeTrailingPathDelimiter(LDirectory), ListBox1.Items);
end;