Zombryo Posted July 16, 2008 Share Posted July 16, 2008 Ok, i have a slight problem in my program, for the 2 loops here creatte my GUI Global $Fichier = "Logiciel.ini" $Tabulation = GUICtrlCreateTab(10,50,500,300) $boucleonglet=IniRead($Fichier,"information","nombreonglet",""); number of tabitems dim $z,$y,$x,$w=0,$j=0 For $r=0 to $boucleonglet ; number of time it will loop for the tabitems $y=100 $x=40 $boucleprogramme= Iniread($Fichier,"secteur"& $z,"nombreprogramme",""); number of programme in the loop $onglet= IniRead($Fichier,"secteur"& $z,"descrip",""); name of the tabitem guictrlcreatetabitem($onglet) ; create the tabitem $bob=Iniread($Fichier,"secteur"& $z,"Description",""); in teh tabitem there is a label and it make ;Guictrlsetdata($lbl3,$bob) ; label in my user interface to tell me he really put it in the table $w=1 guictrlsetstate($onglet,$GUI_FOCUS) If $boucleprogramme <> 0 Then For $b=1 to $boucleprogramme GUICtrlCreateLabel($bob,40,80) $nomcheckbox=Iniread($Fichier,"secteur"& $z,"Logiciel" & $w,"") $tableau[$j]=GUICtrlCreateCheckbox($nomcheckbox,$x,$y,300,20) ; create the checkbox with the text in the .ini file and add it to a table $y=$y+20 ;make sure the checkbox goes lower $tableau_rep[$j]=Iniread("logiciel.ini","secteur"& $z,"Path" & $w,"") ; gets the path stated in teh Logiciel.ini file and put it into a table GUICtrlSetData($lbl3,$tableau_rep[$j]) ; show in the lable at top of the screen what is in the table $w=$w+1 ; change the Logicielname $j=$j+1 Next EndIf $z=$z+1 Next Everything is ok exept that it stay on first tab and show no checkbox( i could use help on how to fix this one) i teste lots of thing none worked even the guicreatetabitem("") Now my veryfication loop to start the install of my program is Func Installer() Runwait("Z:\Logiciels\DAO\Autocad 2008\Autocad 2008 Reseau.lnk") ; Test to see if .lnk programm start alone dim $j=0 ;dim $total = Iniread("Logiciel.ini","information","programmetotal","") ; read in the Logiciel.ini the number of program ther eis ( i stated it in the file) For $j = 0 to 20 Step 1 If GUICtrlRead($tableau[$j]) = 1 Then ;all the Paths for the programe are in Tableau_rep wich is supposed to be linked at same number as tableau ;MsgBox(0,"allo",$tableau_rep[$j]) Runwait($tableau_rep[$j]) EndIf Next EndFunc Here is my total codeCODE#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 #include "Process.au3" #include <GuiConstants.au3> #include <GuiTab.au3> Global $Fichier = "Logiciel.ini" ; fichier contenant les logiciels dim $compteur=0 Dim $Demarrer,$Quitter ; Boutons Dim $Boite_Largeur=500,$Boite_Longueur=700 ; La boite d'interface graphique (dimension) ;>>>>>>>>>>>>> CREATE GUI <<<<<<<<<<<<<<<<< Opt("GUIOnEventMode", 1) ; Change to OnEvent mode $mainwindow = GUICreate("Installation Logiciel", 600, 400) $Quitterbutton = GUICtrlCreateButton("Quitter", 250, 350, 60) GUICtrlSetOnEvent($Quitterbutton, "CLOSEClicked") $lbl1=GUICtrlCreateLabel("Choisir les logiciels a installer...", 30, 10) $lbl3=GUICtrlCreateLabel("Tableau", 300, 30,200) $okbutton = GUICtrlCreateButton("Crée moi une interface", 25, 350, 150) $Roger=GUICtrlCreateButton("Installer",350,350,75) GUICtrlSetOnEvent($okbutton, "BtnDemarrer") GUICtrlSetOnEvent($Roger,"Installer") GUISetState(@SW_SHOW) dim $programmetotal=0 dim $tableau[100] Dim $tableau_rep[100] BtnDemarrer() ;========================================================================================= dim $tab1,$tab2,$tab3,$tab4, $r dim $boucleprogramme dim $boucleonglet=0 $programmetotal=Iniread("logiciel.ini","information","programmetotal","") While 1 Sleep(1000) ; Idle around WEnd Func BtnDemarrer() $Tabulation = GUICtrlCreateTab(10,50,500,300) $boucleonglet=IniRead($Fichier,"information","nombreonglet",""); pour le nombre d'onglet dim $z,$y,$x,$w=0,$j=0 For $r=0 to $boucleonglet $y=100 $x=40 $boucleprogramme= Iniread($Fichier,"secteur"& $z,"nombreprogramme",""); pour le nombre de programme dans la boucle $onglet= IniRead($Fichier,"secteur"& $z,"descrip","") ; incrémentation pour les bloucle pour changer d'onglet ;_GUICtrlTab_InsertItem($Tabulation, $r, $onglet) guictrlcreatetabitem($onglet) $bob=Iniread($Fichier,"secteur"& $z,"Description","") ;Guictrlsetdata($lbl3,$bob) $w=1 guictrlsetstate($onglet,$GUI_FOCUS) If $boucleprogramme <> 0 Then For $b=1 to $boucleprogramme GUICtrlCreateLabel($bob,40,80) ; Création des checkbox et incrémentation pour prendre chaque logiciel $nomcheckbox=Iniread($Fichier,"secteur"& $z,"Logiciel" & $w,"") $tableau[$j]=GUICtrlCreateCheckbox($nomcheckbox,$x,$y,300,20) $y=$y+20 $tableau_rep[$j]=Iniread("logiciel.ini","secteur"& $z,"Path" & $w,"") GUICtrlSetData($lbl3,$tableau_rep[$j]) $w=$w+1 $j=$j+1 Next EndIf $z=$z+1 Next EndFunc Func CLOSEClicked() MsgBox(0, "Fin du programme", "Bah, on recommencera plus tard alors!") ; GUIDelete($mainwindow) Exit EndFunc Func Installer() Runwait("Z:\Logiciels\DAO\Autocad 2008\Autocad 2008 Reseau.lnk") dim $j=-1 ;dim $total = Iniread("Logiciel.ini","information","programmetotal","") For $j = 0 to 20 Step 1 If GUICtrlRead($tableau[$j]) = 1 Then ;MsgBox(0,"allo",$tableau_rep[$j]) Runwait($tableau_rep[$j]) EndIf Next EndFunc HEre is what in my Logiciel .ini CODE;****************************************************************************************** ****** ;* * ;* Titre: Instalateur automatisé des logiciels * ;* * ;* Auteur: Emmanuel Fournier et Jacques Gagné * ;* * ;* * ;* ATTENTION SI VOUS AJOUTEZ UN PROGRAMME OU EN SUPRIMER UN, CES VARIABLES SONT A CHANGEZ * ;* SECTION [iNFO] LA VARIABLE nombreonglet ENSUITE DANS CHQUE SECTION LES VARIABLE * ;* nombreprogramme * ;* Date: 2008-06-02 * ;* * ;* * ;* * ;************************************************************************************************ ; POUR TOUT INFO SUR LE CODE, CONSULTER LA VERSION IMPRIMANTE: CONFIG.INI ;CONSULTER LA DOCUMENTATION DU FICHIER AVANT TOUTES MODIFICATION!!!! [information] nombreonglet= 5 Programmetotal= 20 ; PREMIER ONGLET ---------------------------------------------- [secteur1] Descrip= DAO Description= Logiciels orientés graphisme nombreprogramme= 10 Path1= "Z:\Logiciels\DAO\Liscad\liscad62fr.msi" Logiciel1= Liscad 6.2 Path2= "Z:\Logiciels\DAO\TrueView 2008\Setup.exe" Logiciel2= True View 2008 Path3= "Z:\Logiciels\DAO\Autocad 2008\Autocad 2008 Local.lnk" Logiciel3= Autocad 2008 Local Path4= "Z:\Logiciels\DAO\Autocad 2008\Autocad 2008 Reseau.lnk" Logiciel4= Autocad 2008 Réseau Path5= "Z:\Logiciels\DAO\Autocad 2009\Autocad 2009 Reseau.lnk" Logiciel5= Autocad 2009 Reseau Path6= "Z:\Logiciels\DAO\Autocad 2009\Autocad 2009 standalone.lnk" Logiciel6= Autocad 2009 Local path7= "Z:\Logiciels\DAO\Bentley\MicroStation\Autoinstall\microstation.exe" Logiciel7= Microstation path8= "Z:\Logiciels\DAO\Bentley\Descartes\dc08050225en.exe" Logiciel8= Microstation Descartes (Microstation requis) path9= "Z:\Logiciels\DAO\Bentley\Geographics\gg08050035en.exe" Logiciel9= Microstation Geograpique (Microstation requis) path10= "Z:\Logiciels\DAO\CIVIL2008\Civil 3D 2008.lnk" Logiciel10= Civil 3D 2008 ; DEUXIEME ONGLET ---------------------------------------------- [secteur2] Descrip= Bureautique Description= tous les logiciels relié a Adobe et autre nombreprogramme= 8 path1= "Z:\Logiciels\Bureautique\Acrobat\Acrobat 5\setup.exe" Logiciel1= Acrobat 5 path2= "Z:\Logiciels\Bureautique\Acrobat\Acrobat 6.0 Professional\setup.exe" Logiciel2= Acrobat 6.0 Professional path3= "Z:\Logiciels\Bureautique\Acrobat\Acrobat 7.0 Professional\setup.exe" Logiciel3= Acrobat 7.0 Professional path4= "Z:\Logiciels\Bureautique\Acrobat\Acrobat 8.0 Professional\setup.exe" Logiciel4= Acrobat 8.0 Professional path5= "Z:\Logiciels\Bureautique\Acrobat\Acrobat 7.0 Standard\setup.exe" Logiciel5= Acrobat 7.0 Standard path6= "Z:\Logiciels\Bureautique\Acrobat\Acrobat 8.0 Standard\setup.exe" Logiciel6= Acrobat 8.0 Standard path7= "Z:\Logiciels\Bureautique\Visio\VVIEWER.EXE" Logiciel7= Visio path8= "Z:\Logiciels\Bureautique\Visio\setup.exe" Logiciel8= Visio 2003 ; TROISIEME ONGLET ---------------------------------------------- [secteur3] Descrip= A mettre Description= a voir nombreprogramme=0 path1= "Z:\Logiciels\DAO\Bentley\MicroStation\Autoinstall\microstation.exe" Logiciel1= Microstation path2= "Z:\Logiciels\DAO\Bentley\Descartes\dc08050225en.exe" Logiciel2= Microstation Descartes (Microstation requis) path3= "Z:\Logiciels\DAO\Bentley\Geographics\gg08050035en.exe" Logiciel3= Microstation Geograpique (Microstation requis) ; QUATRIEME ONGLET ---------------------------------------------- [secteur4] Descrip= Logiciel a classé Description= Ca dit tout nombreprogramme= 0 ; CINQUIEME ONGLET ---------------------------------------------- [secteur5] Descrip= Bentley Description= Les Différentes application de Bentley nombreprogramme= 0 The bug i have is it will neber start the install of any .lnk files, how can i fix this and my other problem .. is in each tabitem .. the first and the last of the checkbox doesnt work ... what am i missing ? Any help is apreciated. If any question post it here or contact me at Zombryo@gmail.com Thnx in advance to everyone wo whill check my programm Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now