Thema: Delphi If-Anweisung mit "in"

Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: If-Anweisung mit "in"

  Alt 20. Jan 2005, 10:43
Wenn wir schon mal dabei sind, dann trage ich auch gerne meine Lösung vor, wie ich die gerne nutze. In diesem Fall erweitert, da z.B. JPEGs verschiedene Endungen haben können.
Delphi-Quellcode:
type
  // bekannte Dateitypen
  TFileType = (ftUnknown, ftJpg, ftGif, ftBmp);

type
  // Assoziation zw. Dateiendung und Dateitype
  TFileExt = record
    Ext: String[5];
    FileType: TFileType;
  end;

const
  // Liste bekannter Assoziationen
  FILE_TYPES: array[0..4] of TFileExt = (
    (Ext: 'jpg'; FileType: ftJpg),
    (Ext: 'jpe'; FileType: ftJpg),
    (Ext: 'jpeg'; FileType: ftJpg),
    (Ext: 'gif'; FileType: ftGif),
    (Ext: 'bmp'; FileType: ftBmp)
  );

function GetFileType(FileName: String): TFileType;
var
  lExt: String;
  I: Integer;
  Res: TFileType;
begin
  Res := ftUnknown;
  lExt := AnsiLowerCase(ExtractFileExt(FileName));
  for I := Low(FILE_TYPES) to High(FILE_TYPES) do
    if FILE_TYPES[I].Ext = lExt then
    begin
      Res := FILE_TYPES[I].FileType;
      Break;
    end;
  Result := Res;
end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat