TEMPO DE EXIBI?ÃO CONTROLADO
Prezados, mais uma vez recorro aos sábios conhecimentos de vocês, para uma ajuda com meu código.
Tenho um sistema de peças para automóveis (desenvolvido em VB 6) que utiliza um timer programado para cinco minutos. Faltando um minuto, uma informação é exibida na tela de consulta, com contador regressivo até zerar, quando o form é descarregado (para evitar que a base de dados fique indefinidamente carregada, com risco de danos, caso falte energia elétrica, p.ex.).
O intervalo do timer é 990.
O evento é o seguinte:
[txt-color=#0000f0]Private Sub tmrTempo_Timer()
If Tempo = CDate([Ô]00:00:00[Ô]) Then
Unload frmListadePeças
Unload frmExibeFoto
Unload frmAjudaProcura
FrmPeças.Show
MsgBox [Ô]Consulta concluida ...[Ô] & vbNewLine & _
[Ô]Para voltar, clique em [Ô] & vbNewLine & _
[Ô]Consultas / Pela peça ...[Ô], 64
Else
Tempo = TimeValue(Tempo) - TimeValue([Ô]00:00:01[Ô])
lblTempo.Caption = Minute(Tempo) & [Ô] min [Ô] & Second(Tempo) & [Ô] seg[Ô][/txt-color]
[ô]O caption de lblTempo é alterado em tempo de execução, faltando l min para encerrar...
[txt-color=#0000f0]lblTempo.Visible = False
If Minute(Tempo) = 0 Then
Line17.Visible = True
Line18.Visible = True
Line19.Visible = True
Line20.Visible = True
[ô]lblTempo.Left = 10125
lblTempo.Caption = [Ô]Fecha em [Ô] & Second(Tempo) & [Ô] segundos [Ô]
lblTempo.Visible = True
End If
End If[/txt-color]
End Sub
[ô]No evento <load> deste formulário, tem a seguinte instrução:
[txt-color=#0000f0]Dim Tempo as Date
Tempo = [Ô]00:05:00[Ô][/txt-color] [ô]define a espera de 05 min para descarregar o form.
Às vezes, o usuário está na tela de consulta e vai atender ao telefone. Quando retorna, o contador já está indicando que restam apenas [Ô]35 seg[Ô] para encerrar...
Qual seria a rotina que eu deveria acrescentar, e onde, para acrescentar, digamos assim, mais um minuto (deixando o contador, como no exemplo, com 01min35seg para descarregar?).
Agradeço a colaboração.
Tenho um sistema de peças para automóveis (desenvolvido em VB 6) que utiliza um timer programado para cinco minutos. Faltando um minuto, uma informação é exibida na tela de consulta, com contador regressivo até zerar, quando o form é descarregado (para evitar que a base de dados fique indefinidamente carregada, com risco de danos, caso falte energia elétrica, p.ex.).
O intervalo do timer é 990.
O evento é o seguinte:
[txt-color=#0000f0]Private Sub tmrTempo_Timer()
If Tempo = CDate([Ô]00:00:00[Ô]) Then
Unload frmListadePeças
Unload frmExibeFoto
Unload frmAjudaProcura
FrmPeças.Show
MsgBox [Ô]Consulta concluida ...[Ô] & vbNewLine & _
[Ô]Para voltar, clique em [Ô] & vbNewLine & _
[Ô]Consultas / Pela peça ...[Ô], 64
Else
Tempo = TimeValue(Tempo) - TimeValue([Ô]00:00:01[Ô])
lblTempo.Caption = Minute(Tempo) & [Ô] min [Ô] & Second(Tempo) & [Ô] seg[Ô][/txt-color]
[ô]O caption de lblTempo é alterado em tempo de execução, faltando l min para encerrar...
[txt-color=#0000f0]lblTempo.Visible = False
If Minute(Tempo) = 0 Then
Line17.Visible = True
Line18.Visible = True
Line19.Visible = True
Line20.Visible = True
[ô]lblTempo.Left = 10125
lblTempo.Caption = [Ô]Fecha em [Ô] & Second(Tempo) & [Ô] segundos [Ô]
lblTempo.Visible = True
End If
End If[/txt-color]
End Sub
[ô]No evento <load> deste formulário, tem a seguinte instrução:
[txt-color=#0000f0]Dim Tempo as Date
Tempo = [Ô]00:05:00[Ô][/txt-color] [ô]define a espera de 05 min para descarregar o form.
Às vezes, o usuário está na tela de consulta e vai atender ao telefone. Quando retorna, o contador já está indicando que restam apenas [Ô]35 seg[Ô] para encerrar...
Qual seria a rotina que eu deveria acrescentar, e onde, para acrescentar, digamos assim, mais um minuto (deixando o contador, como no exemplo, com 01min35seg para descarregar?).
Agradeço a colaboração.
Desculpa falta de tempo para testar aqui e lhe dar uma resposta um pouco mais efetiva , mas se me lembro bem eu faço assim.
DateAdd([Ô]n[Ô], 5, Now)
onde o [Ô]N[Ô] seria referente aos minutos no relogio , entao seriam adicionados [Ô]5[Ô] minutos a contagem [Ô]Now[Ô] do relogio
Estou puxando pele memoria , entao desculpas se me equivoquei na resposta
DateAdd([Ô]n[Ô], 5, Now)
onde o [Ô]N[Ô] seria referente aos minutos no relogio , entao seriam adicionados [Ô]5[Ô] minutos a contagem [Ô]Now[Ô] do relogio
Estou puxando pele memoria , entao desculpas se me equivoquei na resposta
Badjeco, não deu certo...
Criei um Ãcone que aparece quando o contador = 59 seg. Preciso fazer de forma que, clicando nesse Ãcone, eu acrescente + 1 min. Logo, seriam 1:59 min para descarregar o form da memória....
Criei um Ãcone que aparece quando o contador = 59 seg. Preciso fazer de forma que, clicando nesse Ãcone, eu acrescente + 1 min. Logo, seriam 1:59 min para descarregar o form da memória....
Estranho aqui foi.
Em um botao.
[ô]HORA = QUANTO TEMPO TEM NA SUA CAIXA DE MINUTOS [ô] o formato tem que ser HH:NN:MM
[ô]HORA : MINUTO : SEGUNDOS
Poe isso aqui em um Button
-------------------------------------------------------
Private sub BotaoMalandro_Click()
[ô]QUANTO = Quanto tempo voce quer
HORA = Format(HORA, [Ô] HH:NN:MM[Ô])
HORA = DateAdd([Ô]N[Ô], QUANTO, HORA)
end sub
---------------------------------------------------------
Pode nao ter ido pelo seu formato , ou por vc ter usar o Time$ ele pega a hora do instante que voce starta a funçao . ai da ruim mesmo
Em um botao.
[ô]HORA = QUANTO TEMPO TEM NA SUA CAIXA DE MINUTOS [ô] o formato tem que ser HH:NN:MM
[ô]HORA : MINUTO : SEGUNDOS
Poe isso aqui em um Button
-------------------------------------------------------
Private sub BotaoMalandro_Click()
[ô]QUANTO = Quanto tempo voce quer
HORA = Format(HORA, [Ô] HH:NN:MM[Ô])
HORA = DateAdd([Ô]N[Ô], QUANTO, HORA)
end sub
---------------------------------------------------------
Pode nao ter ido pelo seu formato , ou por vc ter usar o Time$ ele pega a hora do instante que voce starta a funçao . ai da ruim mesmo
Reli sua segunda duvida ,
Na real depende da forma que é seu campo ai tambem né se voce se eu entendi bem voce quer concatenar o minutos aos segundos da sua caixa
ai seria
MINUTOS &[Ô]:[Ô]& SEUS SEGUNDOS
Ai tem que ver com a sua rotina de tirar segundos, mas acho que vai dar algum problema , mas tenta mudar , ou usar isso que eu te mostrei . aqui eu faço pra executar
Rotinas de tempo em tempo , e vai tranquilo
Na real depende da forma que é seu campo ai tambem né se voce se eu entendi bem voce quer concatenar o minutos aos segundos da sua caixa
ai seria
MINUTOS &[Ô]:[Ô]& SEUS SEGUNDOS
Ai tem que ver com a sua rotina de tirar segundos, mas acho que vai dar algum problema , mas tenta mudar , ou usar isso que eu te mostrei . aqui eu faço pra executar
Rotinas de tempo em tempo , e vai tranquilo
Badjeco, resolvi da seguinte maneira:
Incluà um botão de comando que fica invisÃvel no carregamento do form, até que transcorram 4 minutos. A seguir, como vc pode ver na rotina do timer, aparece um label dentro de um retângulo, informando que o form será fechado em 49 seg. Ao mesmo tempo, o botão com caption [Ô]+ 1 min?[Ô] é exibido. Contador regressivo até 0 seg, quando o form é encerrado. Se clicar no botão, a contagem então é interrompida, voltando para 59 seg no label. Cada novo clique no botão interrompe o contador regressivo.
No evento [Ô]timer[Ô], só habilitei o botão de comando para ficar visÃvel quando restarem 59 seg para encerrar. E no evento <click:> do botão, coloquei o seguinte código:
[txt-color=#0000f0]Tempo = [Ô]00:01:00[Ô]
Line17.Visible = False
Line18.Visible = False
Line19.Visible = False
Line20.Visible = False
lblTempo.Visible = False[/txt-color]
Agradeço a gentileza da ajuda. Certamente ainda utilizarei sua dica. GRato.
Tópico encerrado , respostas não são mais permitidas