Page 1 sur 1
[...] Barre de progression , avancement
Posté : lun. 31 mai 2010 14:30
par TOMOYO
Bonjour à tous,
Me voila pour un nouveau soucis, mais celui s'avère être un peu plus problématique.
Voici mon problème :
J'aimerais que la séquence d'exécution de mes différents softs soit suivie dans l'interface codée sous AutoIt par une barre de progression. En somme, j'ai créé ma barre de progression, j'update sa valeur manuellement, mais ce que j'aimerais c'est qu'à la manière d'une boucle par pas de 1 on puisse l'update. Seulement selon quel élément pourrait-on la contrôler?
► Afficher le texte
Code : Tout sélectionner
Case $Button1
GUICtrlSetData( $Progress1, 0 )
GUICtrlSetData( $Label, "Avancement : 0%" )
;lecture de la valeur des checkbox
$getCheckbox1 = GUICtrlRead($Checkbox1)
$getCheckbox2 = GUICtrlRead($Checkbox2)
$getCheckbox3 = GUICtrlRead($Checkbox3)
$getCheckbox4 = GUICtrlRead($Checkbox4)
$getCheckbox5 = GUICtrlRead($Checkbox5)
$getCheckbox6 = GUICtrlRead($Checkbox6)
$getCheckbox7 = GUICtrlRead($Checkbox7)
;test, si checkbox coché
If _IsChecked($Checkbox1) then
; lancement de la mise à jour java-
Run(@ProgramFilesDir & "\Java\jre6\bin\jucheck.exe")
GUICtrlSetData( $Progress1 , 5)
GUICtrlSetData( $Label, "Avancement : 5%" )
EndIf
If _IsChecked($Checkbox2) then
; éxecution de CCleaner
RunWait(".\CORE\EXE\CCP\CCleaner.exe")
GUICtrlSetData( $Progress1 , 20)
GUICtrlSetData( $Label, "Avancement : 20%" )
EndIf
If _IsChecked($Checkbox3) then
; éxecution de Quick Clean
RunWait(".\CORE\EXE\QC\Quick Clean.exe")
GUICtrlSetData( $Progress1 , 30)
GUICtrlSetData( $Label, "Avancement : 30%" )
EndIf
If _IsChecked($Checkbox4) then
; éxecution de KCleaner
RunWait(".\CORE\EXE\KCP\KCleaner.exe")
GUICtrlSetData( $Progress1 , 40)
GUICtrlSetData( $Label, "Avancement : 40%" )
EndIf
If _IsChecked($Checkbox5) then
; éxecution de GUP
RunWait(".\CORE\EXE\GUP\GlaryUtilitiesPortable.exe")
GUICtrlSetData( $Progress1 , 60)
GUICtrlSetData( $Label, "Avancement : 60%" )
EndIf
If _IsChecked($Checkbox6) then
; éxecution de Javara
RunWait(".\CORE\EXE\RA\JAVARA.exe")
GUICtrlSetData( $Progress1 , 80)
GUICtrlSetData( $Label, "Avancement : 80%" )
EndIf
If _IsChecked($Checkbox7) then
; éxecution de WDC
RunWait(".\CORE\EXE\WDC\WiseDiskCleaner.exe")
GUICtrlSetData( $Progress1 , 100)
GUICtrlSetData( $Label, "Avancement : 100% Analyse terminée" )
sleep(500)
GUICtrlSetData( $Progress1, 0 )
GUICtrlSetData( $Label, "Avancement : En attente" )
EndIf
Cordialement
TOMOYO
Re: [...] Barre de progression , avancement
Posté : lun. 31 mai 2010 15:41
par GaRydelaMer
Bonjour
Alors moi dans ton cas:
Je ferais d'abord un calcul pour savoir le nombre de case coché, ensuite tu, fais la règle de 3 pour fixer le taux d'avancement pour chaque case.
Ici tu le fais avec une fonction ou un bout de code avant:
Code : Tout sélectionner
local $X = 0
If _IsChecked($Checkbox1) then $X += 1
If _IsChecked($Checkbox2) then $X += 1
ect....
X le nombre de case coché
soit, pour chaque case x = 100/X, ainsi quelque soit le nombre de tes case (programmes à installer) tu fixe un taux pour chacun mais seulement celle cochée.
Si tu as 6 case de coché:
x = 100/6 => 16.6 %
Re: [...] Barre de progression , avancement
Posté : lun. 31 mai 2010 16:29
par TOMOYO
Bonjour à toi,
En mode transmission de pensée, je codais approximativement la même chose, là ou cela ne répond pas trop au cahier des charges qui m'est fournit est que cette barre déroulante devrait en quelque sorte interagir directement avec l'avancement des installations, ici elle est en quelque sorte coupée.
A voir, cela dit merci de ton aide.
Re: [...] Barre de progression , avancement
Posté : lun. 31 mai 2010 16:54
par GaRydelaMer
Bin la ca va pas être simple
Tu peux pas connaitre à l'avance pour chaque programme le temps qui va passer. ni le choix peu être de chaque utilisateur sur les Options d'installation.
Sinon une idée me vient:
Tu installe sur ton PC une version de chaque programme, tu connais ainsi ca taille une fois installé.
Tu calcules la taille du dossier, et pareil règle de 3 Fait, reste à faire.
Autre idée, tous les programmes setup, on déjà une barre de progression.
Tu récupère son Handler (de la barre), et tu auras ses valeurs.
Révise les maths en tous cas

Re: [...] Barre de progression , avancement
Posté : lun. 31 mai 2010 17:12
par TOMOYO
ahah !
Je vais y réflechir, mais c'est pas bête du tout dans le sens où si l'on connait la taille du fichie rinstallé, on pourra faire un rapport entre sa taille actuelle et sa taille finale, donc un affichage progressif et continu.
Pour l'heure j'arrête les calculs et me penche plutôt sur la notion de skin...
Car oui mon interface marche mais qu'est-ce qu'elle est moche !
Aurais-tu des indics là dessus ? J'ai lu qu'apparemment il existait XSkin, mais je trouve les sujets trop mal expliqués, sauf votre respect messieurs les auteurs :p
Re: [...] Barre de progression , avancement
Posté : lun. 31 mai 2010 17:25
par GaRydelaMer
Alors pour Skinner ton appli
Effectivement j'ai entendu parler sans l'avoir utilisé Xskin.
Sinon tu as des UDF pour utiliser des images png (avec transparence) comme fond pour les GUIs et les Boutons.
Jette un oeil dans la partie UDF du forum.
PS: si tu es moins pressé pour les images png SagePourpre nous prépare une nouvelle version de l'UDF.
Re: [...] Barre de progression , avancement
Posté : lun. 31 mai 2010 17:28
par Tlem
En ce qui me concerne, je ferais plutôt une barre de progression continue, genre gauche-droite-gauche-droite à l'infini ou gauche-droite-droite-gauche à l'infini, puis en dessous de cette barre j'indiquerais la progression par un truc du genre : 'Installation du programme 1 sur 4 en cours'.
Pour les barres de progression, voir les exemples du forum.

Re: [...] Barre de progression , avancement
Posté : lun. 31 mai 2010 17:38
par TOMOYO
Bonjour tlem,
J'y avais pas pensé du tout ! Je vais me pencher la dessus demain, pour aujourd'hui j'en ai trop dans la tête !
Merci en tout cas.