Clipper On Line • Ver Tópico - Gerador de fonte com algo mais
Mudar para estilo Clássico
Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.
Postar uma resposta

Gerador de fonte com algo mais

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".

Código:
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 3476 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.

Gerador de fonte com algo mais

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

Gerador de fonte com algo mais

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.

Gerador de fonte com algo mais

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.

Gerador de fonte com algo mais

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.

Gerador de fonte com algo mais

21 Out 2018 15:45

Ressucitando esse gerador, mas não atualizando ainda para o padrão atual.
Corrigi a execução de cadastro.

Gerador de fonte com algo mais

21 Out 2018 22:45

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

gera1.png

Gerador de fonte com algo mais

21 Out 2018 22:46

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

gera2.png

Gerador de fonte com algo mais

21 Out 2018 22:47

Em execução, a tela pra JPCADAS

gera3.png

Gerador de fonte com algo mais

21 Out 2018 22:48

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

gera4.png

Gerador de fonte com algo mais

21 Out 2018 22:49

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

gera5.png

Gerador de fonte com algo mais

21 Out 2018 22:50

O menu, com base nos arquivos.

gera6.png

Gerador de fonte com algo mais

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.

Gerador de fonte com algo mais

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.

Gerador de fonte com algo mais

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.
Postar uma resposta