none
Fixar o botão OK para continuar somente quando uma opção foi escolhida. RRS feed

  • Pergunta

  • Ba galera

    bom dia

    Alguem pode me ajudar no codigo abaixo tche, quero que ele só deixe continuar o processo apos o usuario clicar no botão ok se ele realmente escolher uma das opções, tentei abrir um Do While e fechar com o loop mais na execução tche ele diz que existe um loop sem um Do.

    Ba galera e tb eu gostaria de se é possivel fixar o valor que deve ser colocado por exemplo no menu tem 3 opções, caso o usuario digite qualquer outro valor que seja diferente de 1, 2 ou 3 o codigo reporte que ele escolheu uma opção que não é valida e volte para o questionamento das cores.

    obrigado.

    codigo tche.

    OnErrorResumeNext

     strMenu="Responda Quiz." & VbCrLf &_
    " "& VbCrLf &_
    "1  - Azul" & VbCrLf &_
    "2  - Vermelho" & VbCrLf &_
    "3  - Amarelo" & VbCrLf &_
    " "

     rc=InputBox(strMenu,"Qual e a sua Cor ?") 
    IfIsNumeric(rc) Then

         SelectCase rc
             Case1
                    WScript.Echo"Obrigado por participar"
    '******************************************************************************************************************************            
             Case2
                    WScript.Echo"Obrigado por participar"
    '******************************************************************************************************************************
             Case3
                    WScript.Echo"Obrigado por participar"
    '******************************************************************************************************************************
             CaseElse
                 
         EndSelect
         Else
    EndIf

    segunda-feira, 27 de agosto de 2012 14:11

Respostas

  • Marcelo,

    Veja se com o Do...Loop funciona. 
    Muito importante ter as opções "Exit Do", senão fica em loop infinito.

    On Error Resume Next 
    
     strMenu="Responda Quiz." & VbCrLf &_ 
     " "& VbCrLf &_ 
     "1  - Azul" & VbCrLf &_ 
     "2  - Vermelho" & VbCrLf &_ 
     "3  - Amarelo" & VbCrLf &_ 
     " "
    
     do
     
    	 rc=InputBox(strMenu,"Qual e a sua Cor ?") 
    	 If IsNumeric(rc) Then 
    	 
    		 Select Case rc 
    			 Case 1
    					WScript.Echo "Obrigado por participar"
    					exit do
    	'******************************************************************************************************************************            
    			 Case 2 
    					WScript.Echo "Obrigado por participar"
    					exit do
    	'******************************************************************************************************************************
    			 Case 3 
    					WScript.Echo "Obrigado por participar"
    					exit do
    	'******************************************************************************************************************************
    			 Case Else 
    				 
    		 End Select 
    		 Else 
    	 End If 
     
     
     loop


    Fábio de Paula Junior

    • Marcado como Resposta Marcelo TI segunda-feira, 27 de agosto de 2012 19:30
    segunda-feira, 27 de agosto de 2012 15:16
    Moderador

Todas as Respostas

  • Marcelo,

    Veja se com o Do...Loop funciona. 
    Muito importante ter as opções "Exit Do", senão fica em loop infinito.

    On Error Resume Next 
    
     strMenu="Responda Quiz." & VbCrLf &_ 
     " "& VbCrLf &_ 
     "1  - Azul" & VbCrLf &_ 
     "2  - Vermelho" & VbCrLf &_ 
     "3  - Amarelo" & VbCrLf &_ 
     " "
    
     do
     
    	 rc=InputBox(strMenu,"Qual e a sua Cor ?") 
    	 If IsNumeric(rc) Then 
    	 
    		 Select Case rc 
    			 Case 1
    					WScript.Echo "Obrigado por participar"
    					exit do
    	'******************************************************************************************************************************            
    			 Case 2 
    					WScript.Echo "Obrigado por participar"
    					exit do
    	'******************************************************************************************************************************
    			 Case 3 
    					WScript.Echo "Obrigado por participar"
    					exit do
    	'******************************************************************************************************************************
    			 Case Else 
    				 
    		 End Select 
    		 Else 
    	 End If 
     
     
     loop


    Fábio de Paula Junior

    • Marcado como Resposta Marcelo TI segunda-feira, 27 de agosto de 2012 19:30
    segunda-feira, 27 de agosto de 2012 15:16
    Moderador
  • Ba Fabião trilegal tche, mais ficou com um problema, quando clico no cancelar ele continua em loop nao da um quit no codigo.
    segunda-feira, 27 de agosto de 2012 15:31
  • Com o cancelar eu já te ajudei

    Inputbox como fixar botão OK 

    http://social.technet.microsoft.com/Forums/pt-BR/scriptadminpt/thread/5c17f4cd-5ea1-4c53-aadb-d0c5c5f9d894

    Tenta juntar os dois, se não conseguir post aqui como você tentou.


    Fábio de Paula Junior

    segunda-feira, 27 de agosto de 2012 16:01
    Moderador
  • Fabião, lembro este e foi dele que eu partir a primeira tentativa antes de postar a pergunta, mais a solução pro erro foi colocar um "exitdo" no Case Else.

    valeu tche.

    segunda-feira, 27 de agosto de 2012 19:29