Ver Mensaje Individual
  #10  
Antiguo 12-03-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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 Jovalca.
Cita:
Empezado por Jovalca Ver Mensaje
Crees que el fallo puede estar en la función de extraer?
Yo creo que si, fijate de este modo:
Código:
...
uses StrUtils;

procedure ExtractText(const Tag, Text: string; TS: TStrings);
var
  p1, p2: Integer;
  sufijo, prefijo: string;
begin
  sufijo := '<' + Tag;
  prefijo:= '</' + Tag + '>';
  p1:= Pos(sufijo, Text);
  repeat
    p2:= PosEx(prefijo, Text, p1 + 1);
    if p2 > p1 then
      TS.Add(Copy(Text, p1, p2 - p1 + Length(prefijo)));
    p1:= PosEx(sufijo, Text, p2);
  until p1 < p2;
end;
Usando la cadena que pusiste en el mensaje #5,
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: AnsiString;
begin
  s:= '<t>115451</t>'+
      '<t>fgfdgdfg<dfg/tdfdsf>fdgfdnkjghrehiu4yi5yuihgfjdrgjkbdfnjgkndfjkngjkndfkjgnkjdfnjkgjkdfngjkdnfjkgkjdfngh<t>45345456gdf</t>'+
      '<t>wwwwwwwwwwwwwwwww<1/t>'+
      '<t>00000000</t>'+
      '<t>534fdgfd45345</t>'+
      '<t>gdfdfg</t>'+
      '<t>24981vvvvvvvvv</t>'+
      '     <t>21f5f1eeeeeeeeee</t>'+
      '<t>24981vvvvvvvvv</t> <t>21f5f1eeeeeeeeee</t>';
  Memo1.Clear;
  ExtractText('t', s, Memo1.Lines);
end;
se obtiene este resultado:



Saludos

Nota: Usé etiquetas code para evitar la desaparición de texto por las secuencias <t>, </t>.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 13-03-2015 a las 09:27:46. Razón: quitar comentario
Responder Con Cita