Ich habe mir extra dazu eine Funktion geschrieben, die es mir ermöglicht den Dateinamen zu überprüfen:
Wie ich sehe verwendest du
Unicode :/
Nun müßte man nur noch den kompletten Pfad überprüfen.
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
// Dateiname auf Gültigkeit überprüfen
////////////////////////////////////////////////////////////////////////////////
function IsFileName(FileName: String): Boolean;
const ForbiddenChars = ['"', '<', '>', '|', '*', '/', '\', '?']; // verbotene Zeichen
var i: Integer; p: PChar;
begin
Result := False;
if FileName <> '' then // Name darf nicht leer sein
begin
i := Length(FileName);
if FileName[i] <> '.' then // letze Zeichen darf kein Punkt sein
begin
p := Pointer(FileName);
repeat if p^ in ForbiddenChars then
Exit;
inc(p);
until p^ = #0;
Result := True;
end;
end;
end;