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 02-09-2005
zastilla zastilla is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
zastilla Va por buen camino
hola Dec (David),lo tuyo es acojonante, muchas gracias.
ciertamente me baje la version 116 y no pude instalarla ya q era hasta delphi 6 y tengo el 7. con el 117 muy bien.
No obstante como no puede usar ese VCL utilice el codigo que me pasaste y la verdad, va muy bien salvo para gmail ya que hay problemillas con los scripts de java, pero ya se me ha ocurrido la forma de solucionarlo.
como no me gusta dejar las cosas a medias voy a tenerminar con el metodo del codigo que me has facilitado para luego hacerlo con el VCL. Pero me he encontrado con otro problema:

todo va de perlas, consigo todos los enlaces de los archivo adjuntos pero al usar el webbroser me sale el mensaje de confirmacion de descarga con el menu para seleccionar el destino. Yo queria hacerlo automatizado pero no se si con el webbrowser se puede hacer que se baje el archivo sin que salga ese menu de confirmacion.

Se te ocurre alguna idea?

muchisimas gracias por todo
Responder Con Cita
  #2  
Antiguo 02-09-2005
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,

El código que se muestra más arriba puede usarse para guardar en un archivo el documento que estuviera cargado en el componente "TWebBrowser" (a partir de ahora "navegador"). No aparece, pues, ningún diálogo en que se solicite el destino del documento, porque ya se lo indicamos nosotros programáticamente.

Otra cosa es que quieras guardar en un archivo un documento que no se muestre en el "navegador". Por ejemplo, si tratas de mostrar una hoja de estilos (archivos ".css") en el "navegador" (como se basa en Internet Explorer) este te preguntará dónde guardar el archivo en cuestión, o con qué programa abrirlo: porque el "navegador" no puede visualizarlo.

Si es esto a lo que te refieres (no estoy del todo seguro) en lugar de usar el "navegador" para descargar el archivo podrías usar otros componentes para ello: hay no pocos, pero, uno de ellos podría ser el "TIdHttp" de los componentes Indy, que no pone las cosas demasiado complicadas:

Código Delphi [-]
 uses
   IdHTTP; // De los componentes Indy v9
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
   http: TIdHTTP;
   temp: TFileStream;
 begin
   http := TIdHTTP.Create(Self);
   temp := TFileStream.Create('C:\clubdelphi.css', fmCreate);
   try
     http.Get('http://www.clubdelphi.com/foros/delphi.css', temp);
   finally
     http.Free;
     temp.Free;
   end;
 end;
¿Estoy en lo cierto? ¿Te refieres a otra cosa?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 02-09-2005
zastilla zastilla is offline
Miembro
 
Registrado: sep 2004
Posts: 22
Poder: 0
zastilla Va por buen camino
hola,

desde luego q mal me expreso. perdona.

mira imagina una direccion del tipo "www.loquesea.com/programa.exe"
y lo habres con el webbrowser o con el embeddedwb, bien pues te aparecera un menu para abrirlo, guardarlo, etc..
yo pregunto si con el webbrowser o con el embeddedwb se puede hacer para que me baje ese archivo "programa.exe" sin que aparezca ese menu pero utilizando el webbrowser o el embeddedwb.
ya se q con las indys o con wininet se podria hacer pero a mi no me sirve.

recuerda que estoy intentando entender el peer2mail haciendo un programa que haga mas o menos lo mismo.
necesito el webbrowser o el embeddedwb para parsear las direcciones de los archivos adjuntos de los email con el parser B. con el webbrowser me logueo y si luego uso las indy como la conexion es segura, no me baja nada, me pasa a una pagina web para que me logue de nuevo.

gracias si no he sido capaz de explcarte mi situacion, por favor dimelo e intento volver a explicarlo

Última edición por zastilla fecha: 02-09-2005 a las 20:56:35.
Responder Con Cita
  #4  
Antiguo 02-09-2005
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,

Comprendo lo que quieres decir. Pero, habré de lamentar no poder ayudarte. Hasta donde llego con el "TWebBrowser" no podrás hacer lo que precisas, por el motivo mencionado arriba: para los archivos que no puede visualizar requerirá de un programa conque abrirlos o un lugar donde guardarlos.

Lo único que se me ocurre es utilizar un componente para descargar los archivos que refieres. ¿Pero no hemos quedado en que esto no puede hacerse? Sí; sin autentificación... pero hay componentes que permiten descargar archivos previa autentificación. Los componentes Indy son capaces de ello, aunque, nunca intenté algo así y, las pruebas que he hecho para la ocasión no han dado resultados satisfactorios (no sé cómo hacerlo).

¿Haces uso de los componentes de la Jedi Library? Entre los que dispone relacionados con Internet hay algunos que sirven para descargar archivos y permiten la autenticación (al menos en lo que respecta a proporcionar un nombre de usuario y una contraseña) para descargar dichos archivos y quizá resulte más sencillo su uso que los "Indys", pero, para mi tengo que como potentes estos últimos.

En fin, lamento no poder serte de ayuda, porque nunca tuve necesidad de algo así y no sé al cabo si podría hacerse lo que dices inclurso con el "TWebBrowser" y yo, en mi ignorancia, he dicho que no demasiado ligero.

Creo incluso que puede irse más allá que proporcionar un nombre de usuario y una contraseña, quiero decir que podrían descargarse quizás archivos mediante conexiones seguras, claro está, contando con autorización, pero son temas que se me escapan por completo, mal que me pese.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 06-09-2005
madiazg madiazg is offline
Miembro
 
Registrado: sep 2005
Ubicación: Canarias
Posts: 120
Poder: 19
madiazg Va por buen camino
Hola Dec,

me ha interesado mucho el código que has insertado en un mensaje anterior. Soy novato en esto del delphi y hace tiempo que necesitaba una forma fácil de descargar ficheros de internet.

Si eres tan amable, ¿puedes indicarme cómo puedo modificar dicho código para que en el caso de que el fichero que quiero bajarme no exista me salga un mensaje de Error?

¿Sabes de algún documento o alguna WEB donde expliquen en castellano las Indy?

Saludos...
Responder Con Cita
  #6  
Antiguo 06-09-2005
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,

Cita:
Empezado por madiazg
me ha interesado mucho el código que has insertado en un mensaje anterior. Soy novato en esto del delphi y hace tiempo que necesitaba una forma fácil de descargar ficheros de internet.
Bueno. Bienvenido al ClubDelphi, en primer lugar. Deja que te diga que yo no sé mucho de los componentes Indy: a poco que te pusieras a buen seguro me aventajarías en ello.

Tal vez te interese saber que existen no pocos componentes que te ayudarán a descargar archivos de Internet, no solamente los mencionados. Si buscas en Torry's Delphi Pages, por poner un caso, encontrarás.

Puede que te interese también descargar e instalar la Jedi Library. Entre los componentes que incluye encontrarás algunos para hacer lo que precisas: con ejemplos de uso todos ellos.

Cita:
Empezado por madiazg
Si eres tan amable, ¿puedes indicarme cómo puedo modificar dicho código para que en el caso de que el fichero que quiero bajarme no exista me salga un mensaje de Error?
Sí; hasta ahí llegamos, aunque puede que no acertemos del todo, tal vez bastaría con capturar la posible excepción que se produjera en caso de que, por ejemplo, el archivo a descargar, o sea, la URL del mismo no existiera. Bastaría con algo así:

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 var
  http: TIdHTTP;
  temp: TFileStream;
 begin
  http := TIdHTTP.Create(Self);
  temp := TFileStream.Create('C:\clubdelphi.css', fmCreate);
  try
    try
      http.Get('http://www.clubdelphi.com/foros/noexiste.css', temp);
    except
      on E: Exception do begin
        // Aquí puedes actuar en caso de
        // producirse una excepción/error
      end;
    end;
  finally
    http.Free;
    temp.Free;
  end;
 end;
Cita:
Empezado por madiazg
¿Sabes de algún documento o alguna WEB donde expliquen en castellano las Indy?
Pues, la verdad, aparte de la documentación que puede descargarse en la página Web de los componentes (en inglés, of course) lo cierto es que buscando en Google no parece haber demasiada que digamos.

Ya te digo que tal vez podrías pensar en otros componentes que no fueran los Indy, o, cuando menos, dedicarte a algún componente en concreto de los que se incluyen entre ellos (tal vez yo mismo no usé el más adecuado para descargar archivos) y si, faltalmente, ha de ser en inglés, sírvate de consuelo que será un componente o dos y no todos ellos los que tendrás que acometer.

Por otro lado si te indico los componentes que incluye la Jedi Library para descargar archivos de Internet es porque son bastante sencillos de utilizar: una URL, el archivo de destino, un método "Start", otro "Cancel", eventos "OnProgress", "OnTerminate" y poco más: lo justo, suficiente y necesario para descargar archivos de Internet.

Lamento no poder decirte otra cosa, por el momento. Si te surge cualquier otra duda y está relacionada con este Hilo, adelante con ella; si te surge otra y aun otras que no tengan que ver no temas iniciar otro Hilo con ellas que a buen seguro aquí tratará de ayudársete. Y, de nuevo, bienvenido al ClubDelphi
__________________
David Esperalta
www.decsoftutils.com
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


La franja horaria es GMT +2. Ahora son las 09:36:29.


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