Wie kann ich prüfen, ob ein Benutzer einen gültigen Dateinamen eingegeben hat?


Einfach testen, ob eines der folgenden Zeichen im Dateinamen (hier:Filename) enthalten ist:

const
  ShortForbiddenChars : {fuer 8.3-Dateinamen im DOS-Format:}
    set of char=[';','=','+','<','>','|','"','[',']',' ','\',#39];

  LongForbiddenChars : {fuer lange Dateinamen im Win95-Format:}
    set of char=['<','>','|','"','\'];

function TestFilename(Filename : string; islong : boolean) : boolean;
var i : integer;
begin
  result := true;
  if islong then begin
    for i := 1 to length(Filename) do begin
      result := result and not(Filename[i] in LongForbiddenChars);
    end;
  end else begin
    for i := 1 to length(Filename) do begin
      result := result and not(Filename[i] in ShortForbiddenChars);
    end;
  end;
end;
Delphi 1 Delphi 2 Delphi 3 Delphi 4
nicht getestet Version nicht betroffen getestet

siehe auch:

Wie kann ich zu einer Datei den langen zw. kurzen Dateinamen ermitteln?


Delphi FAQ