also hier ist eine funktion die einfach einen ordner nach erweiterungen durchsucht, findet der eine erweiterung bricht er ab, natürlich kannst noch einwenig umändern zb. um die gefundenen dateien in einer stringlist zu speichern
Delphi-Quellcode:
// uses Windows;
function IstErweiterungImOrdner(Pfad, Erweiterung: String): Boolean;
var
lpFindFileData: TWIN32FindData;
hFindFile: THandle;
begin
Result := False;
if (Erweiterung = '') or (Pfad = '') then Exit;
if (Erweiterung[1] <> '.') then Erweiterung := '.' + Erweiterung;
Pfad := IncludeTrailingBackslash(Pfad);
Pfad := Pfad + '*.*';
ZeroMemory(@lpFindFileData, sizeof(TWIN32FindData));
hFindFile := FindFirstFile(PChar(PFad), lpFindFileData);
if (hFindFile <> 0) and (hFindFile <> INVALID_HANDLE_VALUE) then
begin
repeat
with lpFindFileData do
begin
if (dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY = 0) then
begin
if (String(cFilename) <> '.') and (String(cFilename) <> '..') then
begin
if UpperCase(Erweiterung) = UpperCase(ExtractFileExt(String(cFilename))) then
begin
Result := True;
break;
end;
end;
end;
end;
until not Windows.FindNextFile(hFindFile, lpFindFileData);
Windows.FindClose(hFindFile);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
if IstErweiterungImOrdner('c:\', '.exe') then
ShowMessage('exe dateien sind im ordner c:\ vorhanden!');
end;