Clipper On Line • Ver Tópico - Convertendo Sistema do GASPRO para Harbour

Convertendo Sistema do GASPRO para Harbour

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

Moderador: Moderadores

 

Convertendo Sistema do GASPRO para Harbour

Mensagempor Toledo » 13 Set 2012 17:49

Olá Jairo, segue em anexo o arquivo GASP40HB.PRG com as correções.

Incluir no XXX_PUBL.CH:
drvautohelp:=.t.
arq_:=""
Mou_Lin_S:= Mou_Col_S := Mou_Lin_I := Mou_Col_I := 0


Incluir no arquivo CH principal (NomeProjeto.ch):
#define opcoes_rel(l_m,c_m,op_rel,sos_cod,fil_ini) OPCOES_RHB(l_m,c_m,op_rel,sos_cod,fil_ini)
#command IMP_BRW( ) => IMP_BRWHB( )
#command MONTA_LIN(<qtlin_>,<qttab_>) => MONTA_LINHB(<qtlin_>,<qttab_>)

#command SET PRINTER TO <(file)> [<add: ADDITIVE>] => ;
Set_Printer( <(file)>, <.add.> )


Link para download da última versão do Gas4Harbour

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor Jairo Maia » 13 Set 2012 19:04

Olá Toledo,

Ulalá.... Fantástico cara...

Show de bola... Quem sabe, sabe mesmo, e não se discute...

Todos os testes tanto em LPT e USB e também em impressora da rede funcionaram corretamente, quer seja para relatórios ou consultas.

