(Gast)
n/a Beiträge
|
Re: Dateiname auf Gültigkeit prüfen
29. Jul 2005, 11:53
Hier wäre meine Variante:
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
// Dateiname auf Gültigkeit überprüfen
////////////////////////////////////////////////////////////////////////////////
function IsFileName(FileName: String): Boolean;
const ForbiddenChars = ['"', '<', '>', '|', '*', '/', '\', '?']; // verbotene Zeichen
const ForbiddenNames: Array[0..22] of String[6] = ('AUX', 'NUL', 'PRN' ,'CON', 'CLOCK$', // verbotene Namen
'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9',
'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9');
var i: Integer;
var p: PChar;
var FileNameU: String;
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;
if (i < 7) and (i > 2) then
begin
FileNameU := UpperCase(FileName);
for i := 0 to High(ForbiddenNames) do
begin
if CompareStr(ForbiddenNames[i], FileNameU) = 0 then
Exit;
end;
end;
Result := True;
end;
end;
end;
//edit: verbotene Namen hinzugefügt
|
|
|