Les partenaires publicitaires:

Erreur Visual Basic: Indice hors de portée

Un tableau est un objet en Visual Basic utilisé pour stocker une série de valeurs qui ont une relation logique. Tableaux diffèrent des variables scalaires, qui peuvent contenir une seule valeur à la fois. En revanche, un tableau peut contenir une ou plusieurs séries de valeurs, appelé dimensions. Chaque tableau a au moins une dimension, et chaque dimension possède une plage de valeurs valides. Si vous essayez d'accéder à un élément en dehors de cette plage, votre programme va jeter un «Indice hors de portée" erreur.

Tableau Référencement

  • Les dimensions des tableaux sont ordonnés, et sont désignés par un indice ou le numéro indice. Le premier élément d'une dimension est toujours numéroté zéro, et chaque élément subséquent est une plus grande. Supposons que vous créiez un tableau des étudiants - "étudiants ()" - dans une classe avec six étudiants: Andrea, Frank, Richard, Rachel, Melissa et Kacie. Vous souhaitez assigner et récupérer des éléments du tableau par leur index, ou le numéro de l'indice. Pour attribuer Andrea au premier élément, votre code lirait comme suit:

    étudiants (0) = "Andrea"

    Vous avez lu à partir d'un tableau en spécifiant l'index, aussi. Par exemple, si vous voulez afficher une boîte de message avec le dernier étudiant dans la liste, votre code lirait comme suit:




    Étudiants MsgBox (5)

Erreur d'exécution

  • Visual Basic est un langage compilé. Vous pouvez écrire du code qui va compiler avec succès, mais qui tente d'écrire ou de lire à partir d'un élément de tableau en dehors des limites inférieure et supérieure définies pour elle. A l'exécution, ce qui cause votre programme de lancer une exception, et affiche le message d'erreur «Indice hors de portée." Éliminer ce problème en agrandissant ou en rétrécissant les limites de votre tableau en tant que de besoin.

Dim et ReDim

  • Vous utilisez "Dim" la déclaration de Visual Basic pour déclarer les dimensions et les limites d'un tableau. Dans sa forme la plus simple, la syntaxe de l'instruction "Dim" est:

    Dim ArrayName (indice) comme type de données.

    "ArrayName" est le nom de votre réseau, et le type de données peut être tout type variable scalaire valide. Si vous spécifiez un indice pour votre tableau, il est une valeur fixe et ne peut être modifié. Toutefois, si vous omettez une valeur entre les parenthèses, Visual Basic considère que le tableau déclarées dynamiques. Les tableaux dynamiques peuvent être redimensionnés à tout moment en utilisant l'instruction "ReDim".

Considérations

  • La déclaration "ReDim" peut réduire ou agrandir un tableau dynamique. Toutefois, sauf si vous incluez le mot-clé option "préserver", toutes les valeurs du tableau seront remis à leur valeur par défaut, la valeur vide. Tableaux d'entiers auront chaque élément mis à zéro, par exemple.

    Vous pouvez agrandir un tableau de manière itérative en utilisant une sorte de boucle algorithme et un compteur. La déclaration "ReDim" peut prendre des combinaisons de variables scalaires et constantes numériques comme arguments. Ainsi, vous pouvez agrandir la variable compteur par un au cours de chaque itération.

    Vous pouvez tester les limites supérieure et inférieure d'un tableau avec le «GetUpperBound" et les commandes "GetLowerBound". Vous pouvez atténuer sur les exceptions de portée en testant ces limites avant de lire ou d'écrire dans un élément de tableau.

» » » » Erreur Visual Basic: Indice hors de portée