2010-02-17 108 views
1

我希望这个工作(下) 如果iTestVar是1,我希望DoStuff()被解雇。但它总是落入其他地方。你可以在VbScript switch语句中使用常量吗?

我在过去研究过const,发现它们只能在类之外定义。 select语句在类中。

 'This is defined outside of the class (vbscript won't allow const inside classes) 
     Const STOPHERECONSTANT = 1 


     Select Case iTestVar 
      Case STOPHERECONSTANT 

       DoStuff() 

      Case Else 

     End Select 
+0

如果您正在寻找有关const的内部类的信息,这可以在这里找到:http://channel9.msdn.com/forums/TechOff/255174- Stupid-VBscript-Class-Implementation/ – 2010-02-17 10:36:11

回答

2

我不好,我敢肯定我测试过这个,但是我必须错过它,同时修复别的东西。

我需要的iTestVar转换:

'This is defined outside of the class (vbscript won't allow const inside classes) 
    Const STOPHERECONSTANT = 1 


    Select Case CInt(iTestVar) 
     Case STOPHERECONSTANT 

      DoStuff() 

     Case Else 

    End Select 
+2

您不会在您转换的VBScript中投射。我的猜测是iTestVar被分配了一个字符串。如果iTestVar应该是一个字符串,那么您应该将其重命名为sTestVar,或者如果iTestVar应该是一个整数,那么您应该确保它始终在源处指定一个整数。你不应该不断地将看起来是整数的东西转换成整数。 – AnthonyWJones 2010-02-17 13:12:20

+0

感谢您纠正我对转换与转换。 这就是奇怪的事情iTestVar始终是一个整合。但是,当使用const时,我似乎只能使用swtich来转换它。 – 2010-02-17 14:28:45

+0

裤子!我再次失败!我现在看到问题出在哪里,在我的情况下,iTestVar是由表单帖子设置的。即使表单帖子总是发回一个数字,值(我猜)被作为一个字符串传递。双“我的坏” - 因为我没有把它列入原始文章。 – 2010-02-17 14:32:31

相关问题