Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2014
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
No sé cómo hacerlo. No he usado Indi. Pero admito cualquier solución.
Gracias Casi.
Responder Con Cita
  #2  
Antiguo 28-09-2014
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Estoy más o menos aquí en este fragmento de código
Código Delphi [-]
hFile := CreateFile(PChar(Archivo), GENERIC_WRITE, 0, nil, CREATE_ALWAYS,
    FILE_ATTRIBUTE_NORMAL, 0);
  if (hFile <> INVALID_HANDLE_VALUE) then
  begin
    hNet := InternetOpen('agent', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
    if (hNet <> nil) then  //Si existe conexion a internet
    begin
      hUrl := InternetOpenUrl(hNet, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);
      if (hUrl <> nil) then  // Existe el fichero en internet
      begin   
      FechaModiFileInternet:=FileAge(hFile);
Responder Con Cita
  #3  
Antiguo 28-09-2014
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Mañana tengo que madrugar para ir a trabajar. Perdonar si no os contesto esta noche.
Saludos.
Responder Con Cita
  #4  
Antiguo 29-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jhonalone.
Cita:
Empezado por jhonalone Ver Mensaje
No sé cómo hacerlo. No he usado Indi. Pero admito cualquier solución.
Gracias Casi.
Usando el componente TidHTTP de Indy es muy simple:
Código Delphi [-]
uses idHTTP;

function GetInternetFileDateTime(aFileName: string): TDateTime;
begin
  with TidHTTP.Create(nil) do
  try
    Head(aFileName);
    Result:= Response.LastModified;
  finally
    Free;
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 29-09-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
jhonalone,

Cita:
Empezado por jhonalone
...Estoy intentando ver la fecha de modificación de un fichero que está en mi página de internet...


Revisa este código:
Código Delphi [-]
 unit Unit1;
 
 interface
 
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, WinInet;
 
 type
   TForm1 = class(TForm)
     Button1: TButton;
     procedure Button1Click(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end;
 
 var
   Form1: TForm1;
 
 implementation
 
 {$R *.dfm}
 
 // Obtiene la última fecha de modificación de un archivo en internet
 function GetLastModifiedDate(Url : String) : TDateTime;
 var
    hInet : HINTERNET;
    hUrl : HINTERNET;
    LastModifiedDate : SYSTEMTIME;
    SizeDate : DWORD;
    Index : DWORD;
 begin
    try
       hInet := InternetOpen(PChar(Application.Title),INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
       hUrl := InternetOpenURL(hInet,PChar(Url),nil,0,0,0);
       SizeDate := SizeOf(LastModifiedDate);
       Index := 0;
       if HttpQueryInfo(hUrl,
                        HTTP_QUERY_LAST_MODIFIED or HTTP_QUERY_FLAG_SYSTEMTIME,
                        @LastModifiedDate,
                        SizeDate,
                        Index)
       then
          Result := SystemTimeToDateTime(LastModifiedDate)
       else
          Result := 0;
    finally
       InternetCloseHandle(hUrl);
       InternetCloseHandle(hInet);
    end;
 end;
 
 // Muestra la última fecha de modificación de un archivo en internet
 procedure TForm1.Button1Click(Sender: TObject);
 var
    Url : String;
    LastModifiedDate : String;
 begin
    Url := 'http://www.math-magic.com/pdf_files/basic_memorization/prime.pdf';
    LastModifiedDate := FormatDateTime('yyyy/mm/dd hh:mm:ss',GetLastModifiedDate(Url));
    MessageDlg(LastModifiedDate,mtInformation,[mbOK],0);
 end;
 
 end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, obtiene la fecha de última modificación de un recurso url por medio de las funciones de Windows Internet (WinINet) application programming interface (API) .

Espero sea útil

Nelson.
Responder Con Cita
  #6  
Antiguo 29-09-2014
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Primero: gracias a Ecfisa y a Nelson (por orden de respuestas), por vuestro esfuerzo al responderme.

Segundo: os cuento.

Ecfisa, Todavía no me puedo creer que un código tuyo no funcione a la primera. Me da un error en la línea del result, con la excepción EIdHTTPProtocolException con el mensaje "HTTP/1.1 404 Not Found" Puede que los Indy que he instalado estén obsoletos, son los que venían con Dephi7.

Nelson, tu código funciona perfectamente, excepto con algunas extensiones de ficheros. Concretamente con ".php", no sé si con alguna otra. Ah, la función discrimina entre mayúsculas y minúsculas, en el nombre de la url, por le interesa a alguien.

Nuevamente gracias a ambos por vuestro esfuerzo e interés.

Saludos.

Juan Manuel.
Responder Con Cita
  #7  
Antiguo 29-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jhonalone.
Cita:
Me da un error en la línea del result, con la excepción EIdHTTPProtocolException con el mensaje "HTTP/1.1 404 Not Found" Puede que los Indy que he instalado estén obsoletos, son los que venían con Dephi7.
Son un poco viejitos , pero estoy usando los mismos componentes y funciona correctamente... ¿ Tendrá algo que ver con esto ? idHTTP (Rest service)

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 30-09-2014
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Gracias ecfisa por tu interés.
He estado visitando el enlace y no comprendo lo que me quieres decir. No sé si interpretar que debo identificarme...¿¡?

Ah. Cuando he incorporado el componente IdHTTP de Indy en el formulario, he dejado todas las propiedades por defecto. ¿Quizá tenga que configurar alguna?

Un saludo.
Responder Con Cita
  #9  
Antiguo 30-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jhonalone.
Cita:
No sé si interpretar que debo identificarme...¿¡?
No puedo asegurarlo ya que desconozco todo sobre tu conexión, solo conjeturé una posible causa por el código de error.

Te adjunto una prueba donde tomo la fecha de última modificacion de un archivo (que verifiqué manualmente) y la devuelve correctamente. Espero te sirva de ayuda.

Saludos
Archivos Adjuntos
Tipo de Archivo: zip jhonalone.zip (3,5 KB, 2 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Extraer la fecha de modificación de un fichero mediante FTP JoysticK Internet 3 23-08-2018 01:30:30
Fecha de modificación de un archivo ftp Vlady Varios 3 09-01-2012 09:20:41
Obtener las fechas de un fichero (creación, modificación y último acceso) Neftali [Germán.Estévez] Trucos 0 12-06-2006 17:48:07
Obtener la fecha de modificación de un archivo Javi2 Varios 2 08-11-2004 09:49:36
Fecha modificacion de un campo de la tabla into_enter Conexión con bases de datos 2 18-06-2003 09:57:19


La franja horaria es GMT +2. Ahora son las 06:46:13.


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