Clipper On Line • Ver Tópico - Gerador de fonte com algo mais

Gerador de fonte com algo mais

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 05 Set 2016 21:57

Quando comecei a aprender Visual Basic, a parte mais chata era a lentidão de aprender as coisas.
Parecia estar em marcha lenta, tipo, uma semana ou mais preparando um cadastro.
Então... criei este programa em Clipper pra sentir que estava rápido.

No final, a conclusão foi: gerar fonte pra que?

Não tem recursos extraordinários, no que diz respeito a fontes.
Talvez seja interessante pra ver que, onde uso classe hoje, já vinha tomando essa forma há muito tempo.

Usar um arquivo postado recentemente de "cobaia".

 Pasta de d:\temp

05/09/2016  21:36    <DIR>          .
05/09/2016  21:36    <DIR>          ..
05/09/2016  21:36           540.160 gera.exe
05/09/2016  07:10        22.543.888 NCM_IBPT.DBF
               2 arquivo(s)     23.084.048 bytes
               2 pasta(s)   470.669.692.928 bytes disponíveis


gerador1.png
gerador1.png (4.42 KiB) Visualizado 3426 vezes


Opção A, atualizar Estruturas, confirma Sim.

Opção E, executa simulação

gerador2.png


gerador3.png


gerador4.png


Pois é, menu, cadastro, relatório, e utilitários que inclui reindexação.
Pra todos os DBFs da pasta, mas no caso agora só tem 1.

E chamando a opção de gerar fontes, todos os fontes pra Clipper ou Visual Basic.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 05 Set 2016 22:07

Não para por aí não.
Tem a modificação do "dicionário".

gerador5.png


Vou alterar só a indicação de campo chave.
Para usar os demais, precisaria de mais arquivos, pra fazer uma espécie de relacionamento entre eles, já com pesquisa automática e mostrando descrição.
Alterando campo chave pra .T., fazendo a simulação, reindexando na rotina de reindexação já do simulador, a nova tela do cadastro.

gerador6.png


Sim, totalmente funcional.
Pesquisa código, browse, validação de código já cadastrado na inclusão, validação de código inexistente nas demais opções.
Isso é no simulador, não foi gerado nenhum fonte.

No relatório, agora também opção de intervalo de códigos.

gerador7.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 05 Set 2016 22:14

Preciso atualizar tudo pra biblioteca atual.
A geração em Clipper, nem precisa dizer que é igual ao simulador.
E carregando os fontes gerados pra VB:

gerador8.png


Com isso, pelo menos ao invés de parecer que eu estava trabalhando em apenas um fonte, eu estava trabalhando no aplicativo inteiro de uma vez.

É sem botões nos ícones mesmo, pelo menos no projeto.
Da mesma forma que faço na GTWVG, as imagens são colocadas em run-time, baseadas no nome do pushbutton.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 05 Set 2016 22:26

Fazia isso pra TODOS os DBFs do sistema.
Como deu pra perceber, inclusive dividir em várias abas quando havia muitos campos.

Depois de um certo tempo, olhei direito o troço e pensei:

Se dá pra criar tudo em run-time, pra que fonte?
Mais fácil trabalhar com o dicionário, e nem precisar compilar !!

Pois é... acho que isso era um antecessor das classes que uso hoje.

Mas na época ajudou a brincar.

Hoje os fontes desse gerador estão "fora de forma", não compatíveis com bibliotecas atuais.
VB não uso mais, só pra atualizar o site harbourdoc.com.br mesmo.
Usei na vez anterior pra ajudar a desvendar a DLL do RMChart, e agora pra este post.

Acho que minha classe atual de cadastros acaba fazendo isso que o gerador fazia.
Ao invés de gerar fonte repetitivo, a classe já assume esse papel.

Essa é uma daquelas coisas que poderia apagar, mas continua aqui no HD.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 05 Set 2016 23:02

Não, os HDs não estão cheios, tem espaço de sobra.

hds.png


C: >> 120GB Windows, e programas que instalam junto com Windows (SSD)
D: >> 500GB Fontes, documentos, etc.
E: >> Tudo do D:, mais músicas, fotos, filmes, e instaladores de programas
F: >> cópia do E:

Por coincidência, os 3 HDs tem quase o mesmo espaço livre.

