FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour bug en SetFTime, no cambia la HORA
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM

bug en SetFTime, no cambia la HORA

Posted: Sun Jun 23, 2013 10:32 AM
Hola,

Code (fw): Select all Collapse
#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.
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM

Re: bug en SetFTime, no cambia la HORA

Posted: Mon Jun 24, 2013 04: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.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: bug en SetFTime, no cambia la HORA

Posted: Mon Jun 24, 2013 05: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
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: bug en SetFTime, no cambia la HORA

Posted: Mon Jun 24, 2013 05:33 PM

Lucas,

Es solo la hora lo que esta mal ?

La fecha la cambia bien ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM

Re: bug en SetFTime, no cambia la HORA

Posted: Mon Jun 24, 2013 06: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.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: bug en SetFTime, no cambia la HORA

Posted: Mon Jun 24, 2013 07: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
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM

Re: bug en SetFTime, no cambia la HORA

Posted: Mon Jun 24, 2013 07: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.
Posts: 593
Joined: Sat May 12, 2007 11:47 AM

Re: bug en SetFTime, no cambia la HORA

Posted: 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
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM

Re: bug en SetFTime, no cambia la HORA

Posted: 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.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: bug en SetFTime, no cambia la HORA

Posted: Tue Jun 25, 2013 02: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
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM

Re: bug en SetFTime, no cambia la HORA

Posted: Tue Jun 25, 2013 04: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.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: bug en SetFTime, no cambia la HORA

Posted: Tue Jun 25, 2013 06: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
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: bug en SetFTime, no cambia la HORA

Posted: Tue Jun 25, 2013 06: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
Posts: 593
Joined: Sat May 12, 2007 11:47 AM

Re: bug en SetFTime, no cambia la HORA

Posted: Tue Jun 25, 2013 06: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

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: bug en SetFTime, no cambia la HORA

Posted: Tue Jun 25, 2013 06: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