Probleme avec un tableau

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
YuChan
Niveau 5
Niveau 5
Messages : 113
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Probleme avec un tableau

#1

Message par YuChan »

Bonjour ALL,

J'ai ce petit tableau

Code : Tout sélectionner

Dim $arr[4][2] = [["arbre", "sapin"], ["musique", "rap"], ["metier", "compositeur"], ["genre", "feminin"]]
Je souhaite recuperer les valeur comme ceci :

Code : Tout sélectionner

Arbre : Sapin
Musique:rap
[....]
J'ai fais ce code mais il ne marche pas bien.

Code : Tout sélectionner

						If IsArray($arr) Then
							 $iMax = UBound($arr); get array size

							 ConsoleWrite("Items in the array: " & $iMax & @LF)

							 For $i = 0 to $arr[1][1] +  1
							 ConsoleWrite($arr[1][$i] & ":" & $arr[$i][1] & @LF)
							 Next
						EndIf
Et sa donne pas du tout cela

Merci si vous pouvez me guider vers une solution.

Cdt
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Probleme avec un tableau

#2

Message par walkson »

$arr[1][1] renvoie à la deuxième ligne et la deuxième colonne soit "rap" donc $arr[1][1] + 1 n'a aucun sens !

Code : Tout sélectionner

Dim $arr[4][2] = [["arbre", "sapin"], ["musique", "rap"], ["metier", "compositeur"], ["genre", "feminin"]]
						If IsArray($arr) Then
							 $iMax = UBound($arr); get array size

							 ConsoleWrite("Items in the array: " & $iMax & @LF)

							 For $i = 0 to UBound($arr) - 1 ; avec -1 car un array commence à 0
							 ConsoleWrite($arr[$i][0] & ":" & $arr[$i][1] & @LF)
							 Next
						EndIf
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
YuChan
Niveau 5
Niveau 5
Messages : 113
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Probleme avec un tableau

#3

Message par YuChan »

Merci pour cette reponse.

Je souhaiterai savoir maintenant comment faire pour écrire dans un fichier les enregistrements des array dans un fichier text si la valeur 2 et pas null

Donc le tableau :

Code : Tout sélectionner

Dim $arr[4][2] = [["arbre", ""], ["musique", "rap"], ["metier", "compositeur"], ["genre", "feminin"]]
Donc faudrait que dans le fichier .ini
sa ressemble a sa :

Code : Tout sélectionner

musique=rap
metier=compositeur
genre=feminin
Remarquez j'ai pas mis arbre car la valeur est vide.

Donc la question est comment je pourrais faire ça.

Merci
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Probleme avec un tableau

#4

Message par mikell »

IniWriteSection
Pour que le fichier ini soit "standard" (et plus facile d'utilisation) il vaut mieux y écrire toutes les clés même celles dont les valeurs sont nulles
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
YuChan
Niveau 5
Niveau 5
Messages : 113
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Probleme avec un tableau

#5

Message par YuChan »

Merci pour la reponse.

Mon probleme en faite et que je sais pas faire la boucle for ou autre pour écrire dans le ini.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Probleme avec un tableau

#6

Message par mikell »

Hmm je soupçonne que tu n'as pas pris la peine de lire le fichier d'aide pour IniWriteSection, ou alors que tu l'as lu en travers et/ou trop vite
En effet, si le paramètre "data" est un tableau, pas besoin de boucle :

Local $arr[4][2] = [["arbre", ""], ["musique", "rap"], ["metier", "compositeur"], ["genre", "feminin"]]

$ini = @desktopdir & "\test.ini"
IniWriteSection($ini, "test1", $arr, 0)

Sleep(100)
Msgbox(0,"", FileRead($ini) )
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre