[R] Barre de progression + dirmove
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Barre de progression + dirmove
Bonjour,
Je voudrai savoir s'il a un moyen d'avoir une barre progression avec la commande dirmove en fonction du nombre restant de fichier a déplacé et/ou en fonction d'octect ?
merci d'avance de vos réponses
Je voudrai savoir s'il a un moyen d'avoir une barre progression avec la commande dirmove en fonction du nombre restant de fichier a déplacé et/ou en fonction d'octect ?
merci d'avance de vos réponses
Modifié en dernier par LeSuisse le lun. 23 août 2010 21:45, modifié 1 fois.
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [...] Barre de progression + dirmove
Vous devriez faire quelques recherches sur le forum, car se sujet a déjà été abordé.
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é".
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é".
Re: [...] Barre de progression + dirmove
J'ai bien essayé de trouver des exemples de barre de progression mais pas avec dirmove.
Puisse avoir un ou des liens ou un exemple simple avec dirmove et une barre de progression.
Merci d'avance
Puisse avoir un ou des liens ou un exemple simple avec dirmove et une barre de progression.
Merci d'avance
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [...] Barre de progression + dirmove
Aucune des fonctions de gestion de fichiers ou dossiers de AutoIt ne permet en natif une barre de progression sur l'évolution de la commande en cours.
Ou bien vous développez votre propre fonction, ou bien vous utilisez les API Windows, mais dans ce cas la progression ne sera pas intégrée à votre GUI.
Une recherche sur le forum avec le terme 'Progression' ou 'ProgressBar' devrait vous en dire plus.
Ou bien vous développez votre propre fonction, ou bien vous utilisez les API Windows, mais dans ce cas la progression ne sera pas intégrée à votre GUI.
Une recherche sur le forum avec le terme 'Progression' ou 'ProgressBar' devrait vous en dire plus.
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é".
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é".
Re: [...] Barre de progression + dirmove
développe ma propre fonction ou utiliser les api windows ça va devenir très complique pour moi
donc j'ai choisi une notre solution.
Un label qui me dit: "attendre"
lancement de la commande dirmove
et un autre pour la fin + un bouton fin
je me repencherais sur cette question barre de progression + dirmove quand j'aurai plus d'experience
merci te ton aide
@+
donc j'ai choisi une notre solution.
Un label qui me dit: "attendre"
lancement de la commande dirmove
et un autre pour la fin + un bouton fin
je me repencherais sur cette question barre de progression + dirmove quand j'aurai plus d'experience
merci te ton aide
@+
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [...] Barre de progression + dirmove
Une barre de progression qui indique combien de temps il reste avant la fin d'une exécution est vraiment agréable pour celui qui doit attendre, mais elle implique un code bien plus complexe qu'une simple barre d'attente. 
Vous pourriez faire un compromis en réalisant à l'aide des exemples de barres de progression du forum, une barre 'infinie' :
- De gauche à droite puis encore de gauche à droite, puis encore de gauche à droite, etc ...
ou
- De gauche à droite puis de droite à gauche puis de gauche à droite puis de droite à gauche, etc ...
En 'parallèle' (grâce à AdlibRegister) de temps en temps, analysez la quantité de donnée restante pour le transfert et affichez le.
Cette dernière partie est plus ou moins complexe car elle demande du temps machine et si vous faites cette action trop souvent, votre script risque de devenir plutôt lent.
Hé oui, AutoIt n'est pas multitâche, donc, il faut choisir un bon compromis.

Vous pourriez faire un compromis en réalisant à l'aide des exemples de barres de progression du forum, une barre 'infinie' :
- De gauche à droite puis encore de gauche à droite, puis encore de gauche à droite, etc ...
ou
- De gauche à droite puis de droite à gauche puis de gauche à droite puis de droite à gauche, etc ...
En 'parallèle' (grâce à AdlibRegister) de temps en temps, analysez la quantité de donnée restante pour le transfert et affichez le.

Cette dernière partie est plus ou moins complexe car elle demande du temps machine et si vous faites cette action trop souvent, votre script risque de devenir plutôt lent.