Parabéns! Isto vai facilitar e muito quem for migrar sistemas construidos com o GASPRO e sem muita burrocracia.
:-Y :{
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor Toledo » 13 Set 2012 20:01

Jairo, como já disse minha intensão é mexer o mínimo possível nos arquivos gerados pelo GAS, então se você ou algum dos amigos (Alexandre Silva, clipsis, bcm, etc) que estão a mais tempo nesta converção, possa relacionar as alterações que tiveram que fazer no código gerado pelo GAS para converter para o Harbour. Principalmente as alterações que podem se perder quando se gerar novamente o projeto no GAS. É claro, tirando estas alterações que eu já fiz no arquivo GASP40HB.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor Jairo Maia » 13 Set 2012 23:14

Legal Toledo,

Da minha parte, vou sim dedicar tempo para relacionar as alterações dos fontes que fiz, tentando seguir na mesma linha que você está seguindo, e assim que possível reporto.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor Toledo » 15 Set 2012 00:42

Amigos, montei um pequeno programinha para facilitar esta conversão de sistemas GASPRO40 para Harbour.

Com este programa não é necessário fazer qualquer alteração nos arquivos gerados pelo GASPRO40, basta apenas seguir estas instruções:

1 - Descompactar o arquivo em anexo dentro da pasta onde estão os arquivos (PRG,LNK,CH,etc) do programa gerado pelo GASPRO40.
2 - Copiar o arquivo GETSYS.PRG (que está na pasta C:\GASPRO40) também para a pasta do programa.
3 - Deletar os arquivos de índices dos arquivos de senhas (PWGRUPO1.NTX, PWTABEL1.NTX, PWUSUA1.NTX e PWUSUA2.NTX)

Feito isto, basta digitar: Gas4Harbour <NomedoArquivoLNK>

<NomedoArquivoLNK> = É o nome do arquivo LNK gerado pelo GASPRO40.

Obs.: é claro que o HARBOUR deve estar instalado e configurado, bem como o BCC55 ou MingW.

Bom, o que este programa faz é simplesmente montar o arquivo HBP e alterar os arquivos XXX.CH, XXX_PUBL.CH e XXX.PRG (arquivo fonte principal) com os comandos necessários para a conversão e depois fazer a compilação.

Espero que seja útil!

Link para download da última versão do Gas4Harbour

Abraços,
Nota de Moderação:
Toledo: O arquivo em anexo foi atualizado com a nova versão
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor vailton » 15 Set 2012 09:02

F A N T A S T I C O ! ! !
Parabens Toledo pela iniciativa, muito bom mesmo!
Vailton Renato
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"

E-mail/MSN: contato@vailton.com.br
Skype: vailtom
Avatar de usuário

vailton
Colaborador

Colaborador
 
Mensagens: 378
Data de registro: 17 Nov 2005 18:08
Cidade/Estado: Brasil
Curtiu: 2 vezes
Mens.Curtidas: 11 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor Toledo » 15 Set 2012 09:43

Obrigado Vailton!

Existem ainda alguns comandos/funções gerados pelo GASPRO que ainda não foram convertidos no GASCOMP, mas conforme os amigos forem relatando os problemas, vamos tentando corrigir.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor Jairo Maia » 15 Set 2012 10:16

Olá Toledo,

Fiz algumas alterações no GasComp, e gostaria que você analizasse.

[Editado]

As alterações estão nas linhas 13, linhas 91 a 98, linha 113, linhas 137 a 181. Obrigado.
Anexos
GASCOMP.ZIP
(1.88 KiB) Baixado 231 vezes
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor Toledo » 15 Set 2012 14:43

Jairo, perfeito! Fiz também algumas alterações estruturais e segue em anexo uma nova versão do GASCOMP.

Falta agora resolver o problema do arquivo ERROS.DBF. Ví uma solução em um outro tópico aqui no fórum, mas o ideal seria conseguir decifrar como as funções ENCRIPT e DECRIPT do GAS funcionam.

Link para download da última versão do Gas4Harbour

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor Jairo Maia » 16 Set 2012 10:40

Olá Toledo,

Foi necessário um pequeno ajuste novamente no GASCOMP, para corrigir um problema que não tinha visto antes, a saber: Quando ele faz os ajustes nos PRGs, ele altera também o GASCOMP.PRG distribuido no pacote. Peço desculpas e sua paciência.

Apenas acrescentei no laço FOR/NEXT que ajusta os PRGs, logo abaixo da linha que pega o nome do arquivo o seguinte:
If Upper( cArquivo ) = "GASCOMP.PRG"
Loop
Endi

Isso permite que o fonte do GASCOMP permaneça sempre intacto. Novamente, desculpe o inconveniente e conto com sua compreensão.

Quanto ao arquivo de erros, penso que a solução que você viu foi a questão de descriptografar o DBF de erros e depois criptografar com a nova função. Usei assim e substituo no cliente com o instalador, uma vez que sempre uso instalador nos meus sistemas para atualização no cliente.

Agora, se conseguir entender o funcionamento do DECRIPT e ENCRIPT dos GAS ficaria muito bom. Também vou tentar novamente isso e ver onde podemos chegar, pois seria muito legal resolver isso também, e de quebra, nem mesmo as senhas dos clientes se perderiam na mudança para Harbour.
Anexos
GASCOMP.ZIP
(1.94 KiB) Baixado 257 vezes
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor Toledo » 17 Set 2012 11:45

Jairo Maia escreveu:Apenas acrescentei no laço FOR/NEXT que ajusta os PRGs...

Bem lembrado Jairo, eu já atualizei minha cópia!

Olha, consegui decifrar em partes as funções DECRIPT e ENCRIPT, mas foi o suficiente para ler os arquivos de senha e o ERROS.DBF. Então estes dois problemas já foram resolvidos, tive apenas que deletar os arquivos NTX das senhas!

As funções DECRIPT e ENCRIPT, nos testes que eu fiz, estão funcionando 100% sem a utilização da senha (segundo parâmetro destas funções). Para descriptografar o arquivo ERROS.DBF, que usa uma senha, montei uma condição específica para a senha utilizada na criptografia. Se a senha passada para as funções for diferente da utilizada na encriptação do arquivo ERROS.DBF, é utilizado então a função alternativa CRIPTOGRAFA().

Bom, vou fazer mais algumas outras alterações em relação ao BACKUP/RESTAURA e depois posto uma nova atualização do GASCOMP.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor clipsis » 21 Set 2012 09:47

Olá e bom dia a todos

Primeiro obrigado e parabéns pela iniciativa.
Ajduará e muito quem quer "Converter" sistemas gerados pelo GasPro.

Gerei um sistema para testar tanto o GASCOMP como o GASPROHB.

Executei o GASCOMP e ele alterou os fonte e gerou o script para compilação corretamente. O estranho é que quando tentei executar o programa ele simplesmente volta ao prompt e não aparece a tela do programa.

O que fiz de errado ?

Abraços
Clipper 5.2/Blinker
Harbour 3.0/Mingw
clipsis
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 79
Data de registro: 02 Jun 2010 11:53
Cidade/Estado: brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Convertendo Sistema do GASPRO para Harbour

Mensagempor Jairo Maia » 21 Set 2012 10:42

Olá clipsis,

clipsis escreveu:simplesmente volta ao prompt e não aparece a tela do programa
Pois é... A razão eu também não consigo entender, e com sistemas gerados pelo GAS ainda não aconteceu comigo.

Porém, essa situação estranha me parece que é porque ele não lê a função Main(). Tente fazer o seguinte para ver se é isso:

1- Edite seu PRG principal e comente a linha Function Main()
2- Sem usar o GASCOMP, para que esta linha não seja reconstruída, compile assim: HBMK2 Nome_Arquivo.HBP. Veja se vai funcionar.

NOTA: Como você já leu, o GASCOMP ainda é versão Beta, então se você for usá-lo após essa alteração sem que tenha gerado os fontes novamente, descomente a linha Function Main(), se não, o GASCOMP duplica algumas informações no PRG principal.

[Editado]
Desculpe pessoal. Falei bobagem. O que coloquei em NOTA, ocorre somente se EXCLUIR a chamada ao arquivo hbgtinfo.ch.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Convertendo Sistema do GASPRO para Harbour

Mensagempor clipsis » 01 Out 2012 08:05

Olá Jairo Maia e a todos

Desculpe a demora na resposta mas esses dias foram de muito trabalho por aqui.

Fiz o que você mencionou sobre comentar a linha //Function Main(). Porém não resolveu.
Continua tendo o mesmo comportamento: Quando executo o programa ele simplesmente volta ao prompt e não aparece a tela do programa.

Alguém teria mais alguma sugestão ?

Vou fazer mais alguns testes se conseguir algum progresso posto aqui

Abraços
Clipper 5.2/Blinker
Harbour 3.0/Mingw
clipsis
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 79
Data de registro: 02 Jun 2010 11:53
Cidade/Estado: brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Convertendo Sistema do GASPRO para Harbour

Mensagempor clipsis » 03 Out 2012 12:01

Olá e bom dia a todos!

Consegue encontrar o problema de executar e voltar ao prompt.

O que estava ocasionando o problema era a linha:
REQUEST HB_GT_WVT_DEFAULT
Acontece que quandotiro essa linha o programa apresenta erro na linha:
HB_GtInfo( HB_GTI_ISFULLSCREEN, .T. )

Erro irrecuperável 9003: Muitas chamadas recursivas ao manipulador de erros
Called from TYPE(0)
Called from ERROMSG(1074) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from DBOX(1657) in GASP40HB.PRG
Called from ERROMSG(1161) in GASP40HB.PRG
Called from (b)ERRORSYS(2457) in SIS_PROC.PRG
Called from MAIN(25) in SISBANHO.PRG


Comentando essas 2 linhas o programa executa normalmente.
Do restante parece estar tudo ok.

Abrãços
Clipper 5.2/Blinker
Harbour 3.0/Mingw
clipsis
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 79
Data de registro: 02 Jun 2010 11:53
Cidade/Estado: brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Anterior Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online 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