Por falar nisso.....
Conheci um programador que cada vez que fazia cópia dos fontes, usava pasta diferente.
Tinha cópia, de cópia, de cópia, de versões diferentes, em lugares diferentes.
Ao adquirir HD novo, lá copiava tudo de novo, dentro de pasta, de outra pasta, etc.
Na hora de trabalhar, nem sabia qual das pastas usar pra trabalho.
E na hora de precisar de um HD livre... nenhum podia ser apagado, porque tinha algo que poderia ser útil... rs

Cuidado com isso.
Ao invés de ajudar, isso atrapalha.
Se for o caso, organize as pastas por data: sistema-2016-09-05 por exemplo, pra identificar do que se trata, e vai sempre saber aonde estão os fontes atuais.
Mas melhor mesmo é usar o software GIT, e deixar por conta dele.

Por exemplo, meus backups do MySQL:

backupmysql.png


Já aproveitei pra fazer uma limpeza, costumo deixar só os 3 últimos.
Mas está fácil identificar ao que se refere cada um, e quais são os 3 últimos.
Não costumo olhar a pasta, o HEIDISQL já está configurado pra gerar desse jeito, apenas executo o backup.

Simples e prático.
Foi assim também que acabei colocando o backup automático no aplicativo, mesmo esquema, com datas no nome.
E o mesmo critério que usaria manualmente, usei no aplicativo: deixar o primeiro de cada mês, um de cada semana dos 2 meses anteriores, e o diário das duas últimas semanas.
Tudo gerenciado pelo aplicativo nos clientes, assim não tem surpresa.
Só "ensinei" pro aplicativo como eu fazia.... rs

Transformar o aplicativo em um ajudante é bom.
O aplicativo não esquece nunca, não reclama do salário, e dá pra confiar.
É interessante isso, de fazer o computador trabalhar pra nós, transformar em ajudante, e não em "atrapalhador".
Sobra tempo pra outras coisas.

Fugi um pouco do gerador, mas é porque tudo isso faz parte do mesmo passado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 21 Out 2018 15:45

Ressucitando esse gerador, mas não atualizando ainda para o padrão atual.
Corrigi a execução de cadastro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 21 Out 2018 22:45

Aqui um browse da configuração.
Foram marcados os campos chave de cada arquivo.

gera1.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 21 Out 2018 22:46

No caso do financeiro, indiquei que o cadastro será pesquisado em JPCADAS e será apresentado CDNOME

gera2.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 21 Out 2018 22:47

Em execução, a tela pra JPCADAS

gera3.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 21 Out 2018 22:48

Em execução a tela pra JPFINAN.
Neste caso, já pesquisando e mostrando informação do cadastro

gera4.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 21 Out 2018 22:49

E F9 no código, mostrando um browse.
Como usei a rotina atual, com ícones.

gera5.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 21 Out 2018 22:50

O menu, com base nos arquivos.

gera6.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 21 Out 2018 22:53

Então....
Inicialmente foi pra gerar fontes.
Dá pra executar, e fazer todos os testes antes de gerar fontes.
Validações, Picture, pesquisar em outro arquivo, etc.
Dá pra ir configurando e testando.
E depois gerar os fontes.

Pra quem achou legal até aqui.... ter facilidade em gerar fontes.... pense no seguinte:

Se funciona sem fonte, pra que gerar fonte?

Nota:
Basicamente é acionar a opção de ler estrutura dos DBFs, e depois ir configurando do jeito que quiser.
E dá pra fazer o inverso: cadastrar campos nesse gerador, e a partir dele gerar/atualizar as estruturas.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 22 Out 2018 12:55

É pra um código fonte que eu usava há alguns anos, dependente de LIBs que nem tenho mais.
Por isso tive que atualizar os fontes.
Atualizei só a parte necessária, só para funcionar a execução.

O interessante é que... depois de testado tudo em Harbour, gera fontes em PRG ou Visual Basic, com tela GUI lógico.
Poderia ser atualizado pra gerar em HWGUI, HMGE, etc.

Todos os meus fontes de LIB estão disponíveis.
Se eu atualizar para o padrão atual, fica pronto pra compilar com todos os fontes.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Gerador de fonte com algo mais

Mensagempor JoséQuintas » 23 Out 2018 11:07

O pessoal gosta dessa cor.
Já tentei trocar no passado, mas não vai.
E tem a funcionária de um cliente com estrabismo, dependendo da cor ela tem problemas de tontura.
Trocar cor está fácil, mas o difícil é agradar a todos.

Deixo as cores em SetColorNormal(), SetColorBox(), SetColorFocus(), etc.
Basta alterar as funções e pronto, mesmo que fosse pra ler/gravar configuração.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

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