...
Uppercase(ExtractFileExt....
...
Ja natürlich geht ebenfalls
Wer es denn haben will ändert alles nach
if Uppercase(ExtractFileExt(sImgName)) = '.PNG' then
um
Obwohl diese Funktion letztendlich genau das gleiche tut
gruss
Das Problem ist weniger die eine Zeile, eher der (doppelte) Code an sich. ZB hab ich schon ewig keine 2XX LOC-Methode gesehen. Dabei wurd hier doch immer Clean Code usw für heilig gesprochen.
Hier beispielsweise wird immer wieder
copy(), Uppercase(), length(), ...copy() Uppercase(), ...
aufgerufen.
Dabei könnte man daraus einen kleinen Einzeiler machen, welcher sicherlich performanter und dynamischer ist:
Delphi-Quellcode:
const
SupportedImageTypes: array[0..8] of string = (
'.BMP', '.DIB', '.GIF', '.ICO', '.JPEG', '.JPG', '.PNG', '.TIF', '.TIFF');
function GetImageType(const AImgName: string; out ImageType: string): Boolean;
begin
ImageType := ExtractFileExt(AImgName);
Result := StrUtils.IndexText(ImageType, SupportedImageTypes) > 0;
end;
// Und in der seitenlangen Methode dann nur noch:
if GetImageType(sImgName, ImageType) then