Ver Mensaje Individual
  #1  
Antiguo 24-11-2008
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: abr 2005
Ubicación: colombia-sucre
Posts: 384
Reputación: 20
gulder Va por buen camino
Thumbs up Problema al remplazar una substring dentro de una string

Hola foro como andan espero que bien bueno tengo rato de estar tirándole al siguiente problema y me decidí a compartirlos con ustedes para ver si me ayudan a darle por que sinceramente no he podido:

Tengo en un memo un texto el cual contiene un código BBCODE lo que quiero hacer es remplazar un código BBCODE específico por otro, me explico mejor tengo lo siguiente en un Memo:






Lo quiero cambiar por el siguiente ósea cambiarlo directamente en el texto del memo por este otro BBCODE

Ose que lo que esta dentro del memo quedaría de la siguiente forma



Lo he intentado hacer de la siguiente forma


Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);

function PrimeraOcurrencia(Cadena, Esto, Por: String): String;
  var 
    aPos: Integer;
  begin 
      aPos := Pos(Esto, Cadena);
      Result:= '';

        Result := Result + Copy(Cadena, 1, aPos-1) + Por;
        Delete(Cadena, 1, aPos + Length(Esto)-1);

      Result := Result+Cadena;
  end; 

begin

 Memo1.Text:=PrimeraOcurrencia(Memo1.Text , '[SIZE="' , '[size=' );
 Memo1.Text:=PrimeraOcurrencia(Memo1.Text , '"]' , ']' );

end;


imagen que muestra el memo antes de aplizarle la funcion PrimeraOcurrencia



imagen que muestra el memo despues de aplizarle la funcion PrimeraOcurrencia



se pueden dar cuenta del error que tengo, lo que pasa es que me toca cambiarlo asi como lo planteo en la funcion PrimeraOcurrencia por que el numero que esta dentro del size puede variar y solo quiero que me modifique la informcaion del size no todo los bbcode que contengan el string "] bueno espero que me hayan entendido de todas formas estare aqui pendiente de alguna pregunta

NOTA: me toco colocarlo con imágenes por que si escribo las etiquetas bbcode el foro las interpretaba y no podía haberles explicado
Responder Con Cita