[..] Barre de Progression + File Install + Run

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Rere78
Niveau 1
Niveau 1
Messages : 12
Enregistré le : lun. 05 avr. 2010 14:05
Status : Hors ligne

[..] Barre de Progression + File Install + Run

#1

Message par Rere78 »

Bonjour,

J'ai réaliser ce petit script, pour un projet scolaire.
Il n'est pas parfait car je débute dans AutoIt alors j'ai fait ce script avec le forum , petit bout par petit bout, j'ai récupérer du code.

J'ai passer des heures entière sans succès pour ajouter une barre de progression. J'ai télécharger des UDF d'exemple mais rien n'y fait.

Pouvez-vous m'aider à créer une barre de progression. Rien de bien méchant ( j'espère... ) juste un timer qui avance de 5 % suivant mes manipulation ( 5 % après avoir copier un fichier, 10 % pour l'installation de EasyPhp..., 5 % pour la copie d'un autre fichier..... Ceci me permettra de mieux comprendre le fonctionnement et de pouvoir finir le script. Même si la barre de progression est plus lente que l'installation , cela ne pose pas de problème : c'est juste pour l'aspect visuel :p

Si il existe une méthode pour faire une barre de progression suivant ce script, je suis aussi preneur.

Autres question, j'aimerais caché l'installation de EasyPhp c'est à dire ne pas voir les fenetres qui bouge et se coche décoche toute seul mais simplement les cachers.

Merci par avance pour vos réponses, conseils et aide.

Bonne soirée.
Désolé si le script est pas très bien écrit mais comme je suis un débutant et il faut bien commencer.

Merci par avance
► Afficher le texte
Modifié en dernier par Rere78 le mar. 20 avr. 2010 16:42, modifié 3 fois.
Avatar du membre
pop45
Membre émérite
Membre émérite
Messages : 251
Enregistré le : dim. 30 août 2009 16:18
Status : Hors ligne

Re: [..] Barre de Progression + Cacher l'installation

#2

Message par pop45 »

pour une installation silencieuse il faut le lancer avec l'argument -s je crois
Pour le fait de cacher l'installation cherche sa a été aborder beaucoup de fois
Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Barre de Progression + Cacher l'installation

#3

Message par Tlem »

Pour remplir votre ProgressBar, tout ce que vous avez à faire c'est de lui donner une valeur.

Puisque vous parlez de projet scolaire, on va faire référence aux gâteau. :lol:
Votre ProgressBar est comme un gâteau et donc peut être divisée en %.
Lorsque celle-ci est remplie complètement, elle est à 100%.
Lorsqu'elle est remplie à moitié, elle est à 50%. :roll:
Etc ...

Puisque vous avez fait ceci :

Code : Tout sélectionner

$Progress1 = GUICtrlCreateProgress(128, 320, 473, 25)
vous avez par la variable $Progress1 le controlID de la ProgressBar.
Ceci va vous permettre de lui envoyer certaines informations (tel que le taux de remplissage de la barre).

Pour dire que la ProgressBar doit être remplie à 10%, vous devez lui envoyer la valeur 10 comme ceci :

Code : Tout sélectionner

GUICtrlSetData($Progress1, 10)
Pour remplir la ProgressBar à 50%, vous devez donc lui envoyer :

Code : Tout sélectionner

GUICtrlSetData($Progress1, 10)
Et voilà, vous savez remplir une ProgressBar.
Évidement, dans votre code, il faudra répartir votre remplissage en fonction des actions effectuées et terminées. ;)


En ce qui concerne l'installation de EasyPhp sans les fenêtres, peut être devriez-vous vous orienter vers une installation silencieuse. :roll:

Code : Tout sélectionner

EasyPHP-x.x.x.exe /VERYSILENT
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rere78
Niveau 1
Niveau 1
Messages : 12
Enregistré le : lun. 05 avr. 2010 14:05
Status : Hors ligne

Re: [R] Barre de Progression + Cacher l'installation

#4

Message par Rere78 »

Bonjour,

Merci beaucoup pour votre aide très matinal, je vais devoir payer les croissants et le café si sa continue :P

Pour l'installation d'easyphp en mode silence avec autoIt mais pas avec EasyPhp directement.
Merci pour cette information.

Pour la barre de progression, j'ai chercher beaucoup trop compliquer à ré-utiliser du code trouver par ici et par là alors qu'un simple GUICtrlSetData($Progress1, "Pourcentage de progression") est largement suffisant pour mon cas.
Merci encore pour tout, et bonne journée.

Merci
Rere78
Niveau 1
Niveau 1
Messages : 12
Enregistré le : lun. 05 avr. 2010 14:05
Status : Hors ligne

Re: [..] Barre de Progression + File Install + Run

#5

Message par Rere78 »

Bonjour,

J'ai évolué sur le script avec votre aide et j'aurais encore besoin d'un petit coup de pouce. :P

J'ai une barre de progression que j'aimerais cette fois si faire progresser suivant un fileInstall et un Run.

Code : Tout sélectionner

