Como substituir "Clipper Power Tools Library" (ptool52.lib)?

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

Moderador: Moderadores

Silas R. Mertin
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 02 Set 2014 00:56
Localização: Santa Rosa/RS

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Mensagem por Silas R. Mertin »

Olá! estou chegando agora no "mundo Harbour" e necessito converter um sistema Clipper para executá-lo em Windows XP/Vista/8 sem necessidade de rodar uma máquina virtual, no entanto, o problema é que utilizo a biblioteca de terceiros "Clipper Power Tools Library" (ptool52.lib).
Pelo que entendi até o momento, não é possível fazer uso de bibliotecas de terceiros, ao querer converter sistemas Clipper para Harbour, certo?
Inicialmente só quero converter o sistema para continuar a rodar em modo Console.
Alguém tem uma ideia do que devo fazer?
Fico agradecido por alguma ajuda.
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Mensagem por cjp »

Silas, não sou a pessoa mais indicada para te ajudar, mas vou tentar: seria bom você informar quais funções da ptool52.lib vc quer usar. Muito provavelmente haverá, no próprio Harbour ou em alguma lib do Harbour, função semelhante, função equivalente.
Inacio de Carvalho Neto
Silas R. Mertin
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 02 Set 2014 00:56
Localização: Santa Rosa/RS

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Mensagem por Silas R. Mertin »

Olá, verificando o meu sistema, identifiquei o uso das seguintes funções da biblioteca ptool52.lib:
ALength(), BuildGetSystem(), ChDir(), DATEREADR(), Decrypt(), DefaultKeys(), Encrypt(), ErrorTone(), GetRecord(), IsStable(), KillRead(), MakeEmpty(), MenuDisplay(), MenuModal(), MenuNew(), MenuPadC(), MenuPadR(), MenuRowCol(), PTGetActive(), PutRecord(), SetKeyTable(), TimeString(), ValidDrPath(), WClose(), WCol(), WInit(), WMaxCol(), WMaxRow(), WOpen(), WRow(), WSet()

Se alguém souber como substituí-las por equivalentes do Harbour, agradeço.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Mensagem por Jairo Maia »

Olá Silas,

Várias por dedução é possível saber o que fazem e suas equivalentes, porém outras podem ter comportamento diferente dessa lib, como por exemplo entre outras as funções Decrypt() e Encrypt().

Como Clipper e suas ferramentas foram descontinuadas, você já tentou descompilar os fontes e tentar recuperar essas funções do executável?
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)
Silas R. Mertin
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 02 Set 2014 00:56
Localização: Santa Rosa/RS

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Mensagem por Silas R. Mertin »

Olá Jairo!

Possuo todos os fontes do sistema em questão (.prg), no entanto, as referidas funções provêm da biblioteca ptool52.lib. Você se refere a descompilar os fontes, não entendi como eu faria isso. Poderia esclarecer?

Obrigado!
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Mensagem por Jairo Maia »

Silas, você precisa usar uma ferramente de descompilação do executável. Você pode usar esta da seção downloads: Valkyrie.

Sugiro você criar um pequeno executável em Clipper, incluindo chamada para todas as funções dessa lib que você usa, depois use o valkyrie, e veja se você consegue sucesso.

Este é um caminho mais rápido, para que você depois possa ir substituindo as funções por funções nativas do Harbour, ou de libs suportadas pelo Harbour. Nem todas as funções podem ser possível descompilar, mas faça um teste.

Veja se você tem sucesso com o Valkyrie.
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 do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Mensagem por Nascimento »

amigo jairo baixei a respectiva lib e vi que foi feita em assembly
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Silas R. Mertin
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 02 Set 2014 00:56
Localização: Santa Rosa/RS

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Mensagem por Silas R. Mertin »

Olá Jairo!

Muito obrigado pela dica do descompilador, já consegui descompilar algumas funções, conforme suas instruções.
Comecei com um aplicativo mais simples e consegui incluir estas funções num .prg.
Já consegui criar o executável, utilizando o HMG 3.0.35, e conforme alguns testes rápidos, parece que está funcionando da forma como funciona o executável Clipper, o único porém é que, no momento de rodar o executável, ele insiste em abrir no modo "debug", sendo necessário pressionar a tecla F5 para que a execução continue, não sei qual a razão disso.
Próximos dias continuarei com a tentativa de recuperar as demais funções, de outro aplicativo mais complexo, e assim que eu precisar de alguma ajuda, estarei postando aqui.

Mais uma vez, obrigado pela dica. Também agradeço aos demais que se disponibilizaram em contribuir na solução do problema.

Silas
Responder