Autor Beitrag
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Mi 04.02.04 02:37 
Ich hab mal eine lange Variante geschrieben mit der man den DOS Namen prüfen konnte und den Windows 95 Namen. Nachdem ich nie den DOS Parameter benutzt habe, hab ich die Funktion auf Prüfung der Win95 kompatiblen Namen reduziert. Allerdings prüfe ich hier nicht auf die Maxlänge des Dateinamens.

Es wird ein Parameter erwartet:
  • Dateiname mit Erweiterung ohne Pfadangabe

Ergebins ist True, wenn der Name Ok ist und False wenn er nicht ok ist.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
function IsValidFileNameW95(const FileName: String): Boolean;
var
  k: Byte;
begin
  //if Length(FileName) > 255 then Exit;

  Result := True;

  for k := 1 to Length(FileName) do
    if FileName[k] in ['/','\',':','*','"','?','<','>','|'then begin
      Result := False;
      Exit;
    end;
end;


Beispiel:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not IsValidFileNameW95('Ist das ein gültiger Dateiname?.dat'then
    ShowMessage('Kein gültiger Dateiname!'else
    ShowMessage('Dateiname ist gültig!') ;
end;

_________________
Popov