Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Capturar datos de un memo (https://www.clubdelphi.com/foros/showthread.php?t=53188)

ZayDun 13-02-2008 16:27:45

Capturar datos de un memo
 
Hola, estoy trabajando con un clientsocket que me muestran el resultado de una pagina en un memo1, el memo1 contiene varios links que me gustaria poder pasar a otro Memo2 o TStringList el problema es que no logro capturar todos los links ya que tan solo se me muestra correctame el primer link y continua mostrando el resto de la pagina en el memo2. espero que me hayais entendido gracias!

jachguate 13-02-2008 17:25:20

No, la verdad no entendí.

¿el problema está en el parser?
Los links son todos aquellos que estén en una etiqueta <a></a> (anchor) y tengan un parámetro "href". Recordá que los links pueden ser relativos, por lo que si no inician con un protocolo, lo mejor será "concatenarlos" a la ruta de la página original (solo la ruta, sin la página), a menos que sean una posición de marca dentro de la misma página: el href inicia con el caracter "#". En ese caso, la concatenación debe hacerse a la cadena completa (incluyendo la página).

Hasta luego.

;)

ZayDun 13-02-2008 17:30:04

El contenido que recibo no esta en href ya que se trata de un link pero no se puede hacer click en el, el contenido del memo es algo asi


Bienvenido a http:\\www.laweb.com aqui podras encontrar

musica: http:\\www.laweb.com\musica
juegos http:\\www.laweb.com\juegos
etc.. http:\\www.laweb.com ...

y lo que me gustaria que copiase las url al memo2.


Saludos!

Neftali [Germán.Estévez] 13-02-2008 17:39:16

Haz un recorrido por el memo y ves quedándote con cada linea:

Código Delphi [-]
  Str := Memo1.Lines.Strings[i];

En cada una de esas líneas busca (por ejemplo) la referencia de "Http:" como inicio del link. Puedes usar para ello la función AnsiPos.

Una vez que tengas la posición basta con que te quedes con la parte final de ese string; Para eso puedes usar la función Copy.


La franja horaria es GMT +2. Ahora son las 14:19:03.

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