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