Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

terça-feira, 1 de abril de 2014

DELPHI - Corrigindo nome de arquivo - Correcting file name

Reações: 


// Função util para antes de salvar arquivo, verificar se não tem nada de errado no nome.
Function CorrigeNomeDeArquivo(NomeDoArquivo : String) : String;
var
  sNmArquivoA, sNmArquivoB, sNmCaminho, sNmExt : String;
  I : Integer;
Const
  cNovo = '_';
begin
  sNmArquivoA := ExtractFileName(NomeDoArquivo);
  sNmExt      := ExtractFileExt(sNmArquivoA);
  sNmArquivoB := Copy(sNmArquivoA, 1, Pos(sNmExt, sNmArquivoA) - 1);
  sNmCaminho := ExtractFilePath(NomeDoArquivo);
  if Copy(sNmCaminho, Length(sNmCaminho), 1) <> '\' then
    sNmCaminho := sNmCaminho + '\';
  for I := 1 to Length(sNmArquivoB) do
  begin
    Case sNmArquivoB[I] of
      'A'..'Z' : sNmArquivoB[I] := sNmArquivoB[I];
      'a'..'z' : sNmArquivoB[I] := sNmArquivoB[I];
      '0'..'9' : sNmArquivoB[I] := sNmArquivoB[I];
      ' '      : sNmArquivoB[I] := sNmArquivoB[I];
      '.'      : sNmArquivoB[I] := sNmArquivoB[I];
      '-'      : sNmArquivoB[I] := sNmArquivoB[I];
      '+'      : sNmArquivoB[I] := sNmArquivoB[I];
      '_'      : sNmArquivoB[I] := sNmArquivoB[I];
      Else
      sNmArquivoB[I] := cNovo;
    end;
  end;
  Result := sNmCaminho + sNmArquivoB + sNmExt;
end;

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.

Max Gehringer