Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2008
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: abr 2005
Ubicación: colombia-sucre
Posts: 384
Poder: 19
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
  #2  
Antiguo 24-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Creo que el "Delete" te está borrando la comilla después del 4, es decir 4"], por eso después la primera ocurrencia que encuentra es la del color.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 24-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, también puedes utilizar la función StringReplace.

Código Delphi [-]
 Memo1.Text := StringReplace(Memo1.Text, '[SIZE=' , '[size=',[rfReplaceAll]);
 Memo1.Text := StringReplace(Memo1.Text, 'SIZE]' , 'size]',[rfReplaceAll]);
 Memo1.Text := StringReplace(Memo1.Text, '"' , '',[rfReplaceAll]);

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Buscar substring en string con IndexOf? Belaix Varios 3 12-11-2008 23:22:31
Problema con SUBSTRING Gonbamon Firebird e Interbase 5 17-12-2007 19:50:48
Remplazar un caracter dentro de una cadena Coco_jac Varios 5 01-12-2005 18:36:27
Remplazar un caracter por otro(s) en un string ctronx Varios 2 29-09-2004 01:32:00
cortar string (substring) febito Varios 1 11-08-2004 21:19:56


La franja horaria es GMT +2. Ahora son las 07:15:55.


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
Copyright 1996-2007 Club Delphi