Autor Téma: Zakázané znaky v názvu souborů  (Přečteno 647 krát)

(T)lama

  • Host
Zakázané znaky v názvu souborů
« kdy: 14-12-2005, 17:33:00 »
Jak mám odfiltrovat znaky, které se nesmějí vyskytovat v názvu souboru a jak mam zamezit aby uživatel zadal např. jen mezery? (jde mi hlavně o kódy tečh kláves) Předem díky

Semi

  • Host
Zakázané znaky v názvu souborů
« Odpověď #1 kdy: 14-12-2005, 17:38:00 »
V RX 2.75, v unite FileUtil, je tohle:
Kód: [Vybrat]
function ValidFileName(const FileName: string): Boolean;
  function HasAny(const Str, Substr: string): Boolean;
  var
    I: Integer;
  begin
    Result := False;
    for I := 1 to Length(Substr) do begin
      if Pos(Substr[I], Str) > 0 then begin
        Result := True;
        Break;
      end;
    end;
  end;
begin
  Result := (FileName <> '') and (not HasAny(FileName, '<>"[]|'));
  if Result then Result := Pos('\', ExtractFileName(FileName)) = 0;
end;

Dale nesmi byt v nazvu '?', '*'.

Taky jsem zjistil, ze na Win2k nelze do nazvu adresare procpat '/' ...
Prikazem   mkdir "pokus/1/2"   to vytvori najednou 3 adresare pod sebou. Bez uvozovek to mkdir prohlasi za neplatnou syntaxi...


petr22

  • Host
Zakázané znaky v názvu souborů
« Odpověď #2 kdy: 08-01-2006, 11:12:59 »
taky bych tam dal podminku ze slozka s nazvem con je neplatny nazev adresare ;D