2017-02-09 13 views
0

이 코드를 실행할 때; 암호가 다음 코드의 상단에 다시 시작하지 않는 잘못되면루프에서 VBScript 루프를 만드는 방법

varCheck=True 
Do While varCheck 
    Pass=InputBox("Enter Password") 
    Do 
     If IsEmpty(pass) Then 
      WScript.quit 
      Exit Do 
     End If 
     If Pass = "123" Then 
      varCheck=False 
      Exit Do 
     Else 
      varCheck=True 
      MsgBox("Wrong Password...Try Again") 
     End If 
    Loop 
Loop 

, 그냥 끝없이 메시지 상자를 "다시 시도 ... 잘못된 암호"를 루프. 암호를 다시 묻게하려면 어떻게해야합니까? (p.s. 나는 코딩에 초보자이기 때문에 자신을 설명해주십시오. 감사합니다!) 경고! 앞에서 말했듯이 암호를 잘못 입력하면 잘못된 암호 메시지가 끊임없이 반복됩니다.

+1

msgbox 뒤에 '나가기'를 시도 했습니까? – Rich

답변

2

찾고있는 스크립트는 msgbox 전체를 없애고 InputBox 텍스트를 추가하는 것이 좋습니다. 잘못된 비밀번호를 입력 한 후 내부 루프를 깬 것을 잊은 것처럼 보입니다. 그래서 처음으로 돌아갈 수 없습니다.

varCheck=True 
Dim StarterText: StarterText = "" 
Do While varCheck 
    Pass=InputBox(StarterText & "Enter Password") 
    Do 
     If IsEmpty(pass) Then 
      WScript.quit 
      Exit Do 
     End If 
     If Pass = "123" Then 
      varCheck=False 
      Exit Do 
     Else 
      varCheck=True 
      StarterText = "Sorry, wrong password, try again: " 

      Exit Do '<-----this is what you forgot. 

     End If 
    Loop 
Loop 
+0

몇 가지 초보자 질문; startertext는 msgbox와 어떻게 다릅니 까? 또한 딤섬의 의미와 그것이 사용되는 용도/도움을 설명해주십시오. –

+0

startertext가 다르면 별도의 팝업 대신 입력 상자에 "잘못된 비밀번호"메시지가 표시됩니다. Startertext와 메시지 상자는 개인적인 취향의 문제이기 때문에 더 좋지 않습니다. 어느 쪽이든 잘 작동합니다. 'Dim '은 특정 변수에 대한 변수 공간과 메모리를 할당합니다. 'Dim'에 대한 좋은 분석을 보려면 여기를보세요 -> http://www.vbsedit.com/html/87113e7d-b3d4-41c7-85c3-4b9925586707.asp – Rich

+0

startertext 함수에 대한 더 자세한 정보는 어디에서 얻을 수 있습니까? –