Página 1 de 1
Ler a Data e a Hora de criação de um arquivo
Enviado: 30 Jul 2014 20:48
por valtecomjm
Boa noite,
Gostaria de saber se existe em Harbour 3.2.0 alguma função para ler a Data e a Hora de criação de um arquivo, não me refiro a Data de alteração, esta eu consigo com a função DIRECTORY(), preciso mesmo é da data da criação do arquivo, aquela que aparece quando clicamos sobre o arquivo com o botão direito do mouse e selecionamos PROPRIEDADES.
Obrigado.
Valteçom
Uberaba MG Brasil
Ler a Data e a Hora de criação de um arquivo
Enviado: 31 Jul 2014 08:23
por zazibr
agora so traduzir para o harbour é uma api do windows
fonte
http://www.accessfaq.com.br/webroot/def ... a_Id%3D107
c) Biblioteca FileSystemObject do Microsoft Scripting Runtime:
Para exibir as datas em que um arquivo foi criado, modificado e acessado pela última vez, utilize a função abaixo:
Sub ShowFileAccessInfo(filespec)
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(filespec)
s = UCase(filespec) & vbCrLf
s = s & "Created: " & f.DateCreated & vbCrLf
s = s & "Last Accessed: " & f.DateLastAccessed & vbCrLf
s = s & "Last Modified: " & f.DateLastModified
MsgBox s, 0, "File Access Info"
End Sub
Ler a Data e a Hora de criação de um arquivo
Enviado: 31 Jul 2014 11:26
por Jairo Maia
Olá Valteçom,
Em Harbour você pode usar a Classe FileInfo (linkar a lib xhb):
Código: Selecionar todos
#include "hbclass.ch"
#include "error.ch"
Function Main()
LOCAL aFileInfo, oFileInfo, cFile := "SeuArquivo.ext"
SET DATE BRIT
SET CENTURY ON
aFileInfo := Directory( cFile )
? aFileInfo[1,1]
? aFileInfo[1,2]
? aFileInfo[1,3]
? aFileInfo[1,4]
oFileInfo := FileInfo():new( cFile )
?
? oFileInfo:fileName
? oFileInfo:fileSize
? oFileInfo:fileAttr
? oFileInfo:createDate
? oFileInfo:createTime
Return Nil
CLASS FileInfo
PROTECTED:
DATA cFileName INIT ""
DATA aInfo INIT { "", 0, CtoD(""), 0, CtoD(""), 0 }
METHOD getInfo
EXPORTED:
METHOD init
ACCESS fileName INLINE ::cFileName
ASSIGN fileName(c) INLINE ::getInfo(c)
ACCESS fileAttr INLINE ::aInfo[1]
ACCESS fileSize INLINE ::aInfo[2]
ACCESS createDate INLINE ::aInfo[3]
ACCESS createTime INLINE TString( ::aInfo[4] )
ACCESS changeDate INLINE ::aInfo[5]
ACCESS changeTime INLINE TString( ::aInfo[6] )
ENDCLASS
METHOD init( cFileName ) CLASS FileInfo
IF Valtype( cFileName ) == "C"
::getInfo( cFileName )
ENDIF
RETURN self
METHOD getInfo( cFileName ) CLASS FileInfo
IF .NOT. File( cFileName )
RETURN ::error( "File not found" , ;
::className(), "getInfo" , EG_ARG, {cFileName} )
ENDIF
::cFileName := cFileName
FileStats( cFileName, @::aInfo[1], ;
@::aInfo[2], ;
@::aInfo[3], ;
@::aInfo[4], ;
@::aInfo[5], ;
@::aInfo[6] )
RETURN self
Ler a Data e a Hora de criação de um arquivo
Enviado: 16 Set 2015 09:55
por Itamar M. Lins Jr.
Ola!
ALLguém pode verificar se essa função filestat() está funcionando ?
Eu vejo que ela não está pegando corretamente a data e hora do EXE, pega sempre a data e hora atual.
Estou usando o HB 3.4
Saudações,
Itamar M. Lins Jr.
Ler a Data e a Hora de criação de um arquivo
Enviado: 16 Set 2015 12:19
por Kapiaba
Boa tarde, veja se ajuda:
Código: Selecionar todos
IF FILE( "C:\INST_NFE\CERTFLEX.EXE" )
cFILE := "C:\INST_NFE\CERTFLEX.EXE" // 03/09/2014
aDIR := DIRECTORY( cFILE )
dEXE := aDIR[1] [3] // Data do .exe no diretorio C:\INST_NFE
cCertFlex := DTOC( dEXE ) + " - " + "VersÆo: 2.05a"
IF dEXE < CTOD( "30/12/2014" ) // Versao errada do CERTFLEX.EXE Atualizar
MsgStop( OemToAnsi( "ATEN€ÇO USUµRIO: " )+CRLF+ ;
OemToAnsi( "VERSÇO DO CERTFLEX.EXE INCORRETA. " )+CRLF+ ;
OemToAnsi( "ENTRE EM CONTATO COM O SUPORTE, E " )+CRLF+ ;
OemToAnsi( "SOLICITE A VERSÇO: " +cCertFlex )+CRLF+ ;
OemToAnsi( "INFORME O SUPORTE, POR FAVOR... " )+CRLF+ ;
OemToAnsi( "TECLE <ENTER> PARA CONTINUAR... " ), ;
OemToAnsi( "SOLICITE A VERSÇO: " +cCertFlex ) )
ENDIF
ENDIF
Ler a Data e a Hora de criação de um arquivo
Enviado: 17 Set 2015 10:13
por Jairo Maia
Itamar, não é má vontade, mas não tenho aqui o ambiente Harbour 3.4, com 3.0 e 3.2 está funcionando corretamente.