2011-12-21 4 views
9

Этот маленький кусок кода должен погаснуть и дать мне правильную переменную , но независимо от того, что находится в переменной «numericDay», переменная «suffix» дает мне «th». я не понимаю, почему она не изменится, если значение «numericDay изменения как строковые переменныеVisual Basic 6.0 Case Statement

Select Case numericDay 
      Case numericDay = "1" Or "21" Or "31" 
       suffix = "st" 
      Case numericDay = "2" Or "22" 
       suffix = "nd" 
      Case numericDay = "3" Or "23" 
       suffix = "rd" 
      Case Else 
      suffix = "th" 

    End Select 
+0

Что такое 'numericDay'? – SLaks

+0

@Slaks - это как строковые переменные. я думал, что набрал это, но я думаю, что мой первоначальный вопрос был расколото до размера. независимо от того, не волнуйтесь, я видел ошибку в синтаксисе благодаря ответу Найбблера. –

ответ

26

Вы написали ваш выбор неправильно Попробуйте сделать следующее:..

Select Case numericDay 
      Case "1", "21", "31" 
       suffix = "st" 
      Case "2", "22" 
       suffix = "nd" 
      Case "3", "23" 
       suffix = "rd" 
      Case Else 
       suffix = "th" 
    End Select 

для дальнейшего использования: http://www.vb6.us/tutorials/learn-if-else-and-select-statements-vb6

+0

большое спасибо :) –

+3

+1 Для справок в будущем вы также можете попробовать руководство по http://msdn.microsoft.com/en-us/library/aa266274(v=VS.60).aspx – MarkJ

6

Согласно the msdn вы должны написали так:

Select Case numericDay 
     Case "1", "21", "31" 
      suffix = "st" 
     Case "2", "22" 
      suffix = "nd" 
     Case "3", "23" 
      suffix = "rd" 
     Case Else 
     suffix = "th" 
End Select 
3

"2" Or "22" будет делать по очереди или с 2 и 22, что соответствует 22.

Смежные вопросы