Bonjour à tous
Je voudrais générer des checkbox dynamique basé sur un fichier ini.
Je m'explique :
Ce script servira à installer des packages sur des postes clients de plusieurs sites. J'ai regardé un peu partout sur le net et j'ai trouvé ceci :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstants.au3>
#include <file.au3>
$Dir = @ScriptDir & '\Packs\'
$Packs = _FileListToArray($Dir)
Dim $Checks[$Packs[0] + 1]
$Height = ($Packs[0] * 20) + 50
If $Height > @DesktopHeight Then
MsgBox(0x0,"Erreur", "Il y a plus de fichiers que ne peut en contenir la fenêtre ", 3)
$Height = @DesktopHeight - 50
EndIf
GUICreate("Nombre de packs trouvés: " & $Packs[0], 300, $Height)
For $i = 1 To $Packs[0]
$Height = $i * 20
$Checks[$i] = GUICtrlCreateCheckbox($Packs[$i], 5, $Height, 150, 15)
Next
$btn = GUICtrlCreateButton("Start", 200, 30, 60, 30)
GUISetState()
While 1
$Msg = GUIGetMsg()
Select
Case $Msg = $GUI_EVENT_CLOSE
Exit
Case $Msg = $btn
for $x = 1 to $Packs[0]
If _IsChecked($Checks[$x]) Then
;~ do something Run or ??
MsgBox(0x0,"#=" &$x,"control = " & GUICtrlRead($Checks[$x] & " ", 1), 2)
EndIf
Next
EndSelect
WEnd
Func _IsChecked($control)
Return BitAnd(GUICtrlRead($control),$GUI_CHECKED) = $GUI_CHECKED
EndFunc
Mon problème est que ce bout de code liste les fichiers .exe présent dans un répertoire, ce qui ne me convient pas, mais je n'arrive pas à le modifier pour qu'il me récupère les clés de mon fichier ini.
Si je comprends bien, il faut récupérer dans la variable $packs la liste de toutes les clés de mon fichier ini pour qu'il puisse créer les checkbox.
Dans l'aide d'autoIt je trouve bien les commandes pour pouvoir lire les sections ou les valeurs mais pas les clés… Est-ce normal ou c'est moi qui est loupé quelque chose?
Forme de mon fichier .ini
[Nom du site]
Nom du programme = chemin du programme
Ce que je veux récupérer c'est tous les "Nom du programme" que recense mon fichier ini
J'espère avoir été claire dans mon explication^^
Merci pour vos réponses
