[R] progression _RecFileListToArray

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Autonoob
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 08 juil. 2009 18:03
Status : Hors ligne

[R] progression _RecFileListToArray

#1

Message par Autonoob »

Bonjour,

Ma question est relativement simple, est-ce qu'il existe un moyen de créer une "barre de progression" lié à cette fonction ?
L'idée étant que quand je la lance sur un gros dossier, je puisse m'assurer que cela avance.

Merci pour vos idées et votre aide.
Modifié en dernier par Autonoob le mar. 09 août 2011 08:21, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#2

Message par Tlem »

Oui, cela est possible, il vous suffit d'intercaler dans le code de recherche une sorte de compteur qui fait bouger une ProgressBar.
Cela à déjà été vu sur une fonction similaire (faites une recherche sur le forum).

PS: N'envisagez pas une barre qui vous donnera une idée précise du temps restant, car cela est impossible vu que le nombre de fichiers/dossiers à chercher est inconnu. ^^
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é".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#3

Message par mikell »

Tlem a écrit : le nombre de fichiers/dossiers à chercher est inconnu. ^^
Comme il faut bien établir une comparaison quelque part (quand la progressbar est-elle à 50 ou 100% ?) je suis très curieux de savoir quel genre de compteur on utilise et avec quelle variable ^^
Le array[0] ne semble pas utilisable dans une recherche thématique récursive
Cherché partout => pas trouvé... mais la réponse m'intéresse donc +1 pour la question
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#4

Message par PandiPanda »

et ceci? DirGetSize()

Code : Tout sélectionner

#Include <Array.au3>
$pathFile=@ScriptDir&"\"
Local $nArray=DirGetSize($pathFile,1)
_ArrayDisplay($nArray)
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#5

Message par matwachich »

Ca prendra du temps, surtout si vous faites un DirGetSize sur une racine de lecteur, sinon, pour un nombre réduit de fichiers, ça peut marcher.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#6

Message par Tlem »

Ben, heuuu, tout simplement il faut ce la jouer à la Microsoft ...
C'est à dire, une barre de progression qui va (par exemple) de gauche à droite puis une fois arrivé au bout, reprend à zéro. :mrgreen:
Sinon il avait été proposé une barre qui va de gauche à droite puis de droite à gauche et ainsi de suite.

Je recherche le sujet, puis j'édite.
Edit : C'est marrant comme les idées persistent :
http://www.autoitscript.fr/forum/viewto ... 108#p35108
http://www.autoitscript.fr/forum/viewto ... 416#p32416
http://www.autoitscript.fr/forum/viewto ... 161#p31161
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é".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#7

Message par mikell »

Ah ok un machin animé pour faire joli alors :mrgreen: désolé je croyais qu'il était question de barre de progression
Ces fausses barres Microsoft ressemblent quand même pas mal à du foutage de g... avec leurs "patientez, ça va prendre quelques minutes..." , en fait le bazar animé c'est juste pour dire "c'est long mais rassurez-vous votre ordi n'a pas planté" :roll:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#8

Message par Tlem »

C'est ce qui est demandé ...
Autonoob a écrit :L'idée étant que quand je la lance sur un gros dossier, je puisse m'assurer que cela avance
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é".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#9

Message par mikell »

Moui... mais bof ça montrera que c'est "en cours", pas que ça "avance"
Dans ce cas pourquoi s'emm... avec une progressbar ? un petit clignotant lumineux ou une petite animation ferait aussi bien l'affaire, comme ces icones animées Microsoft dans la fenêtre de copie de fichiers
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#10

Message par Tlem »

mikell a écrit :ça montrera que c'est "en cours", pas que ça "avance"
Oui et non, car pour que la barre 'bouge', il faut que le code suive son chemin et donc on peut considérer qu'il 'avance'.
Si le code 'avance', la barre 'bouge', donc ça avance. ^^
Maintenant, on peut en discuter des heures, tout est une question de point de vue.
mikell a écrit : un petit clignotant lumineux ou un petit avi ferait aussi bien l'affaire
Oui, mais ce n'est pas ce qui est demandé.
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é".
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#11

Message par Jerome »

Coucou,


Il y a des choses plutôt intéressante ici, la et encore ici.



Jérôme
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#12

Message par Tlem »

J'y avais bien pensé, mais dans le cas présent, il n'est pas fait allusion de la copie de fichiers/dossiers, mais bien de l'utilisation de la fonction _RecFileListToArray (afin sans doute d'exploiter la liste pour une utilisation définie).
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é".
Autonoob
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 08 juil. 2009 18:03
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#13

Message par Autonoob »

tlem, en effet je récupère la liste des fichiers pour ensuite tester la date de création de chaque fichier et supprimer les fichiers trop vieux.
Le problème étant que j'attend le retour de la fonction, donc c'est dans la fonction qu'il faudrait ajouter quelquechose.

EDIT : Petite question supplémentaire qui permettrait de contourner le problème, existe-t-il un moyen plus rapide que recfilelisttoarray pour gérer le contenu d'une arborescence ? l'idée étant de faire de l'incrémentiel en indexant les contenus ce qui serait surement plus rapide.
Autonoob
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 08 juil. 2009 18:03
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#14

Message par Autonoob »

Pour faciliter la compréhension j'ajoute le code.

Si vous avez une autre idée pour faire la même chose ou pour optimiser

EDIT : Suppression du code puisque non optimisé
Modifié en dernier par Autonoob le mar. 09 août 2011 08:19, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#15

Message par Tlem »

La fonction _RecFileListToArray est la plus rapide que je connais pour faire ce qu'elle est sensé faire.
Dans votre cas, la meilleure solution serait de reprendre le code d'une fonction similaire mais plus simple (voir sur le forum) et de modifier le code pour faire en sorte de rajouter la progression (fictive) ainsi que le traitement simultané que vous voulez appliquer à vos fichiers.

La recherche récursive a été abordée plusieurs fois ainsi que pa partie affichage de quelque chose pour signaler que le traitement est en cours.
Quelques recherches sur le forum vous donnerons une grande partie des solutions. :wink:
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é".
Autonoob
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 08 juil. 2009 18:03
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#16

Message par Autonoob »

tlem, si je comprend bien le seul moyen et de recréer un filelisttoarray qui intégrerait l'affichage ?
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#17

Message par timmalos »

C'est exact, et plutot que d'attendre que la fonction soit terminée et retourne un array, pourquoi ne pas tester simultanément? (A chaque fichier on teste sa date, si c'est trop vieux on le supprime.)

Vous pourrez alors faire une barre de progression du nombre de fichier supprimés ou qq chose comme ca.
Autonoob
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 08 juil. 2009 18:03
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#18

Message par Autonoob »

arf, je pense que tout cela va dépasser mon petit niveau, je vais quand même me pencher sur le souci et je vous tiens informé.
Merci de vos conseils
Autonoob
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 08 juil. 2009 18:03
Status : Hors ligne

Re: [..] progression _RecFileListToArray

#19

Message par Autonoob »

Bonjour,

C'est réglé, après simplification de la fonction recfilelisttoarray c'est nettement plus rapide, reste encore certains détail à régler mais c'est fonctionnel.

Merci à tous
Répondre