Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

peshe

Deixar função em loop até apertar uma tecla

Recommended Posts

Pessoal, tenho um form com um código, gostaria de deixar uma função em loop, e quando apertar a tecla 'enter' parar, essa função de parar eu ká consegui, no KeyPress, mas por em loop ainda não, alguém tem uma sugestão??

 

O código que uso para 'parar' ainda não está terminado, pois não tema função do loop, mas por enquanto tá assim:

 

Private Sub Form_KeyPress(KeyAscii As Integer)		If KeyAscii = 13 Then		'código para terminar o loop, seria stop??End IfEnd Sub

Té mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara... tenta fazer assim....

 

 

dim cancela as boolean

 

Private Sub Form_load()

cancela = false

end sub

 

**no evento que você quiser**

for i=1 to 2

DoEnvets

<instruções>

if(cancela=true)then Exit For

 

i=i-1' essa linha é´pra deixar o loop "infinito"

next

**********************

 

Private Sub Form_KeyPress(KeyAscii As Integer)

 

If KeyAscii = 13 Then cancela=true

 

End Sub

 

 

qlqr coisa posta ae...

.flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, obrigado pela ajuda, mas não entendi não, se fosse para eu somar 1 à uma variavel no Form_Load seria como??dim cancela as booleanPrivate Sub Form_load()cancela = false'**no evento que você quiser**for i=1 to 2DoEnvets'<instruções>if(cancela=true)then Exit Fori=i-1' essa linha é´pra deixar o loop "infinito"next'**********************variavel +1 End subPrivate Sub Form_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then cancela=trueEnd SubSeria assim???Té mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, obrigado pela ajuda, mas não entendi não, se fosse para eu somar 1 à uma variavel no Form_Load seria como??dim cancela as booleanPrivate Sub Form_load()cancela = false'**no evento que você quiser**for i=1 to 2DoEnvets'<instruções>if(cancela=true)then Exit Fori=i-1' essa linha é´pra deixar o loop "infinito"next'**********************variavel +1 End subPrivate Sub Form_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then cancela=trueEnd SubSeria assim???Té mais.

O "VARIAVEL + 1" DEVE ESTAR ANTES DO NEXT, SENÃO NÃO ESTARÁ FAZENDO PARTE DO LOOP.*DESCULPE SCORPIO, SEI QUE O POST É SEU, ESPERO QUE NÃO SE INCOMODE DE EU TER RESPONDIDO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E se fosse para o loop voltar a funcionar apertando o 'enter' seria assim:

 

dim cancela as booleanPrivate Sub Form_load()cancela = false'**no evento que você quiser**for i=1 to 2DoEnvets'<instruções>if(cancela=true)then Exit Fori=i-1' essa linha é´pra deixar o loop "infinito"next'**********************variavel +1End subPrivate Sub Form_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then cancela=trueEnd IfIf KeyAscii = 13 If cancela=true Then cancela=false	 End IfEnd Sub

Ou eu teria que ter outra variavel??

Compartilhar este post


Link para o post
Compartilhar em outros sites

cria um função com esse loopPrivate Sub REPETIR()for i=1 to 2DoEnvets'<instruções>if(cancela=true)then Exit Fori=i-1' essa linha é´pra deixar o loop "infinito"next'**********************variavel +1End Subvamos supor q você queira chamar a função qndo o user aperta ESC( ASCII=27 )você poe no evento keypressif(KeyAscii=27)thencancela=falseREPETIR 'chama a funçaoend ifse você nao entender posta ae..qnto a você Claudio Neto.... até agradeço por responder...e tbm.. nao estamos aqui pra competir, mas sim para ajudar....flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew, quando chegar em casa eu testo e posto aqui para ver se funcionou, mas se fosse para apertar enter para continuar e esc para parar seria assim:

 

If KeyAscii = 27 Then cancela = TrueIf (KeyAscii = 13) Then	cancela = FalseREPETIR 'chama a funçaoEnd If

Está certo??

 

Té mais e obrigado mais um vez...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew, quando chegar em casa eu testo e posto aqui para ver se funcionou, mas se fosse para apertar enter para continuar e esc para parar seria assim:

If KeyAscii = 27 Then cancela = True  If (KeyAscii = 13) Then	 cancela = False REPETIR 'chama a funçao End If
Está certo??Té mais e obrigado mais um vez...
é isso aeflw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.