Clipper On Line • Ver Tópico - LIB JoséQuintas

LIB JoséQuintas

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

Moderador: Moderadores

 

LIB JoséQuintas

Mensagempor JoséQuintas » 02 Ago 2017 11:50

A que abre arquivos está aqui:

https://github.com/JoseQuintas/JoseQuintas/blob/master/source/ze_abrearquivos.prg

E a que fornece toda configuração de arquivos e índices vém daqui

https://github.com/JoseQuintas/JoseQuintas/blob/master/source/PUTI0010.PRG

Mesmos arquivos, mesmos índices.... fez uma vez tá pronto, não precisa ficar repetindo.... pelo menos pra mim considero isso totalmente normal.

Lógico... se for uma biblioteca GUI, que abre janelas em mesma thread, lá se foi toda vantagem de multithread, e vai precisar ALIAS diferente, e rotinas diferentes.

Multithread é muito legal, né?
Cada rotina tem seu próprio arquivo de UF, sempre no mesmo alias JPUF.
E dá pra usar CLOSE DATABASES, que fecha só o que o módulo abriu.
Tem coisa melhor que isso? (Tirando SQL, lógico).
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 02 Ago 2017 21:28

Tive que tirar o JPA.PRG da LIB.
O problema foi que o #define dentro dele é que controla versão, e dentro da LIB ele acaba ficando sempre com a mesma versão.
A versão é atualizada automaticamente a cada compilação, mas dentro da LIB ele só é compilado ao gerar a LIB, e não cada vez que gerar o EXE.
Pois é... a LIB é direto do meu aplicativo mesmo....
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 16:06

Não sei se a LIB ficou muito louca.... ou se o José Quintas mesmo é que ficou louco.... rs

Quem quiser é só comprovar.

Criei este fonte pra teste, trata-se basicamente de um fonte tapa-buraco.

https://github.com/JoseQuintas/JoseQuintas/blob/master/tests/test.prg

É bom criar uma pasta exclusiva pra ele, na hora de executar.
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 16:10

Primeira execução, lógico a pasta está vazia, sem arquivos.

tela1.png


tela2.png


Normal, não coloquei imagens na LIB, então não tem imagem.
Usuário <ENTER>, senha <ENTER>

tela3.png


Pronto, na tela, aparecendo tudo que existe no menu.
Isto não significa que existe tudo na LIB, por isso todos aqueles tapa-buraco.

tela4.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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 16:13

pegar como cobaia o cadastro de cidades.

tela5.png


Não tem ícones, porque na LIB não tem ícones.
O título da janela é o nome do fonte, só procurar na LIB. PJPCIDADE.PRG

tela6.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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 16:16

Atenção às duas opções.
A primeira apenas troca pra um número sequencial, a cada chamada escolhe um estilo diferente.

tela7.png


Na segunda, permite ativar multithread, que já está ativada, colocar o aplicativo pra falar no Windows 10, e alterar pra menu estilo windows.

tela8.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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 16:20

Agora em menu estilo Windows, que não gosto nem um pouco disso, por isso nem ativo.

tela9.png


Aqui o cadastro de cidades com um menu alternativo, que ainda mantenho no aplicativo.

tela10.png


Aqui ele novamente, com outro menu alternativo

tela11.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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 16:31

A reindexação

tela13.png


que tem gráfico com estimativa de tempo total (não é por arquivo)

tela12.png


Todos os fontes na LIB, até o fonte de MAIN, que é ZE_MT.PRG
Tem bastante coisa liberada na LIB, mas tem bastante coisa não liberada, com certeza.
Na pasta do aplicativo tem 201 fontes.
Na pasta da LIB tem 182 fontes.
Nota: TODAS AS TELAS foram do TEST.PRG gerado da LIB. Somente fontes da LIB.

Já o aplicativo oficial, que usa os mesmos fontes, e tem todos os módulos, pode ser baixado na seção downloads daqui:

http://www.jpatecnologia.com.br
http://www.josequintas.com.br

Como eu já disse em outro tópico, a empresa está mudando de nome, por eu estar como único sócio, obrigatoriamente é meu nome.
Está mudando para José M C Quintas Tecnologia, por isso passei a manter os dois sites.

E voltando a LIB; como eu disse antes, a LIB é direto do meu aplicativo.....
Basta ajustar o menu, criação de arquivos, reindexação, etc. e poderá ser usado pra outro aplicativo totalmente diferente.

Até mesmo se criar as conexões de MySQL, já vai fazer uso de MySQL, mas não pra tudo lógico.
Quando isso acontecer, não mais vai existir opção de DBF.
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 16:46

Acho que eu já disse antes, em todo caso:

Para NENHUM cliente aparece tudo isso de opção, é só na minha senha mesmo.
É que na LIB o programa tapa-buraco acaba considerando que sou eu... rs
Esses testes de mudança de estlo de menus, e menu em Windows, eles nem sabem que existe.
Mas está tudo totalmente funcional.
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 17:03

Deixar mais interessante.....
Toda parte de configurar usuário/senha/acessos.

https://github.com/JoseQuintas/JoseQuintas/commit/05ed5b4c5e6f6e4e7f415b9dfeabac17d603b066

tela1.png


tela2.png


Aqui o que aparece para o usuário teste

tela3.png


Lógico, funções tapa-buraco sem criptografia. É só criar sua criptografia, se quiser.

