[T] Interface d'aide au copier/coller de fichiers/dossiers
Posté : jeu. 03 janv. 2008 21:46
				par Tlem
				Message transféré de l'ancien forum.
Auteurs : hellboy_21 & TerminAdminAtor
Date : 10/11/2006
Citation :
			Auteurs : hellboy_21 & TerminAdminAtor
Date : 10/11/2006
Citation :
► Afficher le texte
Code : Tout sélectionner
#include <GUIconstants.au3>
#NoTrayIcon
GUICreate("Copier / Couper", 575, 72, -1, -1, $WS_SYSMENU)
Opt("GUIOnEventMode", 1)
$lblCopierColler = GUICtrlCreateLabel("Vous désirez ", 10, 13)
$listeCopierColler = GUICtrlCreateCombo("Copier", 75, 10, 60)
GUICtrlSetData($listeCopierColler, "Couper")
$lblFichierDossier = GUICtrlCreateLabel(" le ou les ", 140, 13)
$listeFichierDossier = GUICtrlCreateCombo("Fichier(s)", 190, 10, 70)
GUICtrlSetData($listeFichierDossier, "Dossier")
$choix = GUICtrlCreateButton("choix", 270, 9, 50, 23)
GUICtrlSetOnEvent($choix, "FichierDossier")
$lblFichierDossier = GUICtrlCreateLabel(" vers le dossier ", 325, 13)
$parcourir = GUICtrlCreateButton("parcourir", 405, 9, 60, 23)
GUICtrlSetOnEvent($parcourir, "parcourir")
$lblGo = GUICtrlCreateLabel(" ==> ", 480, 13)
$go = GUICtrlCreateButton("Go !!!", 520, 9, 40, 23)
GUICtrlSetOnEvent($go, "go")
$var = ""
$varParcourir = ""
GUISetOnEvent($GUI_EVENT_CLOSE, "quitter")
GUISetState()
While 1
WEnd
Func FichierDossier()
    If GUICtrlRead($listeCopierColler) = "Copier" And GUICtrlRead($listeCopierColler) = "Couper" Then
        MsgBox(48, "Erreur", "Le choix dans la liste Copier/Couper est inconnu")
        GUICtrlSetState($listeCopierColler, $GUI_FOCUS)
    Else
        If GUICtrlRead($listeFichierDossier) = "Fichier(s)" Then
            $message = "Sélectionner le ou les fichier(s) à " & StringLower(GUICtrlRead($listeCopierColler))
            $var = FileOpenDialog($message, @MyDocumentsDir, "Tous (*.*)", 5)
        Else
            If GUICtrlRead($listeFichierDossier) = "Dossier" Then
                $var = FileSelectFolder("Sélectionner le dossier à " & StringLower(GUICtrlRead($listeCopierColler)), "")
            Else
                MsgBox(48, "Erreur", "Le choix dans la liste Fichier(s)/Dossier est inconnu")
                GUICtrlSetState($listeFichierDossier, $GUI_FOCUS)
            EndIf
        EndIf
    EndIf
EndFunc   ;==>FichierDossier
Func parcourir()
    $varParcourir = FileSelectFolder("Sélectionner le dossier de destination", "")
EndFunc   ;==>parcourir
Func go()
    If Not $var = "" Then
        If Not $varParcourir = "" Then
            If GUICtrlRead($listeFichierDossier) = "Fichier(s)" Then
                If GUICtrlRead($listeCopierColler) = "Copier" Then
                    If Not StringInStr($var, '|') = 0 Then
                        $Tableau = StringSplit($var, "|")
                        For $i = 2 To $Tableau[0]
                            FileCopy($Tableau[1] & "\" & $Tableau[$i], $varParcourir, 1)
                        Next
                    Else
                        FileCopy($var, $varParcourir, 1)
                    EndIf
                    MsgBox(64, StringLower(GUICtrlRead($listeCopierColler) & " => " & GUICtrlRead($listeFichierDossier)), 'Tout a bien été copié vers le répertoire "' & $varParcourir & '"')
                    $var = ""
                    $varParcourir = ""
                Else
                    If GUICtrlRead($listeCopierColler) = "Couper" Then
                        If Not StringInStr($var, '|') = 0 Then
                            $Tableau = StringSplit($var, "|")
                            For $i = 2 To $Tableau[0]
                                FileMove($Tableau[1] & "\" & $Tableau[$i], $varParcourir, 1)
                            Next
                        Else
                            FileMove($var, $varParcourir, 1)
                        EndIf
                        MsgBox(64, StringLower(GUICtrlRead($listeCopierColler) & " => " & GUICtrlRead($listeFichierDossier)), 'Tout a bien été coupé puis collé vers le répertoire "' & $varParcourir & '"')
                        $var = ""
                        $varParcourir = ""
                    Else
                        MsgBox(48, "Erreur", "Le choix dans la liste Copier/Couper est inconnu")
                        GUICtrlSetState($listeCopierColler, $GUI_FOCUS)
                    EndIf
                EndIf
            Else
                If GUICtrlRead($listeFichierDossier) = "Dossier" Then
                    If GUICtrlRead($listeCopierColler) = "Copier" Then
                        $Tableau = StringSplit($var, "\")
                        $nouveauChemin = $varParcourir & "\" & $Tableau[$Tableau[0]]
                        DirCreate($nouveauChemin)
                        DirCopy($var, $nouveauChemin, 1)
                        MsgBox(64, StringLower(GUICtrlRead($listeCopierColler) & " => " & GUICtrlRead($listeFichierDossier)), 'Le dossier "' & $var & '" a bien été copié vers le répertoire "' & $varParcourir & '"')
                        $var = ""
                        $varParcourir = ""
                    Else
                        If GUICtrlRead($listeCopierColler) = "Couper" Then
                            DirMove($var, $varParcourir, 1)
                            DirRemove($var, 1)
                            MsgBox(64, StringLower(GUICtrlRead($listeCopierColler) & " => " & GUICtrlRead($listeFichierDossier)), 'Le dossier "' & $var & '" a bien été coupé puis collé vers le répertoire "' & $varParcourir & '"')
                            $var = ""
                            $varParcourir = ""
                        Else
                            MsgBox(48, "Erreur", "Le choix dans la liste Copier/Couper est inconnu")
                            GUICtrlSetState($listeCopierColler, $GUI_FOCUS)
                        EndIf
                    EndIf
                Else
                    MsgBox(48, "Erreur", "Le choix dans la liste Fichier(s)/Dossier est inconnu")
                    GUICtrlSetState($listeFichierDossier, $GUI_FOCUS)
                EndIf
            EndIf
        Else
            MsgBox(48, "Erreur", "Vous devez sélectionner un dossier de destination")
        EndIf
    Else
        MsgBox(48, "Erreur", "Vous devez sélectionner un fichier ou un dossier à copier ou coller")
    EndIf
EndFunc   ;==>go
Func quitter()
    Exit
EndFunc   ;==>quitter