Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Eliminar cadena con salto de linea (https://www.clubdelphi.com/foros/showthread.php?t=73456)

Miguel89 24-04-2011 20:30:48

Eliminar cadena con salto de linea
 
1 Archivos Adjunto(s)
Hola, llevo poco tiempo con delphi y me he encontrado con un problema.. estoy intentando eliminar una cadena de un TMemo pero la linea se elimina solo en parte, ya me he leido bastantes post sobre problemas para eliminar cadenas pero ninguna esta funcionando conmigo. Os dejo el codigo por si alguno puede guiarme hacia la solucion, la cadena que quiero eliminar es desde la palabra "CONFIGURATION" hasta el siguientes ")" que encuentra. Gracias.

ecfisa 25-04-2011 01:07:09

Hola Miguel89 y bienvenido a los foros de Club Delphi.

Probá de este modo:
Código Delphi [-]
procedure EliminarTexto(Memo: TMemo; const Cad1,Cad2: string);
var
  i,Des: Integer;
begin
  Memo.SetFocus;
  Des:= Pos(Cad1, Memo.Lines.Text);
  Memo.SelStart:= Des;
  i:= Des;
  while Memo.Lines.Text[i] <> Cad2 do Inc(i);
  Memo.SelLength:= i-Des-1;
  Memo.SelText:= '';
end;

Un ejemplo con tu texto:
Código Delphi [-]
     EliminarTexto(Memo1,'(''CONFIGURATION', ')');
Resultado:
Cita:

INSERT INTO CONFIG VALUES
('UPDATE','0072616e636865732f6c61737430392f7371007e000affffffff0000000000000000000000007400316874747 03a2f2f7570646174653465782e6a646f776e6c
6f616465722e6f72672f6272616e636865732f6c61737430392f787400064252414e43487078')
INSERT INTO CONFIG VALUES
()
INSERT INTO CONFIG VALUES('MAS DATOS',')

Un saludo.

Miguel89 25-04-2011 01:17:13

viendo que de momento nadie ha respondido me extiendo un poco mas para ver si lo dejo mas claro.

el memo1 contiene una cadena que quiero eliminar, pero al ser bastante larga la cadena y no contener espacios me da un salto de linea (no se que tipo de salto) ya que probe a quitar los saltos de linea + retorno #13#10 y esa linea continuo igual

ejemplo de algo similar al contenido del memo

Código:

INFO=0)
CONFIGURATION=0000000000000000000000000000000salto
000000000000000000000000000000000000000000000salto
00000000000000000000000000000000000000000000fin)
WEB=0)

con un

Código Delphi [-]
Delete (Cadena,Pos('CONFIGURATION',Cadena),Pos(')',Cadena));

deberia de haber sido suficiente a mi entender.. pero elimina solo parte del codigo. Si lo hago de esta manera..

Código Delphi [-]
Delete (Cadena,Pos('CONFIGURATION',Cadena),MaxInt);

Asi si elimina desde donde le digo hasta el final del memo, pero el problema que borra tambien contenido que hace falta.

Alguna solucion antes de volver loco?

Miguel89 25-04-2011 01:20:20

gracias ecfisa!! el codigo funciona perfectamente. encantado de encontrar por aqui a gente asi, un saludo.


La franja horaria es GMT +2. Ahora son las 08:50:21.

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