FUNCTION criptografa( cText ) ; RETURN cText
FUNCTION descriptografa( cText ); RETURN cText
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 17:12

Nota:

Essas funções que aparecem disponíveis, é porque no menu está definido codeblock, e não nome de rotina.

   MenuOption( "Utilitários Diversos" )
      MenuDrop()
      MenuOption( "Acesso Direto a Arquivos",   "PUTILDBASE" )
      MenuOption( "Calculadora (s-F10)",        { || Calculadora() } )
      MenuOption( "Calendário (s-F9)",          { || Calendario() } )
      MenuOption( "Jogo Forca",                 "PGAMEFORCA" )
      MenuOption( "Jogo Teste de QI",           "PGAMETESTEQI" )
      MenuOption( "Mudança de senha",           { || pw_AlteraSenha() } )
      MenuOption( "Teclado Virtual",            "PTOOLVKEYBOARD" )


Por ser codeblock, dispensa configuração.

Aliás... eu deveria remover daquela configuração....

Tudo aí, só acrescentar módulos diferentes no menu, que a configuração de acessos vai usar as opções no novo menu.
Lembrando que módulos adicionados vão usar multithread, e podem precisar atenção quanto às variáveis públicas.

Pra completar, tem também o SJPA.EXE, que é responsável por sempre executar o JPAxxx.EXE mais novo.
Uma vez o atalho criado pra SJPA.EXE, basta a atualização automática (que não está na LIB) ou o usuário salvar um JPAxx.EXE dentro da pasta.
Atualização simples e prática.

E só lembrando:
A LIB é para meu aplicativo.
Quando eu acabar com a senha em DBF, na LIB também não vai ser mais em DBF.

Esqueci de dizer: a LIB é preparada pra DBF ou HBNETIO. É que olhando os fontes da LIB nem vai dar pra perceber.
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 18:50

Mais alguns adicionados, pra boleto.

Boleto pra matricial é algo tão antigo...
Tenho cliente que usa, e nem quer saber de trocar.
Ele diz que o banco Itaú manda tudo de graça, que se fizer em impressora Lazer vai acabar saindo caro.

Chega a ser curioso isso....
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 19:09

Mais um: SPED FISCAL e PIS/COFINS

É sério: fiz isso de curioso, pra me preparar pra alguma necessidade no aplicativo.
Eu usei na época, gerei, validei e importei no Sped Fiscal.
Nenhum cliente nunca precisou disso, só eu mesmo usei quando fiz.
Não sei se ainda é válido.

Tá bem documentado, eu acho..... rs

https://github.com/JoseQuintas/JoseQuintas/blob/master/source/fiscal/pfiscsped.prg

Fica tudo no aplicativo, nas opções que só aparecem na minha senha.... rs

No menu vai aparecer em governo, sped fiscal
Ou.... só procurar no menu pelo nome do fonte: PFISCSPED

Aproveitando:
Ta aí uma coisa que uso, que acho normal, pra essas mudanças, tá no ze_Update2017.prg
   pw_NovoAcessoModulo( "PFISCSPED",        "PGOV0030" )


O aplicativo vai adicionar acesso ao módulo "PFISCSPED" pra quem tinha acesso a "PGOV0030"
Nem preciso me preocupar com clientes, o aplicativo já vai fazer o ajuste nos clientes assim que for atualizado.

Ir no cliente... entrar em dbase... mexer em arquivo... pra que?
É só ele atuallizar pela internet, e nem vai perceber que mudou o nome, exceto por um tempinho extra na primeira entrada, onde o aplicativo faz o ajuste.

Acho que isso deveria ser normal em tudo que é aplicativo.
Se não é ainda... está aí na LIB como eu faço, só ajustar, se for o caso, pra necessidade particular.

Por falar nisso:
NÃO TRABALHO COM CAMPO MEMO.
A rotina de compactaçào/reindexação pode precisar de ajuste pra campo memo, se for o caso.
Não aconselho o uso, tive problemas no Clipper com campo memo, e nunca mais quero saber dele, a não ser no MySQL o campo TEXT.
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 04 Ago 2017 19:16

Só uma sequência básica do aplicativo que pode ser útil.

ZE_MT.PRG é o programa principal
JPA.PRG é o "segundo" programa principal

Antes da multithread, JPA.PRG era o principal.

Nem tinha pensado nisso: depois de tanto tempo, eu já deveria ter alterado o nome deles.
ZE_MT.PRG pra JPA.PRG, e JPA.PRG pra não sei qual nome, talvez SISTEMA ou JPA_SISTEMA pra ficar junto do outro em ordem alfabética.
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

LIB JoséQuintas

Mensagempor JoséQuintas » 06 Ago 2017 21:39

Estou procurando remover os "inofensivos" do aplicativo e movendo pra LIB.

Este aqui, usando mysql.
Finalmente renomeei. Estava com nome de teste até hoje.... rs
NÃO existe opção equivalente em DBF: ou o cliente usa MySQL ou não tem essa opção.
Mostra meu mix de DBF + MySQL, e minha classe ADO.

https://github.com/JoseQuintas/JoseQuintas/blob/master/source/pprecocancel.prg

Alguns fontes estou aproveitando pra atualizar.

Nota:
No final, apesar de poder ser usado como LIB, tá mais pra um conjunto de exemplos.
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: 13469
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 837 vezes

Anterior Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

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