web-dev-qa-db-fra.com

Déclaration de cas Visual Basic 6.0

Ce petit morceau de code est censé se déclencher et me donner la bonne variable Mais peu importe le contenu de la variable "numericDay", la variable "suffix" me donne. Je ne vois pas pourquoi cela ne changerait pas lorsque la valeur de "numericDay change sont des variables de chaîne.

    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
12
Joe Winfield

Vous avez mal écrit votre sélection. Essayez ce qui suit: 

    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

Pour référence future: http://www.vb6.us/tutorials/learn-if-else-and-select-statements-vb6

30
nybbler

Selon le msdn vous auriez dû l'écrire comme ceci:

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
8

"2" Or "22" fera un bytewise ou avec 2 et 22, ce qui correspond à 22.

4
belgther

Vous avez mal écrit votre sélection. Essayez ce qui suit

Par exemple: afficher le jour en fonction du numéro entré.

public function day_display(day as Integer) as String
   select case day
        case 1: day_display = "Sunday"
        case 2: day_display = "Monday"
        case 3: day_display = "Tuesday"
        case 4: day_display = "Wednesday"
        case 5: day_display = "Thursday"
        case 6: day_display = "Friday"
        case 7: day_display = "Saturday"
        case else: day_display = "Wrong entry."
   end select
end function   

day_display (1) retournera "dimanche"

0
Codemaker