bug en SetFTime, no cambia la HORA

bug en SetFTime, no cambia la HORA

Postby lucasdebeltran » Sun Jun 23, 2013 10:32 am

Hola,

Code: Select all  Expand view  RUN
#include "fileio.ch"
#include "fivewin.ch"

function main()

set date to italian
set century on

test()

return nil



function test()

   local cApp   := "c:\windows\explorer.exe" //cFileName(GetModuleFileName(GetInstance()))

   local hFile2
   local dFecha := FileDate( cApp )
   local tHora  := FileTime( cApp )



   msgalert(cvaltochar(dFecha)+CRLF+CRLF+cValtochar(thora))



   hFile2 := FOpen( "fecha.prg", FO_READWRITE )

   SetFTime( hFile2, tHora, dFecha )

   FClose( hFile2 )


   dFecha := FileDate( "fecha.prg" )
   tHora  := FileTime( "fecha.prg" )

   msgalert(cvaltochar(dFecha)+CRLF+CRLF+cValtochar(thora), " de fecha.prg ")


return nil
 




No actualiza la hora de fecha.prg, el ejemplo anterior.



Muchas gracias.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: bug en SetFTime, no cambia la HORA

Postby lucasdebeltran » Mon Jun 24, 2013 4:57 pm

Up+
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: bug en SetFTime, no cambia la HORA

Postby Antonio Linares » Mon Jun 24, 2013 5:32 pm

Lucas,

la función SetFTime() use la función hb_pards() del extend API y por lo que se ve, esta función debe cambiar segun este el SET DATE y el SET CENTURY

Habra que localizar alguna función en Harbour que detecte esos SETs y que devuelva la hora en un formato común, salvo que ya exista dicha función y se trate solamente de localizarla en los fuentes de Harbour.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: bug en SetFTime, no cambia la HORA

Postby Antonio Linares » Mon Jun 24, 2013 5:33 pm

Lucas,

Es solo la hora lo que esta mal ?

La fecha la cambia bien ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: bug en SetFTime, no cambia la HORA

Postby lucasdebeltran » Mon Jun 24, 2013 6:39 pm

Antonio,

Sí, la fecha está bien, lo que falla es la hora.

Muchas gracias.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: bug en SetFTime, no cambia la HORA

Postby Antonio Linares » Mon Jun 24, 2013 7:02 pm

Luis,

Pero por lógica, que relación puede tener la hora con SET DATE y SET CENTURY ?

No se me ocurre porque puedan estar relacionados.

Que hora es la que le pone ? Llega a cambiarla ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: bug en SetFTime, no cambia la HORA

Postby lucasdebeltran » Mon Jun 24, 2013 7:55 pm

Antonio,

La hora del archivo permanece inalterada siempre.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: bug en SetFTime, no cambia la HORA

Postby rolando » Tue Jun 25, 2013 12:39 am

Lucas,

Uso xHarbour (aclaro por las dudas tenga algo que ver).

Compilé tu ejemplo y aca cambia la fecha y hora. Lo que si hace de "raro" es algo que ya comenté en un post anterior y es que a la fecha hora que quiero ponerle, hay que sumarle tres horas antes de cambiarla ya que pareciera que convierte al horario UTC (para Argentina es -3) Vaya uno a saber el porqué

Pero funcionar, funciona.

por si quieres probarlo, subí el exe y el prg a:

https://www.box.com/s/m9w5ui7zkl1xc48xj1f2

Saludos.

Rolando
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: bug en SetFTime, no cambia la HORA

Postby acuellar » Tue Jun 25, 2013 12:50 pm

Efectivamente es como dice Rolando

Coloca la hora del meridiano de Greenwich para Bolivia -4

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1645
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: bug en SetFTime, no cambia la HORA

Postby Antonio Linares » Tue Jun 25, 2013 2:44 pm

Lucas,

El código fuente de SetFTime() es practicamente un wrapper a SetFileTime() del API de Windows, por eso me extraña que funcione a veces solamente.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724933(v=vs.85).aspx

Tal vez habria que comprobar el codigo de error de Windows con GetLastError() nada más llamar a SetFileTime() para ver si en tu caso, Lucas, devuelve algun valor que pueda dar una pista. Aqui funciona bien

http://msdn.microsoft.com/en-us/library/windows/desktop/ms679360(v=vs.85).aspx
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: bug en SetFTime, no cambia la HORA

Postby lucasdebeltran » Tue Jun 25, 2013 4:21 pm

Antonio,

¿Has compilado mi ejemplo con Harbour?.

Si vas luego a la carpeta en el Explorador de Windows verás que la hora no se ha cambiado, a pesar de que según msgalert(cvaltochar(dFecha)+CRLF+CRLF+cValtochar(thora), " de fecha.prg ") debería estar cambiada, pero en el explorador de Windows, o incluso haciendo un dir, sigue inalterada.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: bug en SetFTime, no cambia la HORA

Postby Antonio Linares » Tue Jun 25, 2013 6:06 pm

Lucas,

Puedes comprobar el resultado de SetFTime(), en caso de que devuelva .F. significaria que la función de Windows SetFileTime() no ha podido cambiar la hora.

No he probado tu ejemplo. Revise el código (sólo las primeras líneas) y te comenté que no veía la relación entre la fecha y la hora.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: bug en SetFTime, no cambia la HORA

Postby Antonio Linares » Tue Jun 25, 2013 6:08 pm

Lucas,

Acabo de ver el código completo de tu ejemplo e intentas cambiar la hora del explorer en la carpeta Windows.

Salvo que seas administrador, ó tengas privilegios de administrador, eso jamas te permitiría Windows hacerlo.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: bug en SetFTime, no cambia la HORA

Postby rolando » Tue Jun 25, 2013 6:20 pm

Perdón que "meta la cuchara", pero lo que el programa hace es cambiar la fecha del "fecha.prg" colocandole la fecha y hora tomadas del explorer.exe

Eso acá lo hace correctamente como lo indiqué en entrada anterior (compilado con xHarbour). Salvo que usa la hora UTC

Rolando :D
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: bug en SetFTime, no cambia la HORA

Postby Antonio Linares » Tue Jun 25, 2013 6:31 pm

Rolando,

gracias, a veces pienso más rápido que leo :-)

Lucas,

He modificado la función SetFTime() para que devuelva el código de error y devuelve un 6. Previamente devolvía un .F. que significa que no ha podido realizar la operación. Ahora voy a buscar que significa ese 6
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Enrico Maria Giordano, Google [Bot] and 111 guests