CDEProgrammeur
Messages postés23Date d'inscriptionjeudi 7 octobre 2010StatutMembreDernière intervention20 juillet 2012
-
15 déc. 2010 à 01:35
CDEProgrammeur
Messages postés23Date d'inscriptionjeudi 7 octobre 2010StatutMembreDernière intervention20 juillet 2012
-
15 déc. 2010 à 01:56
Bonjour tout le monde. J'ai un petit soucis avec la function Convert.ToInt32
Je dois vérifier si le mot que l'usager entrera contient au moins une majuscule. Cette partie je l'ai fais en un rien de temps
mais la je dois vérifier si l'usager entre un chiffre entre 0 et 9 dans le mot.
Voici la partie de mon code qui gere les majuscule et les nombre
Private Sub btnAddItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddItem.Click
addItemToList()
End Sub
Sub addItemToList() 'sub qui gère l'ajoue des items a la list box de gauche
'Déclaration de mes variable
Dim itemName As String
Dim asDouble As Boolean
Dim asUPPER As Boolean
Dim asNbr As Boolean
Dim newItemArray() As String
itemName = CStr(txtItemName.Text)
asDouble = checkDouble(itemName) 'Va faire a function qui regarde pour les doublons du listbox
asUPPER = checkUPPER(itemName) 'Va faire a function qui regarde si le mot contient une lettre majuscule
asNbr = checkNbr(itemName) 'Va faire a function qui regarde si le mot contient un chiffre entre 0 et 9
If asDouble False And asUPPER True And asNbr = False Then
'Ajoutera l'item celon la position choisi. Par default la position s'ajuste automatiquement celon la grandeur du listbox
lstItem.Items.Insert((nudPosition.Value - 1), itemName)
'Agrandi mon array avec les nom d'items
ReDim newItemArray(lstItem.Items.Count - 1)
newItemArray(lstItem.Items.Count - 1) = itemName
nudPosition.Maximum = (newItemArray.Length + 1)
nudPosition.Value = (newItemArray.Length + 1)
Else
MessageBox.Show("error") 'temporaire
End If
End Sub
Function checkDouble(ByVal itemName As String) As Boolean
'La function regarde pour un doublons et retourne true
'si l'item ajouter est un doublons et false s'il ne l'est pas
Dim asDouble As Boolean
If lstItem.Items.Contains(itemName) Then
asDouble = True
Else
asDouble = False
End If
Return asDouble
End Function
Function checkUPPER(ByVal itemName As String) As Boolean
'déclaration des mes variables
Dim iMaj As Integer
Dim asUPPER As Boolean
Dim cLetter As String
asUPPER = False
'Regarde si le char au compteur est une majuscule. Si il trouve une majuscule
'je retourne true autrement false. Quand la majuscule est trouver je sort du "for"
For iMaj = 0 To itemName.Length - 1
cLetter = itemName.Chars(iMaj)
If Char.IsUpper(cLetter) Then
asUPPER = True
Exit For
End If
Next
Return asUPPER
End Function
Function checkNbr(ByVal itemName As String) As Boolean
'Déclaration de mes variables
Dim iNbr As Integer
Dim asNbr As Boolean
Dim cPos As String
Dim cod32 As Integer
asNbr = False
For iNbr = 0 To itemName.Length - 1
cPos = itemName.Chars(iNbr)
cod32 = Convert.ToInt32(cPos)
If cod32 >= 48 Or cod32 <= 57 Then
asNbr = True
Exit For
End If
Next
Return asNbr
End Function
End Class
Quand je compile et que j'essais de rentrer le nom de l'item , avant de l'ajouter a mon listbox, il me donne un erreur a cette ligne:
cod32 = Convert.ToInt32(cPos)
Est-ce que quelqun d'entre vous voie se que je fait de pas correcte?