Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambiar & por &amp (https://www.clubdelphi.com/foros/showthread.php?t=67127)

jourdan 30-03-2010 19:25:42

Cambiar & por &amp
 
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

Cita:

Empezado por jourdan (Mensaje 358860)
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

Código Delphi [-]
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;


La franja horaria es GMT +2. Ahora son las 06:12:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi