Ésta función cambia la fecha de modificación de un archivo
Code: Select all
SetFDaTi( <cFileName> , [<dFileDate>], [<cFileTime>] ) --> lSuccess
Gracias por la ayuda.
Code: Select all
SetFDaTi( <cFileName> , [<dFileDate>], [<cFileTime>] ) --> lSuccess
Code: Select all
hFile := Fopen("ficheroafechar.ext")
SetFTime(hFile, "10:20:59", "27:11:2019")
Fclose(hFile)
Code: Select all
#include "fivewin.ch"
*
Function Main()
Private aFiles:={}, aLista, oBrw,xLen,cPath
SelectCarpeta()
CargaTabla()
DEFINE DIALOG oDlg FROM 0,0 TO 18,57 TITLE "Lista de archivos";oDlg:lHelpIcon:=.F.
oBrw:=TXBrowse():New( oDlg )
oBrw:nMarqueeStyle:=5
oBrw:lHScroll:=.F.
oBrw:nColDividerStyle:=LINESTYLE_LIGHTGRAY
oBrw:nRowDividerStyle:=LINESTYLE_LIGHTGRAY
oBrw:bClrSelFocus:={ || { CLR_BLUE, { { 0.1,16777215,12961221 } }} }
oBrw:bClrSel:={ || { CLR_BLUE, { { 0.30,16777215,12961210 } }} }
oBrw:bClrRowFocus:= { || { CLR_BLUE, { { 0.30,16777215,12961210 } }} }
oBrw:lHScroll:=.F.
oBrw:lRecordSelector:=.F.
oBrw:lAllowRowSizing:= .F.
oBrw:lAllowColHiding := .F.
oBrw:lAllowColSwapping:=.F.
oBrw:SetArray( aFiles, .T. )
oBrw:aCols[1]:cHeader := "ARCHIVO"
oBrw:aCols[1]:nWidth:=302
oBrw:aCols[2]:cHeader := "FECHA "
oBrw:aCols[3]:cHeader := "HORA"
oBrw:lHScroll := .F.
oBrw:CreateFromCode()
ACTIVATE DIALOG oDlg CENTERED ON INIT (BotDlg(oDlg,oBrw),oDlg:Update(),oBrw:Move( 0, 0, oDlg:nWidth()-7, oDlg:nHeight()-70),oBrw:Refresh() )
Return nil
*
FUNCTION BotDlg( oDlg, oBrw )
Local oBtnBar
@oDlg:nHeight()-60,70 BTNBMP PROMPT "Selec.Carpeta" OF oDlg SIZE 90,18 ACTION ( SelectCarpeta(), CargaTabla(), oBrw:SetArray( aFiles, .T. ) ) 2007
@oDlg:nHeight()-60,170 BTNBMP PROMPT "Cambiar Fecha" OF oDlg SIZE 90,18 ACTION ( CambiaFecha(), CargaTabla(), oBrw:SetArray( aFiles, .T. ) ) 2007
@oDlg:nHeight()-60,270 BTNBMP PROMPT "Salir" OF oDlg SIZE 90,18 ACTION oDlg:End() CANCEL 2007
Return Nil
*
Function SelectCarpeta()
cPath:=cGetDir( "Seleccione la carpeta",hb_CurDrive()+":\",0 )
cPath+="\"
Return Nil
*
FUNCTION CargaTabla()
aFiles:={}
aLista:= Directory( cPath+"*.*")
IF LEN( aLista ) < 1
MsgBeep()
MsgStop( "Carpeta vacía","ATENCION !!!" )
SelectCarpeta()
ENDif
xLen:=LEN( aLista )
FOR nCount = 1 TO xLen
AADD( aFiles, { ALLTRIM( aLista[ nCount ][1] ), aLista[ nCount ][3], SUBSTR( aLista[ nCount ][4],1,5 ) } )
NEXT
Return Nil
*
FUNCTION CambiaFecha()
FOR I = 1 TO xLen
cFile:=cPath+ALLTRIM( aLista[ I ][1] )
SetFDaTi( cFile, Date(),Time() )
NEXT
Return Nil