Page 1 sur 1

[R] Tableau imbriqué dans un tableau ?

Posté : jeu. 17 juil. 2008 20:22
par SagePourpre
Je me suis encore mis dans le pétrin.

J'ai un code ... fonctionnel et simple dans ma GUI

Code : Tout sélectionner

$pack = _FileListToArray(@ScriptDir,"*",2)
For $i = 1 to $pack[0]
    GUICtrlCreateGroup($pack[$i],10,10+40*$i,30,30)
    Next

En gros, chaque dossier où le script est placé sera listé et un 
groupe sera créé pour chaque dossiers trouvés. 

J'aurais aimé pouvoir aussi listé les fichiers (uniquement les fichiers) dans les dossiers précédemment listés. 

Un genre de  : 

[code]$pack = _FileListToArray(@ScriptDir,"*",2)
For $i = 1 to $pack[0]
    GUICtrlCreateGroup($pack[$i],10,10+40*$i,30,30)
    $pack_items = _FileListToArray(@ScriptDir & "\" & $pack[$i])
For $j = 1 to $pack_items[0]
GUICtrlCreateCheckbox($pack_items[$j],20,20+$j*20,20,20)


Next
Next
 
mais fonctionnel... (le deuxième exemple ne fonctionnant pas )


Y'a t'il un moyen de faire quelque chose de similaire...


Sinon je me résignerai à le faire avec des iniwrite et iniread mais
si je peux l'éviter j'aimerais mieux.


En bref, je veux que dans ma gui, chaque dossier à la racine du script soit représenté par un groupe et chaque checkbox placés dans mes groupes représente les fichiers placés au sein de ces dossier.


Si vous avez des idées/ indications, je suis preneur, sinon je tenterai le coup avec des fichiers .ini .

Re: [...]Tableau imbriqué dans un tableau ?

Posté : ven. 18 juil. 2008 00:41
par Tlem
Regardez l'exemple dans l'aide de la commande : _GUICtrlTreeView_Create
Je pense que cette solution est bien plus simple.

Re: [R]Tableau imbriqué dans un tableau ?

Posté : ven. 18 juil. 2008 23:27
par SagePourpre
Merci ... mais j'avoue que la fonction me semble un peu complexe à prendre en main (pour l'instant du moins). J'essaierai de trouver des exemples simples d'utilisation de cette fonction avant de la tenter.

Par contre, j'ai trouvé un code que j'ai pu adapter en ceci.

Code : Tout sélectionner

#include <File.au3>
#Include <Array.au3>



dim $pack
dim $pack_items
dim $gui_items[50][50]

$pack = _FileListToArray(@ScriptDir,"*",2)

for $i = 1 to $pack[0]
  
    $pack_items = _FileListToArray(@scriptdir & "\" & $pack[$i],"*",1)
    if $pack[$i] = " Scripts" Then
        _ArrayDelete($pack,$pack[$i])
        EndIf
    for $t = 1 to UBound($pack_items) -1
      $gui_items[$i][$t] = $pack_items[$t]
    
      MsgBox(0, "", $pack[$i] & @lf & $gui_items[$i][$t])
    Next

Next
Voilà un exemple fonctionnel de ce que je cherchais à faire, si jamais y'en a pour qui ça peut servir (naturellement, j'ai posté la "nature" de ce que je voulais faire mais ça fait partie d'un projet plus grand (je posterai le résultat lorsque j'aurai terminé)