Remover caracteres inválidos para salvar arquivo no windows

Me deparei com um problema recente onde tive que salvar um arquivo com um nome informado pelo usuário, o problema que este nome pode ter caracteres inválidos, para salvar o arquivo preciso remover os mesmo pois o windows não aceita.

Descobri uma função nativa do Delphi que faz isso, segue abaixo como foi desenvolvido a função.:

  
uses
 System.ioUtils, system.strUtils;

////Remove Caracteres restritos do windows para criação de arquivos
class function TStringUtils.GetValidPath(const APath: String): String;
var
  C: Char;
begin
  Result := '';
  for C in APath do
    if (not C.IsInArray(TPath.GetInvalidFileNameChars)) then
      Result := Result + C;
end;

Comentários

Postagens mais visitadas deste blog

Como fazer leitura de Arquivo CSV e XLS em Delphi

Serializar e desserializar JSON em Delphi de Forma nativa

Arredondamento de valores Formato ABNT