[R] Acceder à un tableau de tableau

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
keltharak
Niveau 3
Niveau 3
Messages : 40
Enregistré le : lun. 12 janv. 2009 16:35
Status : Hors ligne

[R] Acceder à un tableau de tableau

#1

Message par keltharak »

Bonjour,

J'ai une question toute bête, j'ai un tableau qui contient d'autres tableaux, est-il possible d'accéder directement à une valeur d'un "sous-tableau" et si oui comment ???

par exemple :

Code : Tout sélectionner

Dim $niv1[3]
Dim $niv21[3]
$niv21[0] = "a"
$niv21[1] = "b"
$niv21[2] = "c"
$niv1[0] = $niv21
Comment sortir le "b" en une seule étape ?
j'ai essayé $niv1[0].[1] , $niv1[0][1] mais ça marche pas...

Merci d'avance.
Modifié en dernier par keltharak le mer. 24 févr. 2010 20:17, modifié 1 fois.
Avatar du membre
pop45
Membre émérite
Membre émérite
Messages : 251
Enregistré le : dim. 30 août 2009 16:18
Status : Hors ligne

Re: [..] Acceder à un tableau de tableau

#2

Message par pop45 »

$niv1[0] = $niv21[1] tout simplement

Je vois pas trop se qu'il y a de difficile :shock:
Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
keltharak
Niveau 3
Niveau 3
Messages : 40
Enregistré le : lun. 12 janv. 2009 16:35
Status : Hors ligne

Re: [..] Acceder à un tableau de tableau

#3

Message par keltharak »

hum... je doute que ce soit ça, avec cette ligne je vais mettre "b" dans $niv1[0] et je vais perdre mon tableau contenu dans cette case.

La solution que j'ai trouvé pour l'instant c'est de mettre une case dans un tableau temporaire pour travailler dessus, mais je trouve pas ça terrible.

Code : Tout sélectionner

$tmp = $niv1[0]

Msgbox(0, "test", 'le fameux "b" : ' & $tmp[1])
Avatar du membre
pop45
Membre émérite
Membre émérite
Messages : 251
Enregistré le : dim. 30 août 2009 16:18
Status : Hors ligne

Re: [..] Acceder à un tableau de tableau

#4

Message par pop45 »

Je comprend pas se que tu veut faire appart metre la valuer de $niv21[1] qui est b dans $niv1
Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Acceder à un tableau de tableau

#5

Message par Tlem »

Il me semble que j'avais vu cette info quelque part, mais je n'en avais pas fait cas, car il est fortement déconseillé de procéder de la sorte.
Après quelques recherche je n'ai pas retrouvé l'info, mais ceci :
http://www.autoitscript.com/forum/index ... t&p=741236
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Acceder à un tableau de tableau

#6

Message par Iste »

Le seul moyen que j'ai a vous proposer est de récup le tableau dans une variable temps

Code : Tout sélectionner

Dim $niv1[3]
Dim $niv21[3]
$niv21[0] = "a"
$niv21[1] = "b"
$niv21[2] = "c"
$niv1[0] = $niv21

$testRecup = $niv1[0]
MsgBox('','',$niv21[0]&$niv21[1]&$niv21[2])
Signez ici
keltharak
Niveau 3
Niveau 3
Messages : 40
Enregistré le : lun. 12 janv. 2009 16:35
Status : Hors ligne

Re: [..] Acceder à un tableau de tableau

#7

Message par keltharak »

Merci pour ces conseil, J'ai utilisé la solution de Iste puisqu'il semble que ce soit la seule, mais ce n'est pas du tout pratique pour moi. Je m'excuse auprès de tout les dieux de l'autoIT ici présent mais je vais garder cette structure de tableaux imbriqués car je ne vois pas comment réorganiser ma structure de donnée autrement (à part la base de donnée effectivement mais j'ai pas vraiment envi de monter un serveur SQL juste pour mes quelques lignes de code...).

Pour expliqué mon problème à pop45, j'utilise le premier tableau pour en stocker d'autres (2 d'affilés en fait, quitte à abuser hein !), un peu comme une structure en C. Je veux ensuite accédé au donné contenues dans cet espèce "d'arbre" que j'ai créé mais sans forcément avoir à extraire les tableaux les uns après les autres pour accédé au données finales. Dans l'idée je voulais avoir quelque chose de proche du C ou du java : conteneur1.conteneur2.conteneur3.valeur

Merci encore à tous et je promet que la prochaine fois je réfléchirai à autre chose.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Acceder à un tableau de tableau

#8

Message par Tlem »

Que je sache, il n'y à aucun dieux de l'autoIT sur ce forum ... :lol:

Pour la base de donnée, comme il est dit sur le lien que je vous ai donné, un simple fichier suffit voir même directement en mémoire puisque AutoIt embarque une version light de Sql (voir fonction _SQLite_XXX()). :wink:

Sinon en ce qui concerne votre structure en tableau, si vos 'sous tableaux' ont la même taille, pourquoi ne pas utiliser un simple tableau 2D.

Code : Tout sélectionner

$Tableau[$Ligne][$Colonne]
Ensuite il vous suffit de faire une petite fonction qui place les éléments du tableau d'origine dans le 'multi-tableau' de destination (chaque colonne représentant le tableau d'origine).
Fichiers joints
tableau.PNG
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
keltharak
Niveau 3
Niveau 3
Messages : 40
Enregistré le : lun. 12 janv. 2009 16:35
Status : Hors ligne

Re: [R] Acceder à un tableau de tableau

#9

Message par keltharak »

Et en plus les dieux sont modestes ici !

Merci pour ces indications, je vais me pencher sur ce SQL chargé en mémoire, ça m'intrigue.
Répondre