FileInstall("C:\temp\Fichier-100MO.exe", @TempDir&"\VFichier-100MO.exe", 1)
    RunWait(@TempDir&"\Fichier-100MO.exe")
Est-ce possible ?

Merci par avance
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Barre de Progression + File Install + Run

#6

Message par Tlem »

Difficile, car le programme que vous installez devrait vous renvoyer l'état d'avancement de son installation. :roll:

Si c'est le fait que votre barre d'avancement reste statique trop longtemps qui vous ennuie, alors faites en sorte qu'elle passe de gauche à droite puis de droite à gauche par exemple, ou une barre de progression constante, qui va de gauche à droite puis qui repart de gauche à droite, etc ...

Pour éviter que la progression de la barre ne soit bloquée lors de l'installation d'un logiciel X, utilisez la commande AdlibRegister() pour qu'elle s'occupe de faire bouger la barre. ;)

Faites quelques recherches sur le forum sur les ProgressBar et vous trouverez des choses intéressantes. :mrgreen:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rere78
Niveau 1
Niveau 1
Messages : 12
Enregistré le : lun. 05 avr. 2010 14:05
Status : Hors ligne

Re: [..] Barre de Progression + File Install + Run

#7

Message par Rere78 »

Bonjour,

Nan mais...

Comment vous faite, j'ai retourner 30 000 fois le problème sans trouvé la réponse, le pire c'est que j'ai testé vos pack sur les progress Bar et j'ai vue ce genre de barre et je n'est même pas "tilter".
De plus le filecopy est plus adapter a ce que je recherche.

J'avais la solution sous les yeux mais j'ai pas du les ouvrir...

Merci encore, je tester et si j'y arrive clôture le post.

Encore merci à vous.
Bonne Soirée

PS : Si je peux aider quelqu'un en Aquariophilie ou autres... c'est le seul domaine que je maitrise.
Rere78
Niveau 1
Niveau 1
Messages : 12
Enregistré le : lun. 05 avr. 2010 14:05
Status : Hors ligne

Re: [..] Barre de Progression + File Install + Run

#8

Message par Rere78 »

Bonjour,

Bonne nouvelle, j'arrive à créer la barre de progression (création bancale, car je n'est pas trop compris comment elle se lançais et s'arrêtait. )

Le problème c'est que j'aimerais quelle s'arrête quand je le désire. Elle doit commencer au début de mon FileInstall et elle s'arrête à la fin de mon Run.

De plus dans le code que j'ai trouver sur le forum, il y a écrit :
Ajouter un test quelconque pour sortir de la boucle (Le process d'une install par exemple) mais j'arrive pas à lui signaler ce que je veux.

Quelqu'un peut'il m'aider ?

Merci par avance et bonne soirée.

Voici mon code :
► Afficher le texte
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Barre de Progression + File Install + Run

#9

Message par Tlem »

Veuillez revoir votre code de plus prêt.

1- Pas de fonction dans une boucle quelconque.
2- Placez les fonctions de préférence à la fin du code (après la dernière ligne de votre code).
3- Installez et utilisez Scite4AutoIt pour controler votre code :
  • - CTRL + F5 vérifie votre code
    - CTRL + T met correctement en forme votre code afin de le rendre plus lisible.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rere78
Niveau 1
Niveau 1
Messages : 12
Enregistré le : lun. 05 avr. 2010 14:05
Status : Hors ligne

Re: [..] Barre de Progression + File Install + Run

#10

Message par Rere78 »

Bonjour,

Merci pour tes réponses, la fonction CTRL + T est vraiment formidable. Elle va m'éviter de perdre 3/10 à chaque oeils.

Cependant, je possède toujours le meme problème, je n'arrive pas a déclarer arreter le lancement de ma barre de progression.

Je m'explique : Quand je lance la fonction de la barre de progression :

Code : Tout sélectionner

_SliderRight()
Celle-çi tourne en boucle toujours et encore sans jamais exécuter la suite du code.

J'aimerais qu'elle se lance, puis j'exécute mon code puis elle s'arrête.

Pouvez-vous m'éclairer encore une petite fois ?
► Afficher le texte
Merci par avance
Aurélien
PS : Allé 2h25 du matin, je stop AutoIt pour ce soir ... Je vais devenir un Geek...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Barre de Progression + File Install + Run

#11

Message par Tlem »

Codé rapidement :
Ajoutez ces deux lignes avant la création de votre GUI.

Code : Tout sélectionner

Global $Way = "Left"
Global $m = 208
Ensuite remplacez _SliderRight() par AdlibRegister("_Slider", 50)
Puis remplacez les 3 fonctions _SliderRight(), _SliderLeft() et _getmsg() par cette seule et unique fonction :

Code : Tout sélectionner

Func _Slider()
    If $Way = "Left" Then
        $m += 3
    Else
        $m -= 3
    EndIf
    If $m >= 553 Then $Way = "Right"
    If $m <= 208 Then $Way = "Left"

    GUICtrlSetPos($ba, $m, 360, 70, 25)
EndFunc
Vous n'aurez ensuite qu'à placer la ligne AdlibUnRegister("_Slider") aux endroits ou vous souhaitez arrêter la progressBar. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre