De lá pra cá, classes e harupdf.
Isso vém bem a calhar pra mostrar o que falei sobre classes.
Eu já tinha funções pra muita coisa, eu apenas aproveitei as classes pra agrupar essas funções que eu já tinha.
E acabei tirando mais proveito.
Importante:
Pra quem acha que o que faço tem a ver com classe ou codeblock, fique sabendo que na época do Clipper eu não entendia nada de codeblock.
Codeblock era coisa do outro mundo pra mim na época.
14 anos atrás... Não sabia nem metade do que sei hoje.
Apenas era empolgado em tirar proveito do Clipper e do computador.
E olhe que eu abusava de PUBLIC, PRIVATE, não declarava variáveis desse tipo, não tinha o recurso -w3 -es2.
Acho que pelo menos declarava quando a variável era LOCAL.
Mas os fontes sempre organizados, sabendo de onde vinham e pra onde iam as variáveis.
Tudo isso me facilitou o trabalho.
Pra mim, sinceramente, sempre achei que todo mundo fazia melhor, e que eu estava atrasado por nem conhecer codeblock.
Atualmente ainda vejo alguns que não fazem o que eu já fazia há 14 anos atrás com o Clipper.
Acho que esqueceram de programar não só para o cliente, mas pra si próprios.
Ainda dá tempo.
Por falar nisso....
No final do ano passado, ou começo deste ano, alterei meu tbrowse pra aceitar codeblock ao invés de função de usuário em caractere.
Muito bom.
Era obrigado a inventar nomes únicos pra cada função de usuário, porque tinham que ser funções públicas, visÃveis no aplicativo inteiro.
de:
fazbrowse( , , "funcaodeusuario" )
para:
fazbrowse( , , { || FuncaoDeUsuario() } )
Pensando bem, até que ainda tem novidade.
Muitas delas é na parte que não se vê.