Ola,
Eu tinha em clipper uma função que detectava que se o usuário não teclasse nada por xtempo ela iria entrar e rodar a função que eu indicasse,
era ótimo para colocar o nome do cliente passando na tela ( tipo um protetor de tela).
Mas esta função era da ptool50 ( ou newget50) que é incompativel com harbour.
Teria alguma função em harbour que seria semelhante ?
Abraços,
Executar rotina após x minutos
Moderador: Moderadores
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Executar rotina após x minutos
Amiguinho,
Estas funções geralmente trabalham em background e devem levar em consideração teclas presionadas e eventos de mouse.
Com multitasking do Harbour com certeza você mesmo consiga simular este processo.
Estas funções geralmente trabalham em background e devem levar em consideração teclas presionadas e eventos de mouse.
Com multitasking do Harbour com certeza você mesmo consiga simular este processo.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Executar rotina após x minutos
Olá Pessoal,
Controlo tudo em meus sistemas desta forma. Mas vale ressaltar que realmente as variáveis de controle devem ser publicas, como o caso das variáveis publicas deste exemplo. Também lembro que o retorno da NextKey() depende de como está setado SET EVENTMASK. Mas veja se ajuda:
Controlo tudo em meus sistemas desta forma. Mas vale ressaltar que realmente as variáveis de controle devem ser publicas, como o caso das variáveis publicas deste exemplo. Também lembro que o retorno da NextKey() depende de como está setado SET EVENTMASK. Mas veja se ajuda:
Código: Selecionar todos
Function Main()
Local cAlgo := Space( 30 )
Public nTask, nIdle
Public nTimeEspera := 5 // (tempo em segundos)
PuBlic nTempo := ( Seconds() + nTimeEspera )
Clear Screen
nTask := HB_BackGroundAdd( {|| ChecaTempoCorrido() } )
nIdle := HB_IdleAdd( {|| HB_BackGroundRun( nTask ) } )
@ 2,2 Say "Tecle Algo: " Get cAlgo
Read
HB_BackGroundDel( nTask ) // coloque antes de sair do sistema
HB_IdleDel( nIdle )
Return Nil
FuncTion ChecaTempoCorrido()
Local nRow, nCol
If ( NextKey() > 0 )
nTempo := Seconds()
ElseIf Seconds() >= ( nTempo + nTimeEspera ) // se ficou ocioso pelo tempo determinado...
HB_BackGroundDel( nTask ) // remove as acoes da Idle evitando recursividade
HB_IdleDel( nIdle )
nRow := Row() // linha do cursor
nCol := Col() // coluna do cursor
//////////////////////////////////////////////////
@ 5,2 Say "Coloque aqui a chamada para sua Funcao"
@ 6,2 Say Time()
//////////////////////////////////////////////////
nTempo := Seconds() // atualiza nTempo
nTask := HB_BackGroundAdd( {|| ChecaTempoCorrido() } ) // reativa a idle
nIdle := HB_IdleAdd( {|| HB_BackGroundRun( nTask ) } )
SetPos( nRow, nCol ) // restaura cursor
EndIf
Return NilAbraç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)
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)
Executar rotina após x minutos
Pessoal, mais uma vez obrigado pela atenção :{
Funcionou belezinha Jairo !
O Harbour é impressionante de recusrsos mesmo.
Funcionou belezinha Jairo !
O Harbour é impressionante de recusrsos mesmo.
mixsistemas@gmail.com
Executar rotina após x minutos
Aproveitando...
Procurei aqui no fórum e não encontrei, existe a possibilidade de colocar uma figura ( .jpg, gif, bmp, etc) para aparecer
na tela usando o harbour no modo console ?
Abraços,
Procurei aqui no fórum e não encontrei, existe a possibilidade de colocar uma figura ( .jpg, gif, bmp, etc) para aparecer
na tela usando o harbour no modo console ?
Abraços,
mixsistemas@gmail.com
Executar rotina após x minutos
Olá pessoal, o meu funcionou em partes...
Coloquei como o Jairo postou e na parte q ele menciona pra colocar a chamada da função coloquei..
TesteFTP()...
Ok funciona com relação a esperar X segundos e entrar na rotina... mas o q ocorre é q AMARRA o processamento do sistema e no meu ponto de vista não poderia ocorrer... explico...
Se eu fizer um EXE a parte (vamos chamar de EXE1) e deixar ele rodando e abrir em outra janela outro EXE (vamos chamar de EXE2) vou trabalhando normal no EXE2 enquanto o o EXE1 vai processando, sem 1 interferir no outro...
Seria isto q eu queria fazer usando o exemplo do Jairo e o q ocorre é q qdo a Thread é startada amarra a rotina principal... ou seja... enquanto ta rodando a função q é chamada pela thread fica praticamente sem poder trabalhar...
Teria algum parâmetro ou algo do tipo pra não acontecer isto?
[]´s
Coloquei como o Jairo postou e na parte q ele menciona pra colocar a chamada da função coloquei..
TesteFTP()...
Ok funciona com relação a esperar X segundos e entrar na rotina... mas o q ocorre é q AMARRA o processamento do sistema e no meu ponto de vista não poderia ocorrer... explico...
Se eu fizer um EXE a parte (vamos chamar de EXE1) e deixar ele rodando e abrir em outra janela outro EXE (vamos chamar de EXE2) vou trabalhando normal no EXE2 enquanto o o EXE1 vai processando, sem 1 interferir no outro...
Seria isto q eu queria fazer usando o exemplo do Jairo e o q ocorre é q qdo a Thread é startada amarra a rotina principal... ou seja... enquanto ta rodando a função q é chamada pela thread fica praticamente sem poder trabalhar...
Teria algum parâmetro ou algo do tipo pra não acontecer isto?
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
Executar rotina após x minutos
resolvi da seguinte forma...
qdo é pra chamar minha função coloquei pra chamar meu EXE com parametro em background assim:
MyRun( 'MeuSistema PARAMETRO', .F.)
Ai o MyRun roda em background e chama meu sistema q qdo ve o parametro chama a função TESTEFTP
Ai um não afeta no outro e funciona como preciso...
Mas isso foi 1 alternativa acredito q deva ter outra forma...
código do MyRun (link já com explicações)
[]´s
qdo é pra chamar minha função coloquei pra chamar meu EXE com parametro em background assim:
MyRun( 'MeuSistema PARAMETRO', .F.)
Ai o MyRun roda em background e chama meu sistema q qdo ve o parametro chama a função TESTEFTP
Ai um não afeta no outro e funciona como preciso...
Mas isso foi 1 alternativa acredito q deva ter outra forma...
código do MyRun (link já com explicações)
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.

