MENSAGEM EM LABEL
Boa tarde amigos ! vou tentar seu claro.
Tenho um processamento dentro de um while e durante o processo algums mensagem serão mostradas (usando label - não vou usar o msgbox), o que preciso é que a cada mensagem o sistema espere a tecla ENTER ser pressionada para que o processo continue.
do while not eof()
rotinas do processo...
label1.caption = [Ô]mensagem[Ô]
fica na msg acima até que o ENTER seja pressionado
loop
só para complementar..esse processo está dentro de um Módulo que chamo de um form
Tenho um processamento dentro de um while e durante o processo algums mensagem serão mostradas (usando label - não vou usar o msgbox), o que preciso é que a cada mensagem o sistema espere a tecla ENTER ser pressionada para que o processo continue.
do while not eof()
rotinas do processo...
label1.caption = [Ô]mensagem[Ô]
fica na msg acima até que o ENTER seja pressionado
loop
só para complementar..esse processo está dentro de um Módulo que chamo de um form
Private Declare Sub Sleep Lib [Ô]kernel32[Ô] (ByVal dwMilliseconds As Long)
Call Sleep(5000)
Para o processamento por 5 segundos; agora se tu tá processando num loop significa que tem um inÃcio
e um final este processamento.
Então porque aguardar enter?
Se quizer realmente várias vezes parar o processamento e aguardar o enter, vai ter usar msgbox sem dúvida nenhuma
. . .
Call Sleep(5000)
Para o processamento por 5 segundos; agora se tu tá processando num loop significa que tem um inÃcio
e um final este processamento.
Então porque aguardar enter?
Se quizer realmente várias vezes parar o processamento e aguardar o enter, vai ter usar msgbox sem dúvida nenhuma
. . .
Caro amigo, saudações!
Na rotina que devo seguir está bem claro conforme abaixo:
[Ô]Deve aguardar uma tecla do operador. é utilizada quando se deseja que o operador seja avisado de alguma mensagem apresentada na tela[Ô]
Isto está bem claro no manual, como uso label para mensagens no rodapé da tela então infelismente não vou poder usar o msgbox.
Na rotina que devo seguir está bem claro conforme abaixo:
[Ô]Deve aguardar uma tecla do operador. é utilizada quando se deseja que o operador seja avisado de alguma mensagem apresentada na tela[Ô]
Isto está bem claro no manual, como uso label para mensagens no rodapé da tela então infelismente não vou poder usar o msgbox.
Amigos ! HELP
Será que não exista nada realmente que eu possa usa para dar essa interrupição até que o ENTER seja pressionado, label diferenciado..OCULTAR O MSGBOX teria jeito..já viram que estou apelando..RS
Será que não exista nada realmente que eu possa usa para dar essa interrupição até que o ENTER seja pressionado, label diferenciado..OCULTAR O MSGBOX teria jeito..já viram que estou apelando..RS
Caro colega eu no seu lugar colocaria um outro LOOP dentro do principal, este ficaria infinitamente alimento está LABEL até que o USER tecle ENTER.
Olá amigo Marco !
Já pensei nisso mais não sei como fazer para ficar num loop até que o enter seja pressionado pois meu label mostro em uma rotina que está em um módulo e meu formulário está aberto também nesse momento, fiquei meio perdido de como entrar no loop e como sair do loop..se puder as dicas agradeço
Já pensei nisso mais não sei como fazer para ficar num loop até que o enter seja pressionado pois meu label mostro em uma rotina que está em um módulo e meu formulário está aberto também nesse momento, fiquei meio perdido de como entrar no loop e como sair do loop..se puder as dicas agradeço
No módulo você deve criar uma variável publica do tipo Integer
Public LastKey As Integer [ô]Armazena a última tecla pressionada
do while not eof()
rotinas do processo...
label1.caption = [Ô]mensagem[Ô]
fica na msg acima até que o ENTER seja pressionado
do while LastKey <> vbKeyReturn
DoEvents
loop
LastKey = 0 [ô]Reseta a variável
loop
No Form faça
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
[ô]Shift = 0 significa que não foi utilizado Ctrl ou Shift ou Alt em combinações de teclas
If Shift = 0 Then LastKey = KeyCode
End Sub
Private Sub Form_Load()
KeyPreview = True [ô]Com isso o form passa a responder a qualquer tecla pressionada no evento KeyDown
End sub
espero ter ajudado.
Caro amigo FFCOUTO, quase ! preciso de ajuda novamente. Fiz uma rotina conforme abaixo e não está funcionando. Tenho um campo text e ao pressionar ENTER chamo a rotina de processo que está em um módulo. Esta rotina tem uma mensagem que tem que ficar dentro do loop (igual passou) e sair quando pressionado ENTER.
Dim retorno As Long
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 0 Then LastKey = KeyCode
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
ChamaProcesso
End If
End Sub
Private Sub ChamaProcesso()
retorno = 10000
Do
If (retorno = 10000) Then
[ô]rotinas do processo...
Label1.Caption = [Ô]mensagem[Ô]
[ô]fica na msg acima até que o ENTER seja pressionado
Do While LastKey <> vbKeyReturn
DoEvents
Loop
LastKey = 0 [ô]Reseta a variável
Label1.Caption = [Ô][Ô]
End If
Loop Until Not (retorno = 10000)
End Sub
Dim retorno As Long
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 0 Then LastKey = KeyCode
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
ChamaProcesso
End If
End Sub
Private Sub ChamaProcesso()
retorno = 10000
Do
If (retorno = 10000) Then
[ô]rotinas do processo...
Label1.Caption = [Ô]mensagem[Ô]
[ô]fica na msg acima até que o ENTER seja pressionado
Do While LastKey <> vbKeyReturn
DoEvents
Loop
LastKey = 0 [ô]Reseta a variável
Label1.Caption = [Ô][Ô]
End If
Loop Until Not (retorno = 10000)
End Sub
Caro amigo FFCOUTO
Coloquei o LastKey = 0 dentro do KeyPress do meu campo text. Parece que funfo, será que era isso mesmo.
Coloquei o LastKey = 0 dentro do KeyPress do meu campo text. Parece que funfo, será que era isso mesmo.
Caro amigo FFCOUTO..probleminha ! HELP
Quando estou debugando o projeto a rotina agora funciona perfeitamente, mais quando em executação não funciona. Pressionando PauseBreak vi que a rotina está no Loop e meu lastkey = 9
Quando estou debugando o projeto a rotina agora funciona perfeitamente, mais quando em executação não funciona. Pressionando PauseBreak vi que a rotina está no Loop e meu lastkey = 9
Estou testando esta..passa direto
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 0 Then LastKey = KeyCode
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
ChamaProcesso
End If
End Sub
Private Sub ChamaProcesso()
[ô]rotinas do processo...
Label1.Caption = [Ô]mensagem[Ô]
Label2.Caption = KeyCode
[ô]fica na msg acima até que o ENTER seja pressionado
Do While LastKey <> vbKeyReturn
DoEvents
Loop
Label1.Caption = [Ô][Ô]
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 0 Then LastKey = KeyCode
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
ChamaProcesso
End If
End Sub
Private Sub ChamaProcesso()
[ô]rotinas do processo...
Label1.Caption = [Ô]mensagem[Ô]
Label2.Caption = KeyCode
[ô]fica na msg acima até que o ENTER seja pressionado
Do While LastKey <> vbKeyReturn
DoEvents
Loop
Label1.Caption = [Ô][Ô]
End Sub
Tópico encerrado , respostas não são mais permitidas