Page 1 sur 1

[R] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 11:03
par phenom0202
Bonjour, voilà mon souci depuis un petit moment, j'aimerais afficher dans un fichier.txt ce que je reçois dans mon Tableau 2D mais pour cela j'ai besoin que celui-ci reprenne les informations stockées juste avant dans 2 tableaux à une dimension.
Je reçois bien les données que je veux dans mes 2 tableaux 1D mais quand j'arrive à vouloir les afficher dans mon tableau 2D, pas moyen ....


Voici un bout de code :
► Afficher le texte
voici un peu plus de détails en images :
► Afficher le texte
Si besoin de plus de détails, je pourrais les fournir.

Cordialement,
Phenom0202

Re: [..] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 11:42
par lesolutionneur
Normal :
Dim $Tableau2D[11][3] = [[$arrayDate,$arrayNom]]
Cette ligne ne stocke que deux éléments ; ici deux arrays dans un array. (ça ne les fusionne pas !)
Il faut que tu remplisses les deux colonnes avec une boucle, je ne crois pas qu'il y ait une fonction pour le faire tout seul.

Re: [..] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 13:02
par phenom0202
Merci de cette réponse, ça me met sur la bonne voie.

j'ai donc testé ceci :

Code : Tout sélectionner

 For $x = 1 to 6 Step 1
         Dim $Tableau2D[11][3] = [[$arrayDate[$x],$arrayNom[$x]]]
         _ArrayDisplay($Tableau2D,"")
         Next
Effectivement maintenant j'ai une ecriture mais seulement à la première ligne du Tableau2D et cela même à chaque incrémentation, c'est à dire que la première fois, sa écrit bien ce qu'il faut a la première ligne dans les 2 colonnes mais la deuxième fois, sa efface la première ligne d'avant pour y ajouter à cette même ligne ce qui devrait être à la ligne 2.

Re: [..] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 13:17
par TopXm
Hello :)

Ce que je pige pas c'est comment tu fais le lien entre tes deux tableaux (10 occurrences d'un côté et 7 de l'autre) ?

A priori y'a un même nom sur plusieurs dates mais lequel ?

Re: [..] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 13:26
par phenom0202
Salut ,

pas de souci, je vais expliquer(enfin essayer ^^). Donc dans mon cas, je récupère ces données sur un site.Je vais faire dans le cas le plus simple, sur la page qui va être générée, il y aura 10 annonces, donc, 10 "Dates", pour chaque date, il y aura soit un ou plusieurs "Noms, prénoms" soit un "nom d'entreprise.
Ce qui fait que je peux récupérer sur la page par exemple 10 dates, 3 "noms, prénoms", donc ce qu'il fait que les autres seront des noms d'entreprise.
Dans mon cas sur la page générée, il y a 10 dates, 7 "Noms,Prénoms" et donc 3 noms d'entreprise.

j'espère avoir été clair :) .

Re: [..] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 13:34
par TopXm
Re,

Du coup en fait tu balances par colonnes toutes tes données sans aucune correspondance entre elles ?

Tu peux essayer ceci pour voir

Code : Tout sélectionner

#include <array.au3>

Local $Array1[11] = [10, "05/06/2013", "04/06/2013", "04/06/2013", "04/06/2013", "04/06/2013", _
                        "04/06/2013", "04/06/2013", "04/06/2013", "04/06/2013", "04/06/2013"]
Local $Array2[8] = [7, "Jean-bob", "Hugo", "Paul", "Emile", "Suzanne", "Fernande"]

Local $I
Local $Max = $Array1[0]

If $Array2[0] > $Max Then $Max = $Array2[0]

Local $Array3[$Max + 1][2] = [[$Max]]

For $I = 1 To $Max
    If $I <= $Array1[0] Then $Array3[$I][0] = $Array1[$I]
    If $I <= $Array2[0] Then $Array3[$I][1] = $Array2[$I]
Next

_ArrayDisplay($Array3)
 
NB : J'ai défini les tableaux à la main

Re: [..] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 14:05
par phenom0202
Re,

J'édit cette réponse en ayant dit qu'à partir de _FileWriteFromArray le programme avait un bug, mais en faite c'est bon j'ai rectifié, il fallait juste que je mette aussi les noms d'entreprise si non le programme disait que le tableau n'était pas complet.

Donc je vous remercie pour les réponses données cela m'a bien aidé :)

Il ne me reste plus qu'à pofiner quelques petits trucs et ce sera bon.

Merci a vous :D

Re: [R] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 14:58
par TopXm
Re,
phenom0202 a écrit :J'édit cette réponse en ayant dit qu'à partir de _FileWriteFromArray le programme avait un bug, mais en faite c'est bon j'ai rectifié, il fallait juste que je mette aussi les noms d'entreprise si non le programme disait que le tableau n'était pas complet.
Hum, ben pourtant perso, j'ai l'impression qu'il y a une boulette dans le code de _FileWriteFromArray() de File.au3 au niveau de la gestion des
tableaux en 2D. En regardant le code initial :
► Afficher le texte_FileWriteFromArray
$iDims est défini comme suit :

Code : Tout sélectionner

Local $iDims = UBound($a_Array, 0)
Dans le cas présent on traite un array à 2 colonnes (donc de 0 à 1), donc $iDims = 2. Du coup dans le Switch on passe dans le Case 2 et on fait :

Code : Tout sélectionner

            For $x = $i_Base To $i_UBound
                $s_Temp = $a_Array[$x][0]
                For $y = 1 To $iDims
                    $s_Temp &= $s_Delim & $a_Array[$x][$y]
                Next
                If FileWrite($hFile, $s_Temp & @CRLF) = 0 Then
                    $ErrorSav = 3
                    ExitLoop
                EndIf
            Next
 
Ce qui me gène c'est l'ordre

Code : Tout sélectionner

For $y = 1 To $iDims (dans notre cas de 1 à 2)
Du coup ça tente de traiter $a_Array[$x][2] chose qui provoque un plantage.

Perso j'aurai codé ceci :

Code : Tout sélectionner

            For $x = $i_Base To $i_UBound
                $s_Temp = $a_Array[$x][0]
                For $y = 1 To $iDims - 1
                    $s_Temp &= $s_Delim & $a_Array[$x][$y]
                Next
                If FileWrite($hFile, $s_Temp & @CRLF) = 0 Then
                    $ErrorSav = 3
                    ExitLoop
                EndIf
            Next
 
Si je fais la modification comme décrite au dessus je n'ai pas de souci d'exécution.

Je me fourvoie complétement où il y a bien une boulette dans la fonction _FileWriteFromArray() pour les tableaux 2D ?

++

Re: [R] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 15:27
par jchd
C'est le ticket #2125

Re: [R] Problème de tableau dans un tableau

Posté : jeu. 06 juin 2013 15:40
par TopXm
Ah OK merci Jchd :)