Clipper On Line • Ver Tópico - Facilidade de soluções e -w3 -es2

Facilidade de soluções e -w3 -es2

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

Moderador: Moderadores

 

Facilidade de soluções e -w3 -es2

Mensagempor JoséQuintas » 17 Jul 2019 16:45

Tem horas que eu mesmo me espanto com facilidade em soluções.
E compilando com -w3 -es2... facilita muito mais.

Problema:

tem lá a rotina que cria e pode enviar por email os XMLs de um mês
Agora foi necessário gerar de 2016 a 2018, 36 meses....
Como separar por mês?

Bom... vamos lá...

GET dDatIni
GET dDatFim
...
rotina que gera

passo 1:
Separei a rotina que gera

FUNCTION GeraDados( dDatIni, dDatFim )

E compilando com -w3 -es2, ajustei as variáveis, pra deixar no lugar certo.
Desta forma, a sub-rotina passou a gerar qualquer intervalo que eu queira

Agora só restou passar as datas pra rotina, e nada mais.

Solução relativamente simples:

dSubDatIni := dDatIni
DO WHILE dSubDatIni < dDatFim
   dDatSubFim := Min( UltDia( dSubDatIni ), dDatFim )
   GeraDados( dSubDatIni, dSubDatFim )
   dDatSubIni := UltDia( dDatSubIni ) + 1
ENDDO


Pronto, problema resolvido.

explicando....

A data inicial se mantém...
A data final pode ser o último dia do mês da data inicial, ou a data final digitada, a menor das duas
Exemplo: de 1/5 a 10/5 ou 1/5 a 31/5
Pronto... isso resolve pra ter as datas limites do primeiro mês

O próximo mês: será o último dia desse primeiro mês, somando um.
Exemplo: se é 1/5... o último dia será 31/5, que somado um é 1/6
E volta a repetir o anterior, até que esse primeiro dia seja maior do que o limite digitado.

Um problema que à primeira vista seria complexo, resolvido com poucas linhas.

E lógico... compilando com -w3 -es2, que avisa sobre variáveis, facilitou evitar erros na separação da rotina, foi só criar as variáveis necessárias, ou passar por parâmetro se necessário.

A intenção é mostrar aqui o seguinte:

1. Compilando com -w3 -es2 ajuda muito, porque mexe sem medo, e evita erros
2. Pensando em melhorar rotinas, sobra tempo pra pensar em rotinas melhores.
3. Resultado final: rotinas melhores, menos trabalho, e soluções mais rápidas

Às vezes até compensa fazer pausas, pensar um pouco, tomar café, jogar asteroyds, voltar a pensar, jogar mais asteroyds, e depois alterar.
Vai gastar o mesmo tempo, mas fazer muito mais tranquilo.

Agora gerando....

gera1.png


gera2.png


Conferidos os meses já gerados, tempo pra jogar mais asteroyds, ou postar no fórum, ou melhorar mais coisas, ou tomar café, ou relaxar um pouco, ou partir pra próxima tarefa... tudo tranquilo.

Nota: São todos os XMLs emitidos e recebidos em 3 anos, por isso demora um pouquinho, talvez alguns gigas...
O nome dos arquivos.... CNPJ-ano/mês.zip... mais simples impossível.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

Facilidade de soluções e -w3 -es2

Mensagempor JoséQuintas » 17 Jul 2019 16:57

gera2.png
gera2.png (4.62 KiB) Visualizado 79 vezes


Aproveitando....

Esse arquivo é o backup dos dados...
É um aplicativo de meu uso, JPA Tecnologia é minha empresa.

Alguma dúvida sobre o arquivo ser de JPA Tecnologia, ser backup, e ter sido feito nessa data?
Nome simples, não precisa nada especial pra saber do que se trata.

E se eu misturar tudo que é backup, de vários clientes, etc....
tem lá nome da empresa, data e hora. Ficando tudo na mesma pasta, nada está misturado.

Antigamente meus backups de fontes eram assim também.
Fica prático, não precisa ficar inventando nomes, e fica fácil pra localizar depois.
No caso dos fontes, chamava de FONTES-anomesdia-hora.zip
Tudo organizado, sem precisar organizar kkkk

Serve como sugestão pra vocês, caso ainda não façam assim.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

Facilidade de soluções e -w3 -es2

Mensagempor JoséQuintas » 17 Jul 2019 17:09

Minha pasta com tudo junto, só pra mostrar como fica:

backup.png
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

Facilidade de soluções e -w3 -es2

Mensagempor JoséQuintas » 17 Jul 2019 17:13

Aonde está o backup da empresa tal.... na pasta de backup.
Vou testar a empresa tal... descompacto o backup e faço o teste.
Espalhar coisas no HD pra que? pra depois ficar procurando?

É o que eu digo: organizar o trabalho, simplifica tudo, tem muita coisa que pode ser organizada.
anos depois.... tá lá na pasta backup, o zip da empresa... não esquece nunca aonde está, passou a fazer parte do dia a dia, mesmo que demore anos pra usar.

Também uso esse esquema no cliente, também para o MySQL, e tudo mais, funcionou - é usar sempre e pronto.

Também serve, numa olhada rápida, pra ver se o backup está menor, o que pode indicar perda de informações ou backup incompleto - pode acontecer isso, nunca se sabe.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 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
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro