PDA

Ver la Versión Completa : Cambiar & por &amp


jourdan
30-03-2010, 19:25:42
Que tal foro, alguien sabe si existen componentes para delphi que automaticamente cambien & por &amp, es decir visualmente se vea el & pero en la base de datos eñl valor que se guarde sea el &amp

Y esto mismo para:
En el caso de & usar secuencia &amp
En el caso de " usar secuencia &quot
En el caso de < usar secuencia &lt
En el caso de > usar secuencia &gt
En el caso de ' usar secuencia &apos

Muchas gracias y saludos

Alejandro Jourdan

BrunoBsso
30-03-2010, 20:26:31
No creo que haga falta un componente para un manejo de strings tan básico.
Probá hacerlo vos mismo. No es complicado.

Caro
31-03-2010, 01:08:15
Que tal foro, alguien sabe si existen componentes para delphi que automaticamente cambien & por &amp, es decir visualmente se vea el & pero en la base de datos eñl valor que se guarde sea el &amp


Hola jourdan, estoy suponiendo que te refieres a algún componente de base de datos, puedes hacerlo con el DataSet que estas utilizando y el evento OnGetText del campo que deseas cambiar, ademas de utilizar la función StringReplace


procedure TForm1.......CampoGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
Text := StringReplace(Sender.AsString, '&amp', '&', [rfReplaceAll]);
end;


Saluditos

jourdan
20-04-2010, 00:05:02
Muchas gracias por sus respuestas, estoy usando algo así (si alguien tiene una mejor por favor responder):

var
before, after : string;

begin

before := 'This is & a ''way to < live A > big "life';

Memo1.Lines.Add(before);

after := StringReplace(before, '&', '&amp;',
[rfReplaceAll, rfIgnoreCase]);
before := after;
after := StringReplace(before, '<', '&lt;',
[rfReplaceAll, rfIgnoreCase]);
before := after;
after := StringReplace(before, '>', '&gt;',
[rfReplaceAll, rfIgnoreCase]);
before := after;
after := StringReplace(before, '"', '&quot;',
[rfReplaceAll, rfIgnoreCase]);
before := after;
after := StringReplace(before, '''', '&apos;',
[rfReplaceAll, rfIgnoreCase]);
}


Memo1.Lines.Add(after);
end;