[R] Pb progress bar lors de la suppression de fichiers

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
mactag
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 06 mai 2015 11:44
Status : Hors ligne

[R] Pb progress bar lors de la suppression de fichiers

#1

Message par mactag »

Bonjour,

J'ai un message d'erreur lorsque j'exécute ce bout de code qui permet de verifier en temps réel les fichiers présents dans un répertoire et d'afficher une "progress bar" au fur et à mesure que les fichiers sont supprimés de ce repertoire.

La "progress bar" avance correctement au fur et à mesure que les fichiers dans c:\tmp sont supprimés mais la boucle rencontre un pb lorsqu'il n'y a plus de fichiers dans le répertoire.

Merci d'avance pour toute aide charitable.

code :

Code : Tout sélectionner

#include <File.au3>
Global $FILE
Global $INDEX
Global $FILE[0]
$DIR = ("\\127.0.0.1\c$\tmp")

If Not @error Then
    $FILE = _FileListToArray($DIR,"*",1)
    If IsArray($FILE) Then
    ProgressOn("                       Mon prog ", "Prog en cours...")
    For $INDEX = 1 To $FILE[0]

    Do
    $FILE = _FileListToArray($DIR,"*",1)
    ProgressSet($INDEX*100/$FILE[0],$FILE[$INDEX])
        Sleep(250)
    Until $FILE = 0
    Next
        ProgressSet(100, "", "Prog terminée")
        Sleep(5000)
        ProgressOff()
    EndIf
EndIf
Modifié en dernier par jguinch le jeu. 07 mai 2015 14:28, modifié 1 fois.
Raison : Ajout balise [R]
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Pb progress bar lors de la suppression de fichiers

#2

Message par jbnh »

Salut,

Je comprend pas trop l'idée de ce filelisttoarray imbriqué....

Ceci suffit non ? :

Code : Tout sélectionner

#include <File.au3>
Global $FILE
Global $INDEX
Global $FILE[0]
$DIR = (@scriptdir&"\test")

If Not @error Then
    $FILE = _FileListToArray($DIR,"*",1)
    If IsArray($FILE) Then
        ProgressOn("                       Mon prog ", "Prog en cours...")
        For $INDEX = 1 To $FILE[0]      
            ProgressSet($INDEX*100/$FILE[0],$FILE[$INDEX])
                Sleep(250)
        Next
            
        ProgressSet(100, "", "Prog terminée")
        Sleep(5000)
        ProgressOff()
    endif
EndIf
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
mactag
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 06 mai 2015 11:44
Status : Hors ligne

Re: [..] Pb progress bar lors de la suppression de fichiers

#3

Message par mactag »

Merci de m'avoir consacré un peu de votre temps.

Le soucis c'est que sans "do" et "Until $file = 0" le programme se lance et liste tous les fichiers et se ferme.

Avec "do" et le "Until $file = 0" le programme se comporte comme je veux, c'est à dire, il liste les fichiers et attend la suppression des fichiers et à chaque suppression de fichier(que je fais à la main pour simuler l'action d'un programme tierce) la barre avance, quand il n'y a plus de fichiers la barre de progression se termine, sauf qu'il y a une erreur.

Le programme fait exactement ce que je veux sauf qu'à la fin il y a un message d'erreur au lieu du message "Prog terminé"
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Pb progress bar lors de la suppression de fichiers

#4

Message par mikell »

Le problème est dans la boucle Do
Quand il n'y a plus de fichiers, _FileListToArray échoue donc $FILE n'est pas une array mais la ligne suivante appelle quand même $FILE[0] et $FILE[$INDEX] d'où erreur
Solution :

Code : Tout sélectionner

   Do
    $FILE = _FileListToArray($DIR,"*",1)
    [color=#BF0000]If not IsArray($FILE) Then Exitloop[/color]
    ; ...
Cela dit faudrait revoir sérieusement la déclaration des variables
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
mactag
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 06 mai 2015 11:44
Status : Hors ligne

Re: [R] Pb progress bar lors de la suppression de fichiers

#5

Message par mactag »

Ca a fonctionné au poil
Merci beaucoup.
:D :D :D
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Pb progress bar lors de la suppression de fichiers

#6

Message par jguinch »

mactag, la balise [R] se met dans le titre du premier message.
Je l'ai fait pour celui-ci
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
mactag
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 06 mai 2015 11:44
Status : Hors ligne

Re: [R] Pb progress bar lors de la suppression de fichiers

#7

Message par mactag »

OK désolé
Répondre