Clipper On Line • Ver Tópico - DATA & HORA do meu EXEcutável

DATA & HORA do meu EXEcutável

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

DATA & HORA do meu EXEcutável

Mensagempor susviela@bol.com.br » 27 Dez 2019 15:27

Estou pegando a Data do meu arquivo Executável assim:

cArq:=  HB_ArgV( 0 )  
aDir := Directory( substr(cArq, RAT("\", cArq) + 1)   )
   
?  adir[1][3]       //data do programa


. Tem como otimizar mais isso, ou está bem assim. Dicas / comentários

.
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar de usuário

susviela@bol.com.br
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 236
Data de registro: 30 Jun 2017 11:17
Cidade/Estado: São José / SC
Curtiu: 153 vezes
Mens.Curtidas: 24 vezes

DATA & HORA do meu EXEcutável

Mensagempor bencz » 27 Dez 2019 15:56

Uma alternativa, até mais segura, seria ler o header do executavel e fazer um parse na parte chamada IMAGE_FILE_HEADER do executável, que contem um campo chamado TimeDateStamp, que contem a data e hora da linkedição do executavel

Faço isso com os meus programas esrcitos em C/C++ ou C#...., portar o código C para o harbour não me parece ser algo muito complexo..., eu apenas não sei agora de cabeça, qual é a função da API do Harbour para retornar date time ou converter a struct time_t para o padrão do Harbour....

https://blog.kowalczyk.info/articles/pefileformat.html
Imagem
Avatar de usuário

bencz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 517
Data de registro: 28 Abr 2012 17:36
Curtiu: 6 vezes
Mens.Curtidas: 34 vezes

DATA & HORA do meu EXEcutável

Mensagempor susviela@bol.com.br » 27 Dez 2019 16:18

bencz escreveu:Uma alternativa, até mais segura, seria ler o header do executavel


Obrigado pela contribuição.

Posso esta falando besteira mas esse HB_ArgV(0) já não faz isso ?

(não manjo nada de C, C++ e outras baixarias. Hehehehe...)
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar de usuário

susviela@bol.com.br
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 236
Data de registro: 30 Jun 2017 11:17
Cidade/Estado: São José / SC
Curtiu: 153 vezes
Mens.Curtidas: 24 vezes

DATA & HORA do meu EXEcutável

Mensagempor bencz » 27 Dez 2019 16:29

Não, ele não faz.. ele apenas pega a informação dos atributos de data e hora de criação do arquivo no HD, que é gerenciado pelo sistema operacional... a informação que falei para usar, é gerada pelo linkeditor e é gravado dentro do executavel a data/hora de geração dele...
Imagem
Avatar de usuário

bencz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 517
Data de registro: 28 Abr 2012 17:36
Curtiu: 6 vezes
Mens.Curtidas: 34 vezes

DATA & HORA do meu EXEcutável

Mensagempor asimoes » 27 Dez 2019 16:51

hbmk2 financ.hbp -jobs=1 -DDESENV -bldhead=compdatetime.ch -comp=mingw


/* Automatically generated by hbmk2. Do not edit. */
#define _HBMK_BUILD_ID_            "1090"
#define _HBMK_BUILD_ID_NUM_        1090
#define _HBMK_BUILD_YEAR_          "2019"
#define _HBMK_BUILD_DATE_          "20191227"
#define _HBMK_BUILD_TIME_          "16:09:06"
#define _HBMK_BUILD_TIMESTAMP_     "20191227160906345"
#define _HBMK_BUILD_TIMESTAMP_UTC_ "20191227190906345"
#define _HBMK_BUILD_RANDSTR_32_    "c3735af11f2322c170d50ad3781fa0d1aec860e4156f104ff74a3c3f982e70d3"



No PRG faça a inclusão do header compdatetime.ch

#include "compdatetime.ch"

Depois:

dDataExe := hb_DtoC( STOD(_HBMK_BUILD_DATE_ ), "DD/MM/YYYY" )

Quando compilar esse header é criado em tempo de compilação e o header incluído no executável
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

DATA & HORA do meu EXEcutável

Mensagempor bencz » 27 Dez 2019 17:57

Ótima dica!!!
Imagem
Avatar de usuário

bencz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 517
Data de registro: 28 Abr 2012 17:36
Curtiu: 6 vezes
Mens.Curtidas: 34 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Bing [Bot] e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro