Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Inserir Relógio no Formulário através API [RESOLVIDO]

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Jonas Gonçalves
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sáb Nov 14, 2020 12:03 pm

Inserir Relógio no Formulário através API [RESOLVIDO]

Mensagem por Jonas Gonçalves »

:cry: Fala galera!

Espero que todos estejam bem! Sou novo nas postagens aqui, mas acompanho o fórum a bastante tempo e tenho aprendido muito.

Gostaria de saber se os amigos poderiam me ajudar com uma questão....

É possível colocar em um Label ou Texbox um relógio através de uma API direto do Windows ou outra função, sem que a tela do formulário fique piscando a cada novo ciclo da macro?

Pois já testei até um código que foi postado aqui no fórum, mas, ao atualizar os segundos, a tela do formulário/mouse fica piscando.

Agradeço desde já pela atenção!

Fico no aguardo galera!
Editado pela última vez por Jonas Gonçalves em Qua Mai 26, 2021 11:35 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Inserir Relógio no Formulário através API

Mensagem por Mikel Silveira Fraga »

Boa noite Jonas, tudo bem?

Já havia desenvolvido uma Classe com essa funcionalidade, e que não fique piscando o formulário.

Porém, essa ferramenta funciona apenas para Labels e TextBoxs.

Vou compartilhar esse modelo aqui no fórum com você, pois estou parado com meu canal no Youtube, mas pediria um favor de acompanhar, pois essa ferramenta será um tema para vídeos em um futuro não muito distante.

Segue link do Canal: Mikel S Fraga
Segue abaixo, o arquivo modelo com a solução:
Exemplo ClockRealTime.rar
(25.71 KiB) Baixado 178 vezes
Espero que a solução possa lhe ajudar.

Abraços e excelente semana.


Jonas Gonçalves
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sáb Nov 14, 2020 12:03 pm

Re: Inserir Relógio no Formulário através API

Mensagem por Jonas Gonçalves »

Bom dia, Mikel!

Graças à Deus tudo bem!

Mikel, o módulo funcionou perfeitamente.
Somente fiz alguns ajustes para que apenas 1 Label recebesse o valor da hora, e funcionou.

Porém, gostaria de tirar uma dúvida com você sobre algo que percebi.
Quando uma outra janela (Form) é ativado, o relógio dá uma pausa. E ao ser fechada a janela, o relógio volta ao normal.

Teria alguma forma de deixarmos ele rodar direto, até que seja fechado o sistema por inteiro?

Obrigado mais uma vez!


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Inserir Relógio no Formulário através API

Mensagem por Mikel Silveira Fraga »

Jonas, bom dia.

Provavelmente, você utilizou a declaração que fiz no Userform. Tente jogar a declaração do objeto para um Módulo e como Publico.

Outro ponto, que esse segundo formulário, provavelmente deve estar sendo aberto com a opção ShowModal do Userform, como verdadeiro. Isso dar foco no novo Userform que esta sendo aberto, impedindo que as rotinas de outros Módulos e Userforms continuem.

Nesse caso, sugiro dar uma olhada no funcionamento dessa opção ShowModal e ver se alterar para False, não irá afetar o processo de sua ferramenta.

Uma das duas situações podem vir a resolver esse impasse.

Dúvidas, estou a disposição. Abraços e excelente dia.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Jonas Gonçalves
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sáb Nov 14, 2020 12:03 pm

Re: Inserir Relógio no Formulário através API [RESOLVIDO]

Mensagem por Jonas Gonçalves »

Boa noite, Mikel!

Entendi!
Vou revisar esses pontos sim e verificar se vai funcionar certinho.

Mesmo assim, muito obrigado mesmo por ter solucionado algo que eu não estava achando em lugar nenhum.
Ficou excelente!

Mais uma vez, obrigado!


Jonas Gonçalves
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sáb Nov 14, 2020 12:03 pm

Re: Inserir Relógio no Formulário através API [RESOLVIDO]

Mensagem por Jonas Gonçalves »

Mikel, bom dia!

Desculpa incomodar mais uma vez com esse assunto.
Mas, só uma outra dúvida que percebi aqui.

Quando fecho todos os forms, a macro ainda fica rodando em segundo plano.
O procedimento "oClock.StopTimer" eu até coloquei no evento QueryClose do form, e no evento Terminate o procedimento Set oClock = Nothing.

Porém mesmo assim a macro do relógio roda em segundo plano.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Inserir Relógio no Formulário através API [RESOLVIDO]

Mensagem por Mikel Silveira Fraga »

Jonas, bom dia.

Cara, da uma olhada se esse procedimento não esta sendo inicializado em outro local também, pois se você esta utilizando o Set oClock = Nothing no evento Terminate, não tem como a macro continuar rodando.

O motivo disso, é que você esta limpando da memória a instância do objeto, se tornando impossível que continue a funcionar.

Caso queira que eu dê uma olhada, me envia o arquivo via WhatsApp, que dou uma olhada para você. Vou te passar meu número em MP, ok!?

Fico aguardando um retorno teu.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder