Simplificando fontes - hbnfe (Harbour -w3 -es2)

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

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Se existe, está na hbnfe.
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/
aedurocha
Usuário Nível 1
Usuário Nível 1
Mensagens: 22
Registrado em: 31 Ago 2011 20:28
Localização: Iguatu-Ceara

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por aedurocha »

José Quintas achei que você conhecia a fução porque usou como exemplo na sua mensagem de numero 4124
cXMl := ConverteTxtXml( cTxt )

Mas pelo que percebí agora era só exemplo não e?
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por Toledo »

aedurocha escreveu:na sua mensagem de numero 4124
A expressão "Mensagens: 4124" corresponde ao número de mensagens que o usuário postou aqui no fórum.

A mensagem que aedurocha indicou na mensagem acima é:
https://pctoledo.org/forum/viewto ... 30#p100271
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Levei um tempinho pra lembrar o que meu fonte fazia... rs

É um exemplo interessante de uso de #define pra facilitar, até com FOR EACH.
Espere lá, aproveite pra fazer um teste.

Analise quanto tempo leva pra decifrar o que este fonte faz, e o que ele está usando:

Código: Selecionar todos

   FOR nCont = 1 TO Len( oTBrowse )
      temp := tbColumnNew( oTBrowse[ nCont, 1 ], oTBrowse[ nCont, 2 ] )
      IF Len( oTBrowse[ nCont ] ) > 2
         temp:ColorBlock := oTBrowse[ nCont, 3 ]
      ENDIF
      oBrowse:AddColumn( temp )
   NEXT
Agora facilitando com #define, analise quanto tempo leva.

Código: Selecionar todos

#define TB_TITULO 1
#define TB_CONTEUDO 2
#define TB_BLOCO_COR 3

   FOR nCont = 1 TO Len( oTBrowse )
      temp := tbColumnNew( oTBrowse[ nCont, TB_TITULO ], oTBrowse[ nCont, TB_CONTEUDO ] )
      IF Len( oTBrowse[ nCont ] ) > 2
         temp:ColorBlock := oTBrowse[ nCont, TB_BLOCO_COR ]
      ENDIF
      oBrowse:AddColumn( temp )
   NEXT
E finalmente, também com FOR EACH

Código: Selecionar todos

#define TB_TITULO 1
#define TB_CONTEUDO 2
#define TB_BLOCO_COR 3

   FOR EACH oColuna IN oTBrowse
      temp := tbColumnNew( oColuna[ TB_TITULO ], oColuna[ TB_CONTEUDO ] )
      IF Len( oColuna ) > 2
         temp:ColorBlock := oColuna[ TB_BLOCO_COR ]
      ENDIF
      oBrowse:AddColumn( temp )
   NEXT
E aÍ? perdeu menos tempo no último pra entender?
Se fez diferença num fonte pequeno.... imagine num fonte grande, ou no sistema inteiro.

Facilita fazer o fonte assim? em alguns casos sim
Facilita alterar um fonte assim? sempre
Onde mais gastamos tempo? Alterando fonte....
Então é sinal de que devemos gastar tempo na criação, pra facilitar em todas as alterações.

Compare mais um pouco o primeiro e o último fonte.
Não é uma rotina complicada, é algo relativamente simples, e fez diferença.
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por asimoes »

Quintas,

Você disse neste tópico:
Perguntaram uma vez para o que eu usava o meu jpa.ch.
Eu uso assim no hbp ou hbm

-u+hbcompat.ch

ou como sugestão

-u+jpa.ch

Não precisa colocar #include "jpa.ch" em todos os fontes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Confirme uma coisa importante, pode fazer diferença:

Quando altero o jpa.ch, na compilação incremental TODOS os fontes que o usam são recompilados.
Isso garante que será usado o de versão mais recente.

Verifique se desse jeito acontece o mesmo, senão pode ser perigoso. (apesar de eventual).
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por asimoes »

Quintas,

Eu sempre faço -rebuild, mesmo que demore um pouco a compilação.

Fiz um teste aqui e se houver uma modificação no .ch o exe não é recompilado.

Então o ideal é usar -rebuild
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Então é uma diferença entre colocar no fonte, ou indicar no hbp.
Aqui prefiro tudo no automático, pra eu não esquecer de nada... rs
Geralmente quando temos um problema é pra resolver logo, e nessas horas é que podemos acabar esquecendo do -rebuild.

No momento meu jpa.ch contém o número de versão, que é importante.

E meu aplicativo, ao criar arquivo na pasta temp, já apaga arquivos com mais de 4 horas, incluindo os da compilação.... rs

Já tive problema no servidor pela pasta temp conter muitos arquivos, por isso a limpeza.
O Windows tem limites.
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/
Responder