usando o FileStats
Moderador: Moderadores
usando o FileStats
Vlademiro,
O comando correto para o harbour 3.4 é
-bldhead=build.ch
O comando correto para o harbour 3.4 é
-bldhead=build.ch
►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)
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)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
usando o FileStats
Inicialmente gostei do recurso, mas não resolveu para o RC.
Mas gostei da idéia, e acabei fazendo de outro jeito.
Em \cdrom\fontes\build, um programa que cria um build.ch padrão:
Nos hbps, a inclusão do build.ch, resultado desse EXE:
No arquivo RC, e nos PRGs principais, a inclusão desse build.ch:
E no BAT, a chamada ao programa que gerencia o build.ch:
Continuo digitando C <ENTER> pra compilar.
Passei a usar isso como versão, ano/mês/dia/hora/minuto
Mais prático do que ficar inventando números.
No começo o ano era com dois dígitos, mas aí veio o ano 2000... então passei a usar quatro dígitos.
Atendeu certinho o RC.
Tenho versão nova a qualquer dia e qualquer hora, então isso simplifica, e evita esquecer de alterar.
Por falar nisso....
Talvez esse fileversion pudesse ser usado pra comparar a versão do servidor com o terminal.
Nota:
De um modo geral, só me interessa se o cliente usa uma versão mais velha.
Ao cliente atualizar, de qualquer versão velha, a nova sempre funciona e atualiza tudo que precisa.
E pela data, consigo até visualizar tudo que foi alterado entre as versões.
Então... tudo simplificado usando a data como versão, nem importa data do EXE, só o número da versão.
Mas gostei da idéia, e acabei fazendo de outro jeito.
Em \cdrom\fontes\build, um programa que cria um build.ch padrão:
Código: Selecionar todos
PROCEDURE Main
LOCAL cDateTime
cDateTime := Dtos( Date() ) + Substr( Time(), 1, 2 ) + Substr( Time(), 4, 2 )
cTxt := "#define JPA_VERSAO " + ["] + Transform( cDateTime, "@R 9999.99.99.9999" ) + ["] + hb_Eol()
cTxt += "#define JPA_VERSAO_RC " + Transform( cDateTime, "@R 9999,99,99,9999" ) + hb_Eol()
hb_MemoWrit( "d:\cdrom\fontes\build\build.ch", cTxt )
RETURN
Código: Selecionar todos
-I\cdrom\fontes\build
-ibuild.ch
Código: Selecionar todos
#include "build.ch"
1 VERSIONINFO
FILEVERSION JPA_VERSAO_RC
Código: Selecionar todos
del jpa.exe
d:\cdrom\fontes\build\build
hbmk2 jpa.hbp %1 %2 %3 %4 %5
if not errorlevel 1 assina jpa.exe
Passei a usar isso como versão, ano/mês/dia/hora/minuto
Mais prático do que ficar inventando números.
No começo o ano era com dois dígitos, mas aí veio o ano 2000... então passei a usar quatro dígitos.
Atendeu certinho o RC.
Tenho versão nova a qualquer dia e qualquer hora, então isso simplifica, e evita esquecer de alterar.
Por falar nisso....
Talvez esse fileversion pudesse ser usado pra comparar a versão do servidor com o terminal.
Nota:
De um modo geral, só me interessa se o cliente usa uma versão mais velha.
Ao cliente atualizar, de qualquer versão velha, a nova sempre funciona e atualiza tudo que precisa.
E pela data, consigo até visualizar tudo que foi alterado entre as versões.
Então... tudo simplificado usando a data como versão, nem importa data do EXE, só o número da versão.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
usando o FileStats
Só a título de curiosidade, o meu build.ch de agora:
Desde que comecei a usar isso, foram 552 compilações.
Já pensou ficar alterando esse número manualmente? ou inventando número?
Isso dá uma média de 30 compilações por dia.
Este é o fonte atual, com esse controle de quantidade, só reservei um espaço pro número.
Esse número não entra na versão, foi só pra curiosidade mesmo.
Código: Selecionar todos
// 552
#define JPA_VERSAO "2016.09.14.0944"
#define JPA_VERSAO_RC 2016,09,14,0944
Já pensou ficar alterando esse número manualmente? ou inventando número?
Isso dá uma média de 30 compilações por dia.
Este é o fonte atual, com esse controle de quantidade, só reservei um espaço pro número.
Esse número não entra na versão, foi só pra curiosidade mesmo.
Código: Selecionar todos
PROCEDURE Main
LOCAL cDateTime, cTxt, nBuildNum, cBuildFile
cBuildFile := "d:\cdrom\fontes\build\build.ch"
cDateTime := Dtos( Date() ) + Substr( Time(), 1, 2 ) + Substr( Time(), 4, 2 )
nBuildNum := Val( Substr( MemoRead( cBuildFile ), 4, 10 ) ) + 1
cTxt := "// " + Str( nBuildNum, 10 ) + hb_Eol()
cTxt += "#define JPA_VERSAO " + ["] + Transform( cDateTime, "@R 9999.99.99.9999" ) + ["] + hb_Eol()
cTxt += "#define JPA_VERSAO_RC " + Transform( cDateTime, "@R 9999,99,99,9999" ) + hb_Eol()
hb_MemoWrit( cBuildFile, cTxt )
RETURN
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
usando o FileStats
Quintas,
Esse controle que você fez é um utilitário certo?
Que é chamado antes da compilação do seu sistema?
Esse controle que você fez é um utilitário certo?
Que é chamado antes da compilação do seu sistema?
►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)
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)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
usando o FileStats
exato
Código: Selecionar todos
del jpa.exe
d:\cdrom\fontes\build\build
hbmk2 jpa.hbp %1 %2 %3 %4 %5
if not errorlevel 1 assina jpa.exe
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/

