[WD11] Il essaie de lire mon_tableau[0] quand je lui demande mon_tableau[1]

Le
Loko
Bonjour

Mon tableau de chaînes est rempli comme ceci :
--
gtabCHIFFRE est un tableau de 19 chaînes
gtabCHIFFRE[1] = "un"
gtabCHIFFRE[2] = "deux"
gtabCHIFFRE[3] = "trois"
gtabCHIFFRE[4] = "quatre"
gtabCHIFFRE[5]="cinq"
gtabCHIFFRE[6]="six"
gtabCHIFFRE[7]="sept"
gtabCHIFFRE[8]="huit"
gtabCHIFFRE[9]="neuf"
gtabCHIFFRE[10]="dix"
gtabCHIFFRE[11]="onze"
gtabCHIFFRE[12]="douze"
gtabCHIFFRE[13]="treize"
gtabCHIFFRE[14]="quatorze"
gtabCHIFFRE[15]="quinze"
gtabCHIFFRE[16]="seize"
gtabCHIFFRE[17]="dix-sept"
gtabCHIFFRE[18]="dix-huit"
gtabCHIFFRE[19]="dix-neuf"
--

Lorsque je fais cela :
--
IF ($L_N_VARNUMU1$ <> 0 ) THEN
Trace($L_N_VARNUMU1$)
$L_C_VARLETLOC$ += gtabCHIFFRE[$L_N_VARNUMU1$]
END
-

bizzarement quand ma variable $L_N_VARNUMU1$ vaut entre 1 et 4 inclus
il essaie de me lire l'indice n-1 (donc ca plante si ma variable vaut
1 car il essaie de lire l'indice 0, et ca me retourne une valeur
fausse de 2 à 4).
Par contre si ma variable est >=5 alors pas de problème il lit la
bonne valeur.

C'est très étrange, qqun a t-il une explication svp ?

Merci bcp
Loko
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal F
Le #14555201
Loko a exprimé avec précision :
Bonjour

Mon tableau de chaînes est rempli comme ceci :
--------------
gtabCHIFFRE est un tableau de 19 chaînes
gtabCHIFFRE[1] = "un"
gtabCHIFFRE[2] = "deux"
gtabCHIFFRE[3] = "trois"
gtabCHIFFRE[4] = "quatre"
gtabCHIFFRE[5]="cinq"
gtabCHIFFRE[6]="six"
gtabCHIFFRE[7]="sept"
gtabCHIFFRE[8]="huit"
gtabCHIFFRE[9]="neuf"
gtabCHIFFRE[10]="dix"
gtabCHIFFRE[11]="onze"
gtabCHIFFRE[12]="douze"
gtabCHIFFRE[13]="treize"
gtabCHIFFRE[14]="quatorze"
gtabCHIFFRE[15]="quinze"
gtabCHIFFRE[16]="seize"
gtabCHIFFRE[17]="dix-sept"
gtabCHIFFRE[18]="dix-huit"
gtabCHIFFRE[19]="dix-neuf"
-----------------

Lorsque je fais cela :
--------------
IF ($L_N_VARNUMU1$ <> 0 ) THEN
Trace($L_N_VARNUMU1$)
$L_C_VARLETLOC$ += gtabCHIFFRE[$L_N_VARNUMU1$]
END
----------

bizzarement quand ma variable $L_N_VARNUMU1$ vaut entre 1 et 4 inclus
il essaie de me lire l'indice n-1 (donc ca plante si ma variable vaut
1 car il essaie de lire l'indice 0, et ca me retourne une valeur
fausse de 2 à 4).
Par contre si ma variable est >=5 alors pas de problème il lit la
bonne valeur.

C'est très étrange, qqun a t-il une explication svp ?

Merci bcp
Loko



la variable est de quel type? ne serait_ce pas une chaine. D'autre part plutot que de vérifier si la variable est différente de
0, je préfère perso tester si elle est >0 car sinon en cas de valeur négative, une erreur est générée.

--
Pascal

Ne garder que le prénom pour me joindre
Publicité
Poster une réponse
Anonyme