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: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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/

