Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-09-2012
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
buscar mas de una palabra en memo y eliminar

amigos queria saber si se puede buscar mas de una palabra a la vez en un memo y eliminar
se que se realiza de esta forma mas o menos
Código Delphi [-]
 For l:=0 to memo1.Lines.Count - 1 do
 if pos('palabra',memo1.lines[l]) > 0 then
 begin
memo1.Lines.Delete(l);
o debo realizar dos veces el mismo codigo si quiero buscar mas palabras??

lo que quiero hacer es que al cargar texto al memo la palabra 1, palabra 2 y palabra 3 queden siempre al ultimo y el metodo que utilizare es eliminarlas y agregarlas al final

saludos!!
Responder Con Cita
  #2  
Antiguo 04-09-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código Delphi [-]
Memo1.Text:= StringReplace(Memo1.Text, 'palabra','',[rfReplaceAll]);

Saludos.
Responder Con Cita
  #3  
Antiguo 04-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jonydread.

La verdad no veo para nada claro que es lo que deseas hacer.

Si buscas eliminar una palabra del texto del memo, la solución que te dió escafandra es la más adecuada. Y del mismo modo lo sigue siendo, si deseas agregar la palabra eliminada al final del memo.

Pero por otro lado, mirando el código que pusiste, dá la impresión que quisieras eliminar las líneas que contengan a la palabra y agregarlas al final (como comentas en la última parte de tu mensaje).

Si así fuera, podrías hacer:
Código Delphi [-]
procedure BorradasAlFondo(Texto: TStrings; Palabras: array of string);
var
  i,j: Integer;
  s  : string;
begin
  for i:= Low(Palabras) to High(Palabras) do
    for j:= 0 to Texto.Count -1 do
      if Pos(Palabras[i], Texto[j]) <> 0 then
      begin
        Texto.Add(Texto[j]);
        Texto.Delete(j);
      end;
end;

Llamada:
Código Delphi [-]
  BorradasAlFondo(Memo1.Lines,['palabra_1','palabra_2','palabra_3',...'palabra_N']);

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-09-2012 a las 11:05:25.
Responder Con Cita
  #4  
Antiguo 05-09-2012
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
gracias por sus respuestas, ecfisa funciono a la perfeccion muchas gracias!!!
Responder Con Cita
  #5  
Antiguo 06-09-2012
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
amigo ecfisa con el
procedure BorradasAlFondo
como puedo hacerlo si una de las palabras no existe la agrege de igual manera
por ejemplo
Cita:
mi texto texto texto
texto
palabra 3
y quede
Cita:
mi texto texto texto
texto
palabra 1
palabra 2
palabra 3
he probado asi bueno de muchas formas pero es el mismo resultado o peor
Código Delphi [-]
  for i:= Low(Palabras) to High(Palabras) do
    for j:= 0 to Texto.Count -1 do
      if Pos(Palabras[i], Texto[j]) <> 0 then
      begin
      Texto.Delete(j);
      Texto.Add(Palabras[i]);

       end;

muchas gracias!!

Última edición por jonydread fecha: 06-09-2012 a las 04:33:38.
Responder Con Cita
  #6  
Antiguo 06-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por jonydread Ver Mensaje
amigo ecfisa con el procedure BorradasAlFondo
como puedo hacerlo si una de las palabras no existe la agrege de igual manera ...
Hola jonydread.

Si no te entiendo mal, sería:
Código Delphi [-]
procedure BorradasAlFondo(Texto: TStrings; Palabras: array of string);
var
  i,j: Integer;
  s  : string;
  Found: Boolean;
begin
  for i:= Low(Palabras) to High(Palabras) do
  begin
    Found := False;
    for j:= 0 to Texto.Count -1 do
      if Pos(Palabras[i], Texto[j]) <> 0 then
      begin
        Found:= True;
        Texto.Add(Texto[j]);
        Texto.Delete(j);
      end;
    if not Found then
      Texto.Add(Palabras[i]);
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 07-09-2012
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
muchas gracias nuevamente ya estaba medio enredado

saludos!
Responder Con Cita
Respuesta



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 palabra repetidas ZayDun Varios 4 13-01-2011 09:05:32
Buscar palabra en segmetos de una cadena ingabraham Varios 1 22-12-2010 14:46:18
Buscar una palabra en un variable text La__X SQL 2 10-06-2007 11:09:02
Buscar un palabra dentro de una cadena eyscom Varios 6 29-07-2006 00:05:05
Buscar palabra en una String diegofhernando Varios 10 23-05-2003 02:33:13


La franja horaria es GMT +2. Ahora son las 00:20:18.


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