|
| Erreur extraction tableau |
| Iniciado por Quentin Lec., 16,dic. 2019 12:38 - 9 respuestas |
| |
| | | |
|
| |
Miembro registrado 18 mensajes |
|
| Publicado el 16,diciembre 2019 - 12:38 |
Bonjour,
Voici mon code :

J'essaye de recopier les données d'un tableau (1 dimensions) dans un fichier, et ce à l'aide d'une boucle, hors ce problème survient :


Je comprends ce qu'il se passe mais je n'ai pas de solution pour y remédier. Peut être un moyen de terminer la boucle lorsque la valeur est faussée?
Merci d'avance.
Quentin |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 16,diciembre 2019 - 12:46 |
Bonjour,
oui logique que ça plante, tu tentes d'accéder à la valeur d'un élément qui n'existe pas.
Il faut d'ailleurs, à moins d'y être vraiment obligé, proscrire les boucles infinies qui entraînent le type d'erreur que tu as.
Pour t'en sortir, tu as TableauOccurrence(), TableauVersChaine(),...
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.002 mensajes |
|
| Publicado el 16,diciembre 2019 - 13:29 |
Bonjour,
Au lieu de faire des boucle
Pour i=1 _A_ tableautraité..occurrence FIN
Jordan |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 16,diciembre 2019 - 14:14 |
L'erreur est effectivement logique, à aucun moment donnée, on teste l'existence d'un nouvel élément du tableau à chaque fois qu'on change de ligne. La solution de Jordan est une possibilité (c'est aussi celle que j'utilise tout le temps), mais d'autres syntaxes restent possibles, l'une d'elles consistent à remplacer la dernière boucle par celle ci :
POUR TOUT ValeurTableauTraite de TableauTraite SAI_ContenuFichier+=[RC] + ValeurTableauTraite FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 18 mensajes |
|
| Publicado el 16,diciembre 2019 - 14:59 |
Merci de vos réponses,
Je ne suis pas sur de bien comprendre le code donnée par Jordan, sert-il à compter le nombre d'élément dans le tableau? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 491 mensajes |
|
| Publicado el 16,diciembre 2019 - 15:51 |
Bonjour
tableautraité..occurence => retourne le nombre d’occurrence dans le tableau exemple : un tableau avec ces valeurs :[100,200,300,400,500] ici tableautraité..occurence sera égale à 5
Pour i = 1 _A_ tableautraité..occurence trace(tableautraité[i]) FIN
ce qui ce passe dans le code ci dessus :
i = 1 la trace affichera au premier tour de boucle la valeur 100 i = 2 la trace affichera au second tour de boucle la valeur 200 i = 3 la trace affichera au troisième tour de boucle la valeur 300 i = 4 la trace affichera au quatrième tour de boucle la valeur 400 i = 5 la trace affichera au cinquième tour de boucle la valeur 500
NB : pas besoin d'incrémenter 'i' cela se fait de façon automatique
cordialement
DG |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 16,diciembre 2019 - 16:21 |
Attention tout de même avec la propriété ..Occurrence. Dans le cas d'un tableau multidimension, ..Occurrence renvoie le nombre totale de valeur du tableau, c'est-à-dire NbLigne x NbColonne.
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 16,diciembre 2019 - 16:27 |
Philippe SB a écrit : > Attention tout de même avec la propriété ..Occurrence. Dans le cas d'un tableau multidimension, ..Occurrence renvoie le nombre totale de valeur du tableau, c'est-à-dire NbLigne x NbColonne.
Ici, le tableau est à 1 dimension donc pas de soucis avec la propriété ..Occurrence |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 491 mensajes |
|
| Publicado el 16,diciembre 2019 - 16:39 |
juste une dernière info rien à voir avec votre problème lors d'une incrémentation vous écrivez : x =x + 1
vous pouvez l'écrire aussi de cette façon : x++
https://doc.pcsoft.fr/fr-FR/?1512008
Équivalence
j ++ est équivalent à j = j + 1 j -- est équivalent à j = j - 1 j += 3 est équivalent à j = j + 3 j -= 3 est équivalent à j = j - 3 Il est conseillé d'utiliser les syntaxes : "j ++", "j --", "j +=" et "j -=", plus rapides que les syntaxes habituelles.
Cordialement
DG |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 23 mensajes |
|
| Publicado el 16,diciembre 2019 - 16:49 |
Bonjour,
pour éviter les boucles, ne serait-il pas plus simple d'utiliser la fonction : TableauVersChaine ?
https://doc.pcsoft.fr/fr-FR/?1000017007
Pas de boucle, on peut personnaliser le séparateur. Une seule ligne de code.
sExtractionTable = TableauVersChaine(TableauTraité) |
| |
| |
| | | |
|
| | | | |
| | |
|