2010-02-17 94 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

相關問題