Hé oui, AutoIt n'est pas multitâche, donc, il faut choisir un bon compromis.

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é".
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é".
Re: [...] Barre de progression + dirmove
le partirai plus vars la création d'une fonction qui commence par crée une liste des fichier , sous répertoire et fichier de sous répertoire et ect... en exécutant un DIR
puis on compte le nombre de ligne dans la liste afin de crée la bar de progression
et ensuite on copie chaque fichier de la liste ci c'est un fichier
puis on compte le nombre de ligne dans la liste afin de crée la bar de progression
et ensuite on copie chaque fichier de la liste ci c'est un fichier
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [...] Barre de progression + dirmove
Je ne suis pas sur que ce soit vraiment la meilleure solution.
Personnellement, je partirait avec un $Var = DirGetSize($Dir, 1) qui sera plus ou moins long lors de la première utilisation (environs 600 ms sur mon dossier Windows la première fois puis 230 ms).
Avec cette commande, nous avons la taille totale du dossier ($Var[0]), le nombre total de fichier ($Var[1]) et le nombre total de dossier ($Var[2]).
Si on effectue cette tâche régulièrement, il est simple de calculer le nombre de fichiers restant ou taille totale à déplacer/copier ...
Personnellement, je partirait avec un $Var = DirGetSize($Dir, 1) qui sera plus ou moins long lors de la première utilisation (environs 600 ms sur mon dossier Windows la première fois puis 230 ms).
Avec cette commande, nous avons la taille totale du dossier ($Var[0]), le nombre total de fichier ($Var[1]) et le nombre total de dossier ($Var[2]).
Si on effectue cette tâche régulièrement, il est simple de calculer le nombre de fichiers restant ou taille totale à déplacer/copier ...

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é".
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é".
Re: [...] Barre de progression + dirmove
Oui mais pourquoi ni avais-je pas pensé . bien joué cela me servira surement un jour .
Re: [...] Barre de progression + dirmove
pour l'instant je l'ai fait a un changement de label
une fois que la commande dirmove est lancer j'ai impression que les fenêtres ne réponde pas
je vais me penche sur la barre de progression avec vos conseils mais je ne pense pas que ça sera pour aujourd'hui (aie ma tête)
voici mon code
une fois que la commande dirmove est lancer j'ai impression que les fenêtres ne réponde pas
je vais me penche sur la barre de progression avec vos conseils mais je ne pense pas que ça sera pour aujourd'hui (aie ma tête)
voici mon code
Code : Tout sélectionner
$begin = TimerInit()
;~ lancement de cmd
run ("cmd")
WinWaitActive ("C:\Windows\system32\cmd.exe")
;~ variable de la date
$mois = @mon-1
$annee = @YEAR
if $mois = 0 then
$mois = 12
$annee = @YEAR-1
EndIf
if $mois < 10 Then
$mois = 0 & @mon-1
EndIf
$1 = 'xcopy "$rep1\*.*" "t:\$rep2\' & $annee & "." & $mois & '\*.*" /d:' & $mois & "-01-" & $annee & " /s/c/i/f/y"
send ($1)
send ("{enter}")
$1 = 'xcopy "$rep3\*.*" "t:\$rep2\' & $annee & "." & $mois & '\*.*" /d:' & $mois & "-01-" & $annee & " /s/c/i/f/y"
send ($1)
send ("{enter}")
$1 = 'xcopy "$rep4\*.avi" "t:\$rep2\' & $annee & "." & $mois & '\*.*" /d:' & $mois & "-01-" & $annee & " /s/c/i/f/y"
send ($1)
send ("{enter}")
send ("exit")
send ("{enter}")
WinWaitClose ("C:\Windows\system32\cmd.exe")
$dif = TimerDiff($begin)
$min = round($dif/1000/60,0)
$sec = abs(Round((($dif/1000/60)-$min)*60,0))
;~ fin de la copie
#include <GUIConstantsEx.au3>
#include <GUIComboBox.au3>
Global $msg, $deplacer, $explorer, $ok, $lettre, $size, $ar_array, $lettre2, $label, $copie, $debut, $fin, $min2, $sec2
;trouver le nombre d'octect
$size = DirGetSize("t:\$rep2",1)
$taille = round($size[0]/ 1000000000, 2) ; mettre les octect en Go
$fichier = $size[1] ; trouver le nombre de fichier
$repertoire =$size[2] ; touver le nombre de fchier
;~ creation d'une boite de dialogue
$copie = GUICreate("copie fini", 270, 200) ; fenêtre principale
GUISetState(@SW_SHOW) ; will display an empty dialog box
GUICtrlCreateLabel ("la copie est fini en " & $min & " min" & $sec & " s", 10, 10) ; creation d'un texte
GUICtrlCreateLabel ("taille (Go): " & $taille, 10, 30)
GUICtrlCreateLabel ("nombre de fichier: " & $fichier, 10, 50)
GUICtrlCreateLabel ("nombre de dossier: " & $repertoire, 10, 70)
GUICtrlCreateLabel ("deplacer vers ...", 10, 100)
$lettre = GUICtrlCreateCombo ("", 100, 100, 50)
_GUICtrlComboBox_AddDir($lettre, "", $DDL_DRIVES, False) ; creation d'un combo avec les lecteurs
$deplacer = GUICtrlCreateButton ("deplacer", 160, 100 , 100) ; creation d'un bouton
$explorer = GUICtrlCreateButton ("explorer et quitte", 160, 130, 100)
$ok = GUICtrlCreateButton ("quitte", 160, 160 , 100)
;~ creation des choix de bouton
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
case $msg = $deplacer
$lettre2 = GUICtrlRead($lettre) ; garde ma lettre (combo) en memoire
;~ GUIDelete ($copie) ; supprimer une fenetre principal
GUICreate("deplacement", 200 , 150)
GUISetState(@SW_SHOW)
$label = GUICtrlCreateLabel ("attend j'ai pas fini de deplacer vers " & $lettre2, 10,10)
$debut = TimerInit()
DirMove ('t:\$rep2', $lettre2 & '\', 1) ; depalcer un repertoire + les sous repertoires + fichiers
$fin = TimerDiff($debut)
$min2 = round($fin/1000/60,0)
$sec2 = abs(Round((($fin/1000/60)-$min2)*60,0))
$size2 = DirGetSize($lettre2 & '\boulot',1)
$taille2 = round($size[0]/ 1000000000, 2) ; mettre les octect en Go
$fichier2 = $size[1] ; trouver le nombre de fichier
$repertoire2 = $size[2] ; touver le nombre de fchier
GUICtrlDelete ($label) ; supprimer un label
GUICtrlCreateLabel ("fini le deplacement vers " & $lettre2, 10, 10)
GUICtrlCreateLabel ("fait en " & $min2 & "min " & $sec2 & " s", 10, 30)
GUICtrlCreateLabel ("taille (Go): " & $taille2, 10, 50)
GUICtrlCreateLabel ("nombre de fichier: " & $fichier2, 10, 70)
GUICtrlCreateLabel ("nombre de dossier: " & $repertoire2, 10, 90)
$ok = GUICtrlCreateButton ("fin", 75, 120 , 50)
Case $msg = $explorer
run ("explorer t:\$rep2")
Exit ; fin du program
Case $msg = $ok
Exit
EndSelect
WEnd
GUIDelete()
;~ EndFunc ;==>Example1
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [...] Barre de progression + dirmove
Déjà, pour la première partie de votre script, vous pourriez remplacer les 30 premières lignes par ceci : 
► Afficher le texte

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é".
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é".
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [...] Barre de progression + dirmove
En ce qui concerne la progression de copie ou de déplacement, l'affaire est plus ou moins compliquée.
En principe, il faudrait passer par la mise en mémoire des fichiers/dossiers à traiter, puis effectuer au fur et à mesure, tout en mettant à jour une barre de progression.
Ca peut être sympa avec une jolie barre de progression, mais pour ma part j'aime bien aussi la méthode Microsoft (c'est à dire une fenêtre à part qui affiche la progression).
Voici une fonction adaptée du code de ce lien : http://www.autoitscript.com/forum/index ... st&p=82020
A utiliser comme ceci :
En principe, il faudrait passer par la mise en mémoire des fichiers/dossiers à traiter, puis effectuer au fur et à mesure, tout en mettant à jour une barre de progression.
Ca peut être sympa avec une jolie barre de progression, mais pour ma part j'aime bien aussi la méthode Microsoft (c'est à dire une fenêtre à part qui affiche la progression).
Voici une fonction adaptée du code de ce lien : http://www.autoitscript.com/forum/index ... st&p=82020
► Afficher le texte
► Afficher le texte
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é".
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é".
Re: [...] Barre de progression + dirmove
salut
désolé pour mon silence
je pense que ce script est fini grâce a toi merci beaucoup
le voilà
pour moi ça me va
si pour toi ça te va je vais marquer résolu
merci encore
désolé pour mon silence
je pense que ce script est fini grâce a toi merci beaucoup
le voilà
Code : Tout sélectionner
#include <Date.au3>
#include <GUIConstantsEx.au3>
#include <GUIComboBox.au3>
; a modifier: destination, source1, source2, source3 sans le \ de la fin
$destination = ""
$source1 = ""
$source2 = ""
$source3 = ""
$source4 = $destination
$begin = TimerInit() ; debut du timer
;calcul de la date m -1
$aNewDate = StringSplit(_DateAdd( 'm',-1, _NowCalcDate()), "/")
Global $Annee = $aNewDate[1], $Mois = $aNewDate[2], $Jour = $aNewDate[3]
;copie des repertoires avec la xcopy de cmd
Global $Dst = $destination
Global $Src[3] = [$source1, $source2, $source3]
SplashTextOn("Sauvegarde", "Sauvegarde des fichiers modifiés en cours ...", 550, 60, -1, -1, 4, "", 20) ; debut de la sauuvegarde
;formule pour xcopy sous cmd
For $i = 0 to UBound($Src) - 1
$cmd = 'XCOPY "' & $Src[$i] & '\*.*" "' & $Dst & "\" & $annee & "." & $mois & '\*.*" /d:' & $mois & "-01-" & $annee & " /s/c/i/f/y"
RunWait(@ComSpec & " /c " & $cmd, "", @SW_HIDE)
Next
Sleep(1000)
SplashOff() ; fin de sauvegarde
$dif = TimerDiff($begin) ; fin du timer
$min = round($dif/1000/60,0) ; calcul en min du timer
$sec = abs(Round((($dif/1000/60)-$min)*60,0)) ; calcul en second du timer
Global $msg, $deplacer, $explorer, $ok, $lettre, $size
;trouver le nombre d'octect
$size = DirGetSize($destination,1)
$taille = round($size[0]/ 1000000000, 2) ; mettre les octect en Go
$fichier = $size[1] ; trouver le nombre de fichier
$repertoire =$size[2] ; touver le nombre de fchier
;~ creation d'une boite de dialogue
$copie = GUICreate("copie fini", 270, 200) ; fenêtre principale
GUISetState(@SW_SHOW) ; will display an empty dialog box
GUICtrlCreateLabel ("la copie est fini en " & $min & " min" & $sec & " s", 10, 10) ; creation d'un texte
GUICtrlCreateLabel ("taille (Go): " & $taille, 10, 30)
GUICtrlCreateLabel ("nombre de fichier: " & $fichier, 10, 50)
GUICtrlCreateLabel ("nombre de dossier: " & $repertoire, 10, 70)
GUICtrlCreateLabel ("deplacer vers ...", 10, 100)
$lettre = GUICtrlCreateCombo ("", 100, 100, 50)
_GUICtrlComboBox_AddDir($lettre, "", $DDL_DRIVES, False) ; creation d'un combo avec les lecteurs du PC
$deplacer = GUICtrlCreateButton ("deplacer", 160, 100 , 100) ; creation d'un bouton
$explorer = GUICtrlCreateButton ("explorer et quitte", 160, 130, 100)
$ok = GUICtrlCreateButton ("quitte", 160, 160 , 100)
;~ creation des choix de bouton
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
case $msg = $deplacer
$dst = GUICtrlRead($lettre) ; garde ma lettre (combo) en memoire
$src = $source4
ExitLoop
Case $msg = $explorer
run ("explorer destination")
Exit ; fin du program
Case $msg = $ok
Exit
EndSelect
WEnd
GUIDelete()
;~ EndFunc ;==>Example1
;barrre de progression de windows
Global Const $FO_MOVE = 0x0001
Global Const $FO_COPY = 0x0002
Global Const $FO_DELETE = 0x0003
Global Const $FO_RENAME = 0x0004
Global Const $FOF_MULTIDESTFILES = 0x0001
Global Const $FOF_CONFIRMMOUSE = 0x0002
Global Const $FOF_SILENT = 0x0004
Global Const $FOF_RENAMEONCOLLISION = 0x0008
Global Const $FOF_NOCONFIRMATION = 0x0010
Global Const $FOF_WANTMAPPINGHANDLE = 0x0020
Global Const $FOF_ALLOWUNDO = 0x0040
Global Const $FOF_FILESONLY = 0x0080
Global Const $FOF_SIMPLEPROGRESS = 0x0100
Global Const $FOF_NOCONFIRMMKDIR = 0x0200
Global Const $FOF_NOERRORUI = 0x0400
Global Const $FOF_NOCOPYSECURITYATTRIBS = 0x0800
Global Const $FOF_NORECURSION = 0x1000
Global Const $FOF_NO_CONNECTED_ELEMENTS = 0x2000
Global Const $FOF_WANTNUKEWARNING = 0x4000
Global Const $FOF_NORECURSEREPARSE = 0x8000
; code pour le Deplacement
$n = _ActionWithProgress($Src, $Dst, '', $FO_MOVE)
If Not $n Then ConsoleWrite('error:' & @error & @CRLF)
Func _ActionWithProgress($sFrom, $sTo, $sTitle = '', $sAction = $FO_COPY)
Local $SHFILEOPSTRUCT, $pFrom, $pTo, $pTitle, $aDllRet, $nError = 0
Local $flags = BitOR($FOF_NOCONFIRMMKDIR, $FOF_NOCONFIRMATION, $FOF_NOERRORUI)
$SHFILEOPSTRUCT = DllStructCreate("hwnd hwnd;uint wFunc;ptr pFrom;ptr pTo;int fFlags;int fAnyOperationsAborted;ptr hNameMappings;ptr lpszProgressTitle")
DllStructSetData($SHFILEOPSTRUCT, "hwnd", 0)
DllStructSetData($SHFILEOPSTRUCT, "wFunc", $sAction)
$pFrom = DllStructCreate("char[" & StringLen($sFrom)+2 & "]")
DllStructSetData($pFrom, 1, $sFrom)
DllStructSetData($pFrom, 1, Chr(0), StringLen($sFrom)+2) ; second null at the end
DllStructSetData($SHFILEOPSTRUCT, "pFrom", DllStructGetPtr($pFrom))
$pTo = DllStructCreate("char[" & StringLen($sTo)+2 & "]")
DllStructSetData($pTo, 1, $sTo)
DllStructSetData($pTo, 1, Chr(0), StringLen($sTo)+2) ; second null at the end
DllStructSetData($SHFILEOPSTRUCT, "pTo", DllStructGetPtr($pTo))
DllStructSetData($SHFILEOPSTRUCT, "fAnyOperationsAborted", 0)
DllStructSetData($SHFILEOPSTRUCT, "hNameMappings", 0)
If $sTitle <> '' Then
$pTitle = DllStructCreate("char[" & StringLen($sTitle)+1 & "]")
;$pTitle = DllStructCreate("char[4]")
DllStructSetData($pTitle, 1, $sTitle)
;DllStructSetData($pTitle, 1, 'aaa')
DllStructSetData($pTitle, 1, Chr(0), StringLen($sTitle)+1) ; null at the end
$flags = BitOR($flags, $FOF_SIMPLEPROGRESS)
DllStructSetData($SHFILEOPSTRUCT, "lpszProgressTitle", DllStructGetPtr($pTitle))
;~ DllStructSetData($SHFILEOPSTRUCT, "lpszProgressTitle", 'aaa')
Else
DllStructSetData($SHFILEOPSTRUCT, "lpszProgressTitle", 0)
EndIf
DllStructSetData($SHFILEOPSTRUCT, "fFlags", $flags)
$aDllRet = DllCall("shell32.dll", "int", "SHFileOperation", "ptr", DllStructGetPtr($SHFILEOPSTRUCT))
If @error Or $aDllRet[0] <> 0 Then
$aDllRet = DllCall("kernel32.dll", "long", "GetLastError")
If Not @error Then $nError = $aDllRet[0]
EndIf
; test if button Abort was pressed
If DllStructGetData($SHFILEOPSTRUCT, "fAnyOperationsAborted") Then $nError = -1
$pFrom = 0
$pTo = 0
$pTitle = 0
$SHFILEOPSTRUCT = 0
If $nError <> 0 Then
SetError($nError)
Return False
EndIf
Return True
EndFunc
; fin de la barre de windows
si pour toi ça te va je vais marquer résolu
merci encore
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Barre de progression + dirmove
Mon avis importe peux. Ce qui compte c'est que votre script fonctionne et que vous soyez satisfait du résultat. 
Après, il est sans doute possible d'optimiser, mais est-ce que cela en vaut le coup.

Après, il est sans doute possible d'optimiser, mais est-ce que cela en vaut le coup.

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é".
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] Barre de progression + dirmove
je ne pense pas que je vais me pencher sur l'optimisation désolé de ce programme il fonctionne assez bien moi
il va travailler pour moi et ça c'est cool
merci encore pour ton aide
@+ bon courage
il va travailler pour moi et ça c'est cool

merci encore pour ton aide
@+ bon courage
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Barre de progression + dirmove
N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu et non dans le dernier message.
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é".
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é".