Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 11-03-2015
Jovalca Jovalca is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Madrid - España
Posts: 30
Poder: 0
Jovalca Va por buen camino
Hola de nuevo Nelson.

Otra vez, gracias por tu tiempo.

Entiendo ahora tus ejemplos.
He reescrito el código y ahora creo que está correcto, al menos no hay advertencias ni corta en ningún momento. Este es el código completo.
Código Delphi [-]
function ExtractCode(const Tag, Text: String): string;
var
  StartPos, EndPos: integer;
begin
  Result:= '';
  StartPos:= Pos('<' + Tag, Text);
  EndPos:= Pos('<' + '/' + Tag + '>', Text);
  if (StartPos > 0) and (EndPos > StartPos) then
    Result:= Copy(Text, StartPos, EndPos - StartPos + Length(Tag) + 3);
end;   

procedure TForm1.StartClick(Sender: TObject);
var
  URL: string;
  SearchParams: string;
  httpClient: THTTPSend;
  Page: TMemoryStream;
  Line: integer;
begin
  URL:= 'http://webpage.com';
  SearchParams:= SearchBox.Text;
  httpClient:= THTTPSend.Create;
  if httpClient.HTTPMethod('GET', (URL+SearchParams)) then
    Page:= TMemoryStream.Create;
    httpClient.Document.SaveToStream(Page);
    httpClient.Free;
    Page.Position:=0;
    PageStrings:= TStringList.Create;
    PageStrings.LoadFromStream(Page);
    Page.Position:=0;
    Memo1.Lines.LoadFromStream(Page);
    Line:= 0;
    while Line <= PageStrings.Count -1 do
      begin
        Memo2.Lines.Add(ExtractCode('tr',PageStrings[Line]));
        Line:= Line+1;
      end;
end;
He hecho una prueba con este html en vez de cargar la página.

Código:
<t>115451</t><t>fgfdgdfg<dfg/tdfdsf>fdgfdnkjghrehiu4yi5yuihgfjdrgjkbdfnjgkndfjkngjkndfkjgnkjdfnjkgjkdfngjkdnfjkgkjdfngh<t>45345456gdf</t><t>wwwwwwwwwwwwwwwww</t>



<t>00000000</t><t>534fdgfd45345</t><t>gdfdfg</t>

<t>24981vvvvvvvvv</t>       <t>21f5f1eeeeeeeeee</t>

<t>24981vvvvvvvvv</t> <t>21f5f1eeeeeeeeee</t>
El resultado es el siguiente:

Código:
<t>115451</t>
<t>115451</t>
<t>115451</t>
<t>115451</t>
<t>115451</t>
<t>115451</t>
<t>115451</t> 

// El primer valor repetido 7 veces.
En cambio si cargo la pagina completa, el resultado solo se muestra una vez, pero siempre es el primero y no carga mas.

No se, quizá pueda ser algo relacionado con el formato de html? Es que parece como si no incrementara el indice y parara nada mas encontrar la primera.

Yo sigo probando y probando, pero si se te ocurre alguna cosa, te lo agradecería.

Gracias.

Última edición por nlsgarcia fecha: 11-03-2015 a las 20:15:39. Razón: Sintaxis Delphi
Responder Con Cita
 



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
Consulta SQL devuelve valor erroneo satelit SQL 6 18-04-2014 19:40:59
Store Procedure solo devuelve un registro Rockin Firebird e Interbase 2 17-10-2011 18:43:31
RecNo devuelve valor -1 jandok238 MySQL 1 27-11-2009 22:01:23
Uso de SUSPEND; Solo cuando el SP devuelve valores Paoti Firebird e Interbase 1 27-05-2006 07:16:57
Select Max siempre devuelve valor FernanGil Conexión con bases de datos 3 06-10-2003 15:55:36


La franja horaria es GMT +2. Ahora son las 02:43:07.


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