Alex Duschek
möp
Ich hab hier eine leicht abgewandelte Form einer Suchfunktion aus dem Easy Helper...
In Zeile 16 werden Dateiendungen überprüft. Da will ich Änderungen vornehmen,allerdings müssen jetzt etwa 30 Dateiendungen überprüft werden und ich will eigentlich nicht alles mit "if..." machen. Wie kann ich das geschickt lösen?
Code:
procedure GetFilesInDirectory(Directory: String; List: TStrings);
procedure ScanDir(const Directory: String; List: TStrings);
var
SR: TSearchRec;
ext: String;
begin
if FindFirst(Directory + '*', faAnyFile, SR) = 0 then try
repeat
if (SR.Name <> '.') and (SR.Name <> '..') then
begin
if (SR.attr and faDirectory) = faDirectory then
ScanDir(Directory + SR.Name + '\', List)
else begin
ext := LowerCase(ExtractFileExt(SR.Name));
if(ext ='.jpeg')or(ext='.jpg')or(ext='.bmp')or(ext='.gif')or(ext='.emf')or(ext='.wmf')or(ext='.ico') then
List.Add(Directory + SR.Name)
end;
end;
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
begin
List.BeginUpdate;
try
List.Clear;
if Directory = '' then Exit;
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
ScanDir(Directory, List);
finally
List.EndUpdate;
end;
end;