{ Private declarations }
function AddFile(FileMask: string; FFileAttr:DWORD): Boolean;
Объяви эту процедуру так же и потом нажми клавиши Ctrl+Shift+C и Delphi создаст заготовку для будущей процедуры:
function TForm1.AddFile(FileMask: string; FFileAttr:DWORD): Boolean;
begin
end;
В эту заготовку напиши следующее:
function TForm1.AddFile(FileMask: string; FFileAttr:DWORD): Boolean;
var ShInfo: TSHFileInfo; attributes: string; FileName: string; hFindFile: THandle; SearchRec: TSearchRec;
function AttrStr(Attr: integer): string;
begin Result := ''; if (FILE_ATTRIBUTE_DIRECTORY and Attr) > 0 then Result := Result + ''; if (FILE_ATTRIBUTE_ARCHIVE and Attr) > 0 then Result := Result + 'A'; if (FILE_ATTRIBUTE_READONLY and Attr) > 0 then Result := Result + 'R'; if (FILE_ATTRIBUTE_HIDDEN and Attr) > 0 then Result := Result + 'H'; if (FILE_ATTRIBUTE_SYSTEM and Attr) > 0 then Result := Result + 'S';
end;
begin
ListView1.Items.BeginUpdate;
ListView1.Items.Clear;
Result := False;
hFindFile := FindFirst(FileMask, FFileAttr, SearchRec);
if hFindFile <> INVALID_HANDLE_VALUE then
try
repeat
with SearchRec.FindData do
begin
if (SearchRec.Name = '.') or (SearchRec.Name = '..') or
(SearchRec.Name = '') then continue;
FileName := SlashSep(Edit1.Text, SearchRec.Name); SHGetFileInfo(PChar(FileName), 0, ShInfo, SizeOf(ShInfo),