Boa tarde!
Saberiam me dizer se existe alguma biblioteca tipo a CLBC para que eu possa da uma melhorada no visual do meu sistema feito em clipper e compilado em harbour ?
segue abaixo a tela do meu sistema
Biblioteca CLBC
Moderador: Moderadores
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Biblioteca CLBC
Olá!
Como sabemos, CLBC foi uma biblioteca para uso com Clipper em máquinas 16 bits. Pelo que sei não foi portada para 32 ou 64 bits.
Você informa que já portou teu sistema para Harbour e isto é um ponto positivo.
Na situação atual, creio que o melhor caminho seja portar as tuas telas para as bibliotecas gráficas disponíveis para Harbour. Existem algumas opções tais como MiniGUI, MiniGUI Extended, OOHG, HwGUI. Todas elas apresentam telas com visual gráfico Windows. Eu prefiro HwGUI, por ela ser multiplataforma (Windows, Linux...). Além disto, tem sintaxe OOP, assim como OOHG, mas esta última é pouquíssimo utilizada.
Numa mudança radical, após escolhida uma das bibliotecas, você teria que redesenhar todas as telas do sistema e adaptar ao código existente.
Vários colegas aqui do fórum, que passaram por este processo, adotaram um passo intermediário, agregando aos sistemas uma biblioteca semi gráfica, tipo GTWVW. Este processo permite alterar aos poucos as telas console para uma biblioteca gráfica, até converter todas as telas.
Baixe as bibliotecas e estude o que oferecem. Poste as dúvidas que surgirem. O fórum tem colegas que podem ajudar em cada biblioteca.
Como sabemos, CLBC foi uma biblioteca para uso com Clipper em máquinas 16 bits. Pelo que sei não foi portada para 32 ou 64 bits.
Você informa que já portou teu sistema para Harbour e isto é um ponto positivo.
Na situação atual, creio que o melhor caminho seja portar as tuas telas para as bibliotecas gráficas disponíveis para Harbour. Existem algumas opções tais como MiniGUI, MiniGUI Extended, OOHG, HwGUI. Todas elas apresentam telas com visual gráfico Windows. Eu prefiro HwGUI, por ela ser multiplataforma (Windows, Linux...). Além disto, tem sintaxe OOP, assim como OOHG, mas esta última é pouquíssimo utilizada.
Numa mudança radical, após escolhida uma das bibliotecas, você teria que redesenhar todas as telas do sistema e adaptar ao código existente.
Vários colegas aqui do fórum, que passaram por este processo, adotaram um passo intermediário, agregando aos sistemas uma biblioteca semi gráfica, tipo GTWVW. Este processo permite alterar aos poucos as telas console para uma biblioteca gráfica, até converter todas as telas.
Baixe as bibliotecas e estude o que oferecem. Poste as dúvidas que surgirem. O fórum tem colegas que podem ajudar em cada biblioteca.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Biblioteca CLBC
Olá!
https://pctoledo.org/forum/viewtopic.php?f=4&t=11923&hilit=Clbc&start=270#p165524
Existem vários posts antigos feitos por você com a mesma dúvida. O jeito é meter a mão na massa. Já estaria pronto...bcm escreveu:Saberiam me dizer se existe alguma biblioteca tipo a CLBC para que eu possa da uma melhorada no visual do meu sistema feito em clipper e compilado em harbour ?
https://pctoledo.org/forum/viewtopic.php?f=4&t=11923&hilit=Clbc&start=270#p165524
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Biblioteca CLBC
Tudo dá trabalho, é uma maratona testar alguma coisa, as LIBs irritam pra valer.
Vai precisar muita paciência.
Falou de visual, mas não citou sobre base de dados continuar DBF.
Aqui eu acostumei: minha versão de teste é a que roda diretamente nos clientes. Ou a coisa funciona ou não.
Uso GTWVG, multithread, DBF, MySQL, FIVEWIN e também HWGUI, TUDO NO MESMO EXE.
Se vou demorar pra converter ou não, não estou nem um pouco preocupado.
DESDE OS TEMPOS DO CLIPPER, meu aplicativo se atualiza pela internet, envia email de erro pra mim, consulta webservice, salva XMLs em MySQ da internet, e principalmente MOUSE SEMPRE FUNCIONOU, clique ou rodinha de scroll, até mesmo PDF. Também o uso de vários tamanhos de tela: 24x80, 28x80, 33x80, 50x80
ISSO EM CLIPPER.
Com harbour, entraram GTWVG, multithread, várias janelas, controles Windows. MySQL, PDF melhorado, e outras coisas pelo próprio harbour. E qualquer tamanho de tela linhas/colunas
Agora entrou além de GTWVG, HWGUI e FIVEWIN, tudo no mesmo aplicativo, mesmo EXE.
Se não fizer nada, vão se passar vários anos e vai continuar tudo igual, nunca vai existir solução mágica.
ATENÇÃO:
Os clientes cobram versão Windows, porque acham que tudo vai funcionar mais rápido, igual outros programas Windows.
Tome cuidado pra não quebrar a cara, porque somente mudar visual pode não dar o que eles querem.
Lembrando:
Tudo depende dos fontes.
Fontes lixo, convertidos, vão resultar em fontes mais lixo convertidos.
Sugestão:
Compila com -w3 -es2, vai ser como reaprender a programar.
E isso vai tornar mais fácil mexer nos fontes.
Não é um trabalho de um dia, pode ser de meses ou anos.
Nada impede de fazer isso e outras coisas ao mesmo tempo, é só definir um "método de ataque".
Por conta disso, sugiro começar com GTWVG mesmo, fazendo mudanças úteis nem tanto visual.
Talvez até padronizar algo no visual pra facilitar tudo.
Um bom começo é o uso de buttons, e nem de lib gráfica precisa pra isso, mas com lib gráfica fica mais "bonitinho".
Vai precisar muita paciência.
Falou de visual, mas não citou sobre base de dados continuar DBF.
Aqui eu acostumei: minha versão de teste é a que roda diretamente nos clientes. Ou a coisa funciona ou não.
Uso GTWVG, multithread, DBF, MySQL, FIVEWIN e também HWGUI, TUDO NO MESMO EXE.
Se vou demorar pra converter ou não, não estou nem um pouco preocupado.
DESDE OS TEMPOS DO CLIPPER, meu aplicativo se atualiza pela internet, envia email de erro pra mim, consulta webservice, salva XMLs em MySQ da internet, e principalmente MOUSE SEMPRE FUNCIONOU, clique ou rodinha de scroll, até mesmo PDF. Também o uso de vários tamanhos de tela: 24x80, 28x80, 33x80, 50x80
ISSO EM CLIPPER.
Com harbour, entraram GTWVG, multithread, várias janelas, controles Windows. MySQL, PDF melhorado, e outras coisas pelo próprio harbour. E qualquer tamanho de tela linhas/colunas
Agora entrou além de GTWVG, HWGUI e FIVEWIN, tudo no mesmo aplicativo, mesmo EXE.
Se não fizer nada, vão se passar vários anos e vai continuar tudo igual, nunca vai existir solução mágica.
ATENÇÃO:
Os clientes cobram versão Windows, porque acham que tudo vai funcionar mais rápido, igual outros programas Windows.
Tome cuidado pra não quebrar a cara, porque somente mudar visual pode não dar o que eles querem.
Lembrando:
Tudo depende dos fontes.
Fontes lixo, convertidos, vão resultar em fontes mais lixo convertidos.
Sugestão:
Compila com -w3 -es2, vai ser como reaprender a programar.
E isso vai tornar mais fácil mexer nos fontes.
Não é um trabalho de um dia, pode ser de meses ou anos.
Nada impede de fazer isso e outras coisas ao mesmo tempo, é só definir um "método de ataque".
Por conta disso, sugiro começar com GTWVG mesmo, fazendo mudanças úteis nem tanto visual.
Talvez até padronizar algo no visual pra facilitar tudo.
Um bom começo é o uso de buttons, e nem de lib gráfica precisa pra isso, mas com lib gráfica fica mais "bonitinho".
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
Biblioteca CLBC
Pegando essa tela do post anterior.
É estranho na mensagem mostrar F8, F9 e F10, mas encima só explica F9 e F10, não se sabe o que faz F8.
Mas tudo bem.
Se for colocar botões, vai precisar espaço.
Então, usar um tamanho maior de linhas/colunas já vai reservar o espaço pra botões de clique, sem ter que reinventar toda a tela.
Tem até uma alteração que fiz no harbour pra mim, que será interessantes pra você, que é poder mudar as cores das barras no browse.
Isso já tira um peso das telas.
Provavelmente, ao aumentar tamanho das telas, também vão aparecer as coisas que deixou de colocar por falta de espaço.
Aqui fui mudando as telas aos poucos.
Se mudar de uma vez o usuário pode achar letra pequena demais, mas se for alterando aos poucos o usuário vai se acostumando.
Pode usar 33 x 100
25 x 80 = 2.000 caracteres
33 x 100 = 3.300 caracteres
Digamos que quase dobra o conteúdo que pode usar na tela.
Significa que cabe o que já existe hoje, e pode adicionar mais coisa.
Só usar MaxRow() e MaxCol() nos fontes pra decidir como distribuir a tela.
Se o seu fonte estiver igual acima, basta ajudar a posição inicial pra ter tudo reconfigurado pra outro tamanho de tela.
Se o fonte usar linha 18, 19, 20, 21, 22... vai ter trabalho, mas já pode deixar desse outro jeito.
Usando MaxRow(), MaxCol() pode reservar espaço pro browse, apenas o browse se altera pra ocupar mais tela.
Já vai ter espaço pra adicionar botões e mais coisa que podem pedir.
Esse é um exemplo simples de como deixar pronto pro futuro.
Pode ir ajustando o aplicativo antes de fazer a mudança pra valer.
Se desde a primeira vez que perguntou começasse a fazer isso, teria muita coisa pronta.
Se ficar esperando mudar sozinho, não vai ter nada.
Se ficar com versão paralela, sempre vai ter que parar pra resolver pipino, e sua versão paralela vai ficar desatualizada, e pode perder todo trabalho que foi feito.
Não tem atualização automática ?
Coloca.
Coloca pro aplicativo se atualizar sozinho.
Não vai perder tempo atualizando, vai usar esse tempo pra outra coisa melhor.
Não tem email de erro ?
Coloca.
Vai ser avisado de problema antes mesmo do cliente saber, e já resolve.
Cliente liga diz: é só atualizar
Tempo é importante.
Coloque o computador pra trabalhar pra você.
Não adianta começar a alterar, e gastar dias atualizando os clientes.
O que seria pra melhor, te deu muito mais trabalho, roubou muito mais tempo.
E se der pipino nessa atualização manual, ferrou, mais tempo perdido ainda.
Backup: tá aí o melhor começo, tratar de manter backup atualizado, ou só no cliente, em um FTP seu só pra isso.
A partir daí, mais tranquilo pra prosseguir.
Só nisso acima, vai deixar de perder muito tempo com coisas que não precisa perder tempo.
Tem utilitariozinho pra acertos, coloque no aplicativo na sua senha, vai passar a usar o próprio aplicativo pra fazer correções.
Se precisou uma vez, vai precisar de novo, deixe lá.
E por aí vai.
Se colocar erro por email, pode ter erro que ninguém nunca falou mas acontece. isso é normal.
Fontes no github, Ë GRÁTIS, MESMO PRA USO PARTICULAR.
Isso ajuda muito, é outro coisa aonde pode perder tempo se não fizer isso.
Deu erro: olha pelo git o que mexeu. Em último caso, caso extremo, anule a alteração dos fontes.
Ou aproveite a parte que interessa, pelo git é mais fácil, melhor do que usar porrilhões de backup inúteis.
Apenas comece, vai ter coisa que vai dar errado de primeira, que vai precisar ser melhorado.
Vai melhorando, deixando a prova de erro.
A cada erro que acontecer, coloque algo que antecipe aquele erro.
Se colocou pra receber backup por FTP, pode testar com o backup do cliente antes de enviar pra ele.
Lembrando que... se for aplicativo único, testar um cliente pode servir pra todos.
Ou feito um, pode rodar todos os outros de uma vez pra testar o automático.
Aí tem um montão de coisas que pode fazer, quanto antes começar melhor.
Se ficar esperando, vai ser só isso, ficar esperando.
Vi também que até colocou anúncios do aplicativo.
Quanto mais clientes, menos tempo vai ter, então coloque o computador pra trabalhar pra voce.
Procure colocar em configurações o que for diferente de cada cliente, pra ter sempre um único aplicativo.
Atualizou um, atualizou todos.
Receber tudo prontinho bonitinho, com certeza não vai ter.
Veja nisso tudo, se o visual é a parte mais importante a ser feita.
A partir dai pode começar a se preparar pra depois, ou começar a mudar o visual.
A fase da dúvida é a pior de todas, porque não sai do lugar.
Seja como for COMECE.
Se começar, o resto vém com o tempo.
Se não começar, passará o tempo e estará sempre igual.
Vai voltar aqui e perguntar de novo sobre o que fazer.
É estranho na mensagem mostrar F8, F9 e F10, mas encima só explica F9 e F10, não se sabe o que faz F8.
Mas tudo bem.
Se for colocar botões, vai precisar espaço.
Então, usar um tamanho maior de linhas/colunas já vai reservar o espaço pra botões de clique, sem ter que reinventar toda a tela.
Tem até uma alteração que fiz no harbour pra mim, que será interessantes pra você, que é poder mudar as cores das barras no browse.
Isso já tira um peso das telas.
Provavelmente, ao aumentar tamanho das telas, também vão aparecer as coisas que deixou de colocar por falta de espaço.
Aqui fui mudando as telas aos poucos.
Se mudar de uma vez o usuário pode achar letra pequena demais, mas se for alterando aos poucos o usuário vai se acostumando.
Pode usar 33 x 100
25 x 80 = 2.000 caracteres
33 x 100 = 3.300 caracteres
Digamos que quase dobra o conteúdo que pode usar na tela.
Significa que cabe o que já existe hoje, e pode adicionar mais coisa.
Só usar MaxRow() e MaxCol() nos fontes pra decidir como distribuir a tela.
Código: Selecionar todos
@ 18, 10 SAY "VAlor Total"
@ Row() + 1, 10 SAY "Valor a Pagar"
@ Row() + 1, 10 SAY "Pago em Dinheiro"
@ Row() + 1, 10 SAY "Pago em cheque"
@ Row() + 1, 10 SAY "Pago Cartao Cred"
@ Row() + 1, 10 SAY "Pago Cartao Deb"
@ Row() + 1, 10 SAY "Pago em Pix"
@ Row() + 1, 10 SAY "Troco"
Se o fonte usar linha 18, 19, 20, 21, 22... vai ter trabalho, mas já pode deixar desse outro jeito.
Usando MaxRow(), MaxCol() pode reservar espaço pro browse, apenas o browse se altera pra ocupar mais tela.
Já vai ter espaço pra adicionar botões e mais coisa que podem pedir.
Esse é um exemplo simples de como deixar pronto pro futuro.
Pode ir ajustando o aplicativo antes de fazer a mudança pra valer.
Se desde a primeira vez que perguntou começasse a fazer isso, teria muita coisa pronta.
Se ficar esperando mudar sozinho, não vai ter nada.
Se ficar com versão paralela, sempre vai ter que parar pra resolver pipino, e sua versão paralela vai ficar desatualizada, e pode perder todo trabalho que foi feito.
Não tem atualização automática ?
Coloca.
Coloca pro aplicativo se atualizar sozinho.
Não vai perder tempo atualizando, vai usar esse tempo pra outra coisa melhor.
Não tem email de erro ?
Coloca.
Vai ser avisado de problema antes mesmo do cliente saber, e já resolve.
Cliente liga diz: é só atualizar
Tempo é importante.
Coloque o computador pra trabalhar pra você.
Não adianta começar a alterar, e gastar dias atualizando os clientes.
O que seria pra melhor, te deu muito mais trabalho, roubou muito mais tempo.
E se der pipino nessa atualização manual, ferrou, mais tempo perdido ainda.
Backup: tá aí o melhor começo, tratar de manter backup atualizado, ou só no cliente, em um FTP seu só pra isso.
A partir daí, mais tranquilo pra prosseguir.
Só nisso acima, vai deixar de perder muito tempo com coisas que não precisa perder tempo.
Tem utilitariozinho pra acertos, coloque no aplicativo na sua senha, vai passar a usar o próprio aplicativo pra fazer correções.
Se precisou uma vez, vai precisar de novo, deixe lá.
E por aí vai.
Se colocar erro por email, pode ter erro que ninguém nunca falou mas acontece. isso é normal.
Fontes no github, Ë GRÁTIS, MESMO PRA USO PARTICULAR.
Isso ajuda muito, é outro coisa aonde pode perder tempo se não fizer isso.
Deu erro: olha pelo git o que mexeu. Em último caso, caso extremo, anule a alteração dos fontes.
Ou aproveite a parte que interessa, pelo git é mais fácil, melhor do que usar porrilhões de backup inúteis.
Apenas comece, vai ter coisa que vai dar errado de primeira, que vai precisar ser melhorado.
Vai melhorando, deixando a prova de erro.
A cada erro que acontecer, coloque algo que antecipe aquele erro.
Se colocou pra receber backup por FTP, pode testar com o backup do cliente antes de enviar pra ele.
Lembrando que... se for aplicativo único, testar um cliente pode servir pra todos.
Ou feito um, pode rodar todos os outros de uma vez pra testar o automático.
Aí tem um montão de coisas que pode fazer, quanto antes começar melhor.
Se ficar esperando, vai ser só isso, ficar esperando.
Vi também que até colocou anúncios do aplicativo.
Quanto mais clientes, menos tempo vai ter, então coloque o computador pra trabalhar pra voce.
Procure colocar em configurações o que for diferente de cada cliente, pra ter sempre um único aplicativo.
Atualizou um, atualizou todos.
Receber tudo prontinho bonitinho, com certeza não vai ter.
Veja nisso tudo, se o visual é a parte mais importante a ser feita.
A partir dai pode começar a se preparar pra depois, ou começar a mudar o visual.
A fase da dúvida é a pior de todas, porque não sai do lugar.
Seja como for COMECE.
Se começar, o resto vém com o tempo.
Se não começar, passará o tempo e estará sempre igual.
Vai voltar aqui e perguntar de novo sobre o que fazer.
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/
Biblioteca CLBC
Bom dia!
Este sistema eu fiz em gaspro e compilei em harbour para roda em computadores 64 bits.
No inicio tive que fazer algums ajustes para que pudesse rodar 100% sem erros.
Quanto ao F8,f9 tem um help quando o cliente aparta a tela F1.
Uso o banco de dados dbf.
Vou me dedica algumas horas do meu dia para fazer esses ajustes.
Obrigado pela força!
Este sistema eu fiz em gaspro e compilei em harbour para roda em computadores 64 bits.
No inicio tive que fazer algums ajustes para que pudesse rodar 100% sem erros.
Quanto ao F8,f9 tem um help quando o cliente aparta a tela F1.
Uso o banco de dados dbf.
Vou me dedica algumas horas do meu dia para fazer esses ajustes.
Obrigado pela força!
