Trantando String que contenha aspa simples

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (1)

Um erro comum em conversão de banco dados e encontrarmos textos com aspa simples, quando se utiliza query com insert ou updates é fatal, o erro logo aparece, para tratarmos isso utilizaremos uma função onde sera retirada a aspa simples e colocaremos um espaco em branco no lugar para nao degradar tanto o texto

(*Depois de publicado este post recebi um feedback do Felipe que me deu uma outra alternativa mas simples utilizando uma função do proprio delphi, que seria assim;
 
texto := StringReplace('D'+Chr(39)+'agua',Chr(39),' ',[rfReplaceAll]);
 
*)
Function RetiraAspaSimples(Texto:String):String;
var
  n : Integer;
  NovoTexto : String;
begin
  NovoTexto := '';
  for n := 1 to length(texto) do
  begin
    if copy(texto, n,1) <> Chr(39) then
      NovoTexto := NovoTexto + copy(Texto, n,1)
    else
      NovoTexto := NovoTexto + ' ';
  end;
  Result:=NovoTexto;
end;


procedure TForm1.Button1Click(Sender: TObject);
var texto : string;
begin
  texto := 'teste'+Chr(39)+'d';
  ShowMessage(texto);   //mostra o texto com a aspa
  texto := RetiraAspaSimples(texto);  //utiliza a funcao retirar as aspas e substitui por espaco embranco
  ShowMessage(texto); // mostra o testo sem as aspa
end;

 

 
 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?