Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Ops... me temo que también probé de esa forma Al... a lo menos con un "TStringStream"... pero, no funcionó... tal vez porque no sea el "flujo" indicado...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #2  
Antiguo 27-09-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Cita:
Empezado por dec Ver Mensaje
Hola,

Ops... me temo que también probé de esa forma Al... a lo menos con un "TStringStream"... pero, no funcionó... tal vez porque no sea el "flujo" indicado...
Bueno, ya que andas despierto tan temprano , prueba con TMemoryStream y dime cuál es el valor de los dos últimos bytes del flujo.
Responder Con Cita
  #3  
Antiguo 27-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Me temo que no voy a poder hacer lo que me dices Al... no llego a tanto. Lo que es seguro es que haciendo algo así:

Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
var
  t: TMemoryStream;
begin
  t := TMemoryStream.Create();
  try
    IdHTTP1.Get('http://casacimar.com.bo/tarea.html',t);

    {...}

  finally
    t.Free();
  end;
end;

Efectivamente, en "t" contamos con el contenido del archivo que nos interesa: todo el contenido, es decir, que si guardo "t" en un archivo... en este se verá todo el código fuente del documento HTML en cuestión.

Ahora bien... ¿cómo poner en un Memo el contenido de "t"? Ni idea... con "Memo1.Lines.LoadFromStream(t)" no funciona tal como espero..., por ejemplo, aunque, me temo que pasará igual que antes: que el Memo no podrá mostrar más allá de donde se encuentra el problema en el archivo...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 27-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pero hay que decir una cosa... supongamos esto:

Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
var
  t: TStringStream;
begin
  t := TStringStream.Create('');
  try
    IdHTTP1.Get('http://casacimar.com.bo/tarea.html',t);

    if Pos('Copyright ©', t.DataString) <> 0 then
      ShowMessage('Eureka!');

  finally
    t.Free();
  end;
end;

O incluso simplemente esto:

Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
var
  s: string;
begin
  s := IdHTTP1.Get('http://casacimar.com.bo/tarea.html');
  if Pos('Copyright ©', s) <> 0 then
    ShowMessage('Eureka!');
end;

En ambos casos exclamaremos eureka,... y lo que se está buscando está al final del contenido en cuestión... más allá del error, lo que quiere decir que al cabo, al cabo, estamos descargando todo el HTML, salvo que no podemos mostrarlo en un Memo... por ejemplo, pero,... tal vez esto sea lo de menos, en un momento dado.

O dicho de otro modo, tal vez nos baste con el código HTML descargado, y a partir de ahí trabajar, lo mismo no es necesario mostrarlo en un Memo, sino que el compañero lo hacía por "probar", pero, en la práctica, ya digo, a lo mejor no es necesario hacerlo, porque, si se busca algo... puede buscarse directamente en la cadena que contiene el HTML, no es preciso que esté en un Memo.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 27-09-2007 a las 06:51:31.
Responder Con Cita
  #5  
Antiguo 27-09-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Tienes toda la razón David.

BlackDaemon: ¿servido?

Un abrazo.

Al González.
Responder Con Cita
  #6  
Antiguo 27-09-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Vaya, aquí los dos maestros ya tuvieron en cuenta todo, la codificación, los ceros cabroncetes, la solución de los streams ... así no hay quien meta baza.

Yo lo que haría seria bajar la pagina a un stream, usando Indy, wininet o lo que prefieras, y luego utilizar utf8Decode para convertir la pagina de utf8 a una codificación normal.
Responder Con Cita
  #7  
Antiguo 27-09-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
woooww.. miren, acabo de despertar (8:51 a.m.) en mi pais y me encuentro con un chorro de respuestas, me las he leido todas y la verdad es que he aprendido mucho, ya se que podría ser cuando me pase otra vez el mismo error, y bien como dice el señor dec en si, se baja TODO el código fuente de la página, pero NO se puede mostrarlo, creo que al principio lo he dicho mal, no era la palabra correcta "bajarme", creo que dado el caso sería "mostrarlo" o visualizarlo, etc xD ya que en si ese es el problema.

Y como dice el señor dec

Cita:
O dicho de otro modo, tal vez nos baste con el código HTML descargado, y a partir de ahí trabajar, lo mismo no es necesario mostrarlo en un Memo, sino que el compañero lo hacía por "probar", pero, en la práctica, ya digo, a lo mejor no es necesario hacerlo, porque, si se busca algo... puede buscarse directamente en la cadena que contiene el HTML, no es preciso que esté en un Memo.
La verdad es que si, "no es necesario mostrarlo en un Memo" y si, lo hacia por probar, y tambien tiene razón de que si busco algo (eso hago) lo puedo hacer "creo" directamente en el código html guardado en memória y sin necesidad de mostrarlo en un memo u otro componente.
En este momento no he probado de buscar algunas cadenas en todo el html sin necesidad de mostrarlo, pero estoy "casi" seguro que si se podrá hacerlo, ya que como muestra el señor dec SI esta hay el código fuente COMPLETO, pero no se puede mostrarlo.

Creo que ya esta solucionado mi problema, muchísimas gracias al señor dec y a Al, y a otros como seoane que siempre anda sando soluciones óptimas y trabaja muy bien con internet xD

pero me queda una duda que no se me ha aclarado, por que no se muestra todo el código fuente de la página en un memo ? Es por lo que dice el señor Al de lo que delphi toma el signo '?' como fin de string ? o a que se debe ?

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
StringList: Modificar un item en particular NEG1414 C++ Builder 3 25-08-2007 20:26:50
Problema con StringList MaMu Varios 2 26-05-2007 21:40:45
Llenar datos en StringList Caro OOP 2 12-11-2005 17:20:57
Recorrer un StringList bustio Varios 2 27-02-2005 19:50:21
Limite del StringList victork_py Varios 8 11-05-2004 22:19:11


La franja horaria es GMT +2. Ahora son las 15:09:30.


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