我是VBS的新手,我正试图在Windows中的UAC上开始 - 这是一个意愿,反过来,学习。
我不明白为什么我在最后一个End If
之前的行上遇到语法错误如果你能提供帮助,我将非常感激!
CurPass = ReadIni("C:\Program Files\User Account Control\ident.ini", "pass", "pass")
InpPass = inputbox("Please enter your current password:")
If InpPass = CurPass Then
NewPass = inputbox("Please enter your new password")
if NewPass=CurPass Then
KpPass=msgbox("Your new password is the same as your old password. Keep old password?",4+32,"UAC")
if KpPass=7 Then MsgBox("Please try again")
end if
Else
RNewPass = inputbox("Please re-enter your new password")
end if
if RNewPass=NewPass then
WriteIni "C:\Program Files\User Account Control\ident.ini", "pass", "Pass", NewPass
else msgbox("Your new passwords do not match. Try again.")
end If
else msgbox("Incorrect password")
End if
答案 0 :(得分:1)
没有If ..然后是你的最后一个..结束如果。如果您使用了适当的缩进,这将立即显而易见。
更新:以上诊断错误。
我想你想要这个结构:
CurPass = ""
InpPass = ""
If InpPass = CurPass Then
NewPass = ""
If NewPass = CurPass Then
KpPass = ""
If KpPass = "7" Then
KpPass = "4711"
End If
Else
RNewPass = ""
End If
If RNewPass = NewPass Then
RNewPass = "xx"
Else
RNewPass = "yy"
End If
Else
CurPass = "whatamess"
End If
当你写下来时,VBScript迷失了方向:
if KpPass=7 Then MsgBox("Please try again")
end if
你可以拥有像
这样的'短ifs'If Condition Then OneStatementAction
然后应该没有End If
。对于其他C语言中的单行/语句条件,省略{}有点像。那就是:更好地避免。
答案 1 :(得分:-1)
End IF是一个表达式,告诉VB.NET你已经完成了条件。
每个IF可能以END IF结束
所以你的代码可能就像:
If textbox1.text = "Cat" Then
Do something
Else
Do not do that thing
End If
再次检查您的代码,避免编写End IF,然后看看:
If textbox1.text = "Cat" Then
Do something
End IF
Else
Do not do that thing
End If
//这不起作用!在一个协议中你不能有多个IF:
这是incorect:
IF something Then
IF blabla bla then
Else
Endif
在这里可以看到一个链接,您可以在其中学习如何使用therse: http://msdn.microsoft.com/en-us/library/752y8abs.aspx