Gaspro - Agenda

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Gaspro - Agenda

Mensagem por prmuller »

Amigos, boa tarde!

Em uma aplicação gerada pelo Gaspro e convertida segundo aprendi aqui no fórum, precisaria implementar uma agenda (que o Gaspro tem) para que umas quatro vezes ao dia o sistema verificasse pendências no arquivo de conferência de pedidos e alertasse ao usuário.
Para isso, a agenda nativa do Gas serviria muito bem, bastando que se fizesse, na primeira abertura do sisema os lançamentos correspondentes, mas, o problema é que a agenda não funciona, dando erro direto e não dispara o alarme.
Alguém teria alguma idéia de algo semelhante como um timer que controlasse os avisos?
Em tempo: a aplicação roda em modo console.

Antecipadamente grato,

Paulo Müller
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Gaspro - Agenda

Mensagem por Jairo Maia »

Olá Paulo,

Em Harbour ou xHarbour, há várias formas de você controlar seu aplicativo da forma que você quiser com temporizadores. Porém, em se tratando de uma aplicação que foi migrada do GasPro, fica mais fácil ainda.

Posso lhe dar um exemplo nesse caso desde que você coloque sua função MouseGet(). Através dessa função, fica muito fácil, mas publique sua função como ela está, para que possamos apresentar um exemplo prático com seus fontes.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Gaspro - Agenda

Mensagem por prmuller »

Oi Jairo!

Obrigado pela pronta resposta. Vc, como sempre, ajudado a todos.
Segue a função MouseGet (arquivo gasp40hb.prg).

Sds,
Paulo Muller
Anexos
MouseGet.jpg
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Gaspro - Agenda

Mensagem por Jairo Maia »

Legal Paulo,

Estou encerrando hoje. Mas assim que retomar volto nesse tópico. Acho que vai ficar fácil, já que você usa essa função sem nenhuma customização ainda. Até mais...
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Gaspro - Agenda

Mensagem por prmuller »

Valeu Jairo!

A propósito, o mouse foi totalmente desabilitado na aplicação em função daquele problema de consumo excessivo de CPU e, como ninguém reclamou, deixei quieto, rssss.

Sds,

Paulo Muller
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Gaspro - Agenda

Mensagem por Jairo Maia »

Olá Paulo,
prmuller escreveu:A propósito, o mouse foi totalmente desabilitado na aplicação em função daquele problema de consumo excessivo de CPU
Estranho. Se você está usando o SecondsSleep() não deveria fazer isso. Deveria a CPU estar em 0 quando o sistema estiver parado.

Mas sendo assim, você pode usar dessa forma: Executar rotina após x minutos
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Gaspro - Agenda

Mensagem por prmuller »

Oi Jairo!
Obg pela resposta e orientação. Vou testar e retorno.

Sds,
Paulo Muller
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Gaspro - Agenda

Mensagem por prmuller »

Oi Jairo,

Muito legal a função que vc postou. Acredito que vá resolver o meu caso aqui.
Aproveitando, em que local do sistema eu faria a chamada? Na finalização?

Sds,
Paulo Muller
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Gaspro - Agenda

Mensagem por prmuller »

Jairo, bom dia!

Testei a função que vc indicou e resolve, em parte o meu problema, mas, como todo bom fuçador, resolvi de outra forma e, estou postando pq pode ser útil para mais alguém.
Como eu disse, no Gaspro, se vc tentar implementar a sua agenda nativa num sistema já com muitos módulos, não funciona o alarme nem a pau, mas, se vc criar um projeto somente com o módulo agenda, funciona normalmente, sem problemas (vai entender né?)
Então, fiz isso. Criei isoladamenete a agenda e, usando as suas dicas, e usando o HB_OpenProcess e HB_Close process eu abro no inicio do sistema no servidor (com parâmetro .f. ela vai direto pro gerenciador de tarefas do Windos) e fecho no final do dia ao se encerrar o servidor.
Como o usuário do cpt de conferência de pedidos não vai ter acesso, na abertura do sistema eu faço três lançamentos no dbf da agenda (no caso, programei os avisos de pendências para as 12, 15 e 18 hs) e, existindo, a tela da agenda aparece com o aviso.
Eu acho que ficou legal, mas, gostaria de agradecê-lo pela ajuda, aliás, bem típica de vc.
Valeu mesmo!

Sds,
Paulo Muller
Responder