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

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Refrescar el UrlDownloadToFile????

Tengo una Aplicación en Delphi, una de las cosas que hago es de descargar un archivo de una página web, lo hago con:
Código Delphi [-]
UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil)
....
Esto lo hago cada 5 mins. en un Timer, para que me refresque el contenido de dicho archivo que descargo(Porque Cada 5 Mins. Aprox. Cambia el Contenido), el problema que tengo que la PRIMERA VEZ que lo descarga lo hace Corrrectamente, pero de la Siguiente en Adelante NO REFRESCA el Contenido, si lo hago MANUALMENTE de ver el contenido del Archivo Accesando por medio del Internet Explorer veo el Contenido CORRECTAMENTE más sin embargo con la instrucción UrlDownloadToFile no funciona correctamente, de la segunda en adelante siempre muestra el contenido de la PRIMERA VEZ que Descargo el archivo, ya hice que borrará el archivo despues de leer el contenido, pero no funcionó, me hace pensar que no lo hace directamente de la Página WEB, es como si en la segunda vez en adelante lo leyera del buffer de la memoria.....

Nota: Tengo que Cerrar y Volver Abrir mi Aplicación para poder que TOME el Contenido Actualizado Correctamente.

Agradezco cualquier sugerencia.

Última edición por AGAG4 fecha: 17-05-2005 a las 17:07:47. Razón: Corrección
  #2  
Antiguo 17-05-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Fíjate en este ejemplo que subí que hace algo muuuuy parecido:
http://www.clubdelphi.com/foros/showthread.php?t=21293

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
  #3  
Antiguo 17-05-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Gracias

Gracias por su pronta respuesta, se mira muy interezante su proyecto ya revise lo que me comento pero desconozco las herramientas Web, es decir sólo vi la instrucción :
Código Delphi [-]
DownloadURLToFile(AImageUrl, AImageFile)
que me imagino que hace algo parecido con UrlDownloadToFile que es la que uso, bueno seguiré haciendo pruebas....

Que tenga buen día.
  #4  
Antiguo 17-05-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Esa instrucción tambien esta escrita en el proyecto:
Código Delphi [-]
function DownloadURLToFile(const AUrl, AFileName: TFileName): boolean;
begin
  Result := True;

  with TDownLoadURL.Create(nil) do
    try
      URL := AUrl;
      Filename := AFileName;

      try
        ExecuteTarget(Nil);
      except
        Result := False;
      end;

    finally
      Free;
    end;
end;


Utiliza un TDownLoadURL que es un "Standard Action" que implementa "URLDownloadToFile" de UrlMon.dll.... A la larga lo mismo pero Made in Borland
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
  #5  
Antiguo 17-05-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Gracias

Gracias Federico, voy a hacer pruebas....

Que tenga buen día.
  #6  
Antiguo 18-05-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Pero....

Gracias por su respuesta Federico pero no me funciono, ya realize pruebas, hace lo mismo que el UrlDownloadToFile pero con la diferencia que la que usted me dio se crea TDownLoadURL.Create(nil) y se Destruye con FREE creí que con eso bastaba para que retomará la información del archivo de la página web pero no es así, TOMA SIEMPRE el primer valor que tomo al Iniciar la Aplicación, hago llamadas a la página en intervalos de 3 veces de 3 minutos después 3 veces de 5 minutos y por ultimo 3 veces de 10 minutos pero ninguno los retoma, siendo que si abró manualmente la página web si me aparece el último Dato del archivo.

Otra Cosa que descubrí es que cuando abró la página Manualmente en la Pc donde esta corriendo la Aplicación me doy cuenta que la aplicación cuando intenta retomar el archivo lo BAJA CORRECTAMENTE, pero si NO ABRO Manualmente sigue intentando pero sin éxito alguno.

Existirá alguna otra función ó API de windows????

A usted Federico si le REFRESCA el archivo que descarga en su aplicación????

Si no la solución que tomare sería cerrar y volver abrir la aplicación que apenas así refresca el archivo....

Gracias por su sugerencia.

Última edición por AGAG4 fecha: 18-05-2005 a las 17:06:18. Razón: Corrección
  #7  
Antiguo 10-02-2012
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
tengo el mismo problema que tu con
UrlDownloadToFile

siempre me descarga el mismo contenido a pesar de modificarlo en el destino.
  #8  
Antiguo 10-02-2012
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
solucionado!!!

function DownloadToFile(URL, FileName: String): Boolean;
var lpszFile: Array [0..MAX_PATH] of Char;
begin
// Download to cache by getting newest version
if (URLDownloadToCacheFile(nil, PChar(URL), @lpszFile, MAX_PATH, BINDF_GETNEWESTVERSION, nil) = S_OK) then
// Copy to desired file name
result:=CopyFile(@lpszFile, PChar(FileName), False)
else
// Failed
result:=False;
end;
  #9  
Antiguo 12-03-2012
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
Ahora solo me falta ponerle un progressbar

Alguien sabe como hacerlo?
Gracias
  #10  
Antiguo 12-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Amigo, tienes casi 100 mensajes... recuerda nuestra guía de estilo, gracias.
Tema Cerrado



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 01:29:32.


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