SPEEDLINKS : Gestionnaire de nouvelles versions.

Télécharger cet exemple (le fichier est à dézipper dans le dossier de SpeedLinks dans "C:\Program Files\SpeedLinks\")

Objectif :
Créer une procédure qui automatise la gestion d'une nouvelle version d'un dossier contenant des documents, projets, code, ...

Démonstration :
- Créez un dossier sur le bureau avec en fin de nom la clé vXX : XX étant le numéro de version,
- Remplissez-le de fichiers et sous-dossiers.

- Faites un click droit sur le dossier et lancez le script SpeedLinks :

- Indiquez le numéro de la nouvelle version (1.02 par exemple) :

Résultat :

Le dossier avec tous les fichiers et sous-dossiers de la version précédente est prêt à être modifié.
L'ancienne version est sauvegardée automatiquement au format Zip.

L'opération dure 2 à 3 secondes.

Vous n'aurez plus aucune excuse si vous modifiez l'ancienne version !

Voici le détail pour créer cet exemple :

Le code :

' Test si un seul dossier sélectionné
If Context_Selcount=1 then
    ' Chemin dossier sélectionné
    Source=Context_Selected(0)
    ' Récupère la version
    VersionAncienne=String_ScanRight("v",Source)
    ' Si la version existe
    if VersionAncienne<>"" then
        ' demande la nouvelle version
        VersionNouvelle=String_Input("Nouveau Projet","indiquez la version","",VersionAncienne)
        ' Si non annulé
        if VersionNouvelle<>"" then
            ' Teste si la nouvelle version diffère de l'ancienne
            if VersionNouvelle<>VersionAncienne then
                ' nouvelle destination
                Destination=String_Left(Source,String_Length(Source)-String_Length(VersionNouvelle))+VersionNouvelle
                ' Copie des fichiers et sous dossiers
                FOLDERS_COPY(Source,Destination)
                ' Chemin et nom du fichier zip à générer
                ZipDestination=Source+".zip"
                ' Lancement du Plugin de compression
                PLUGIN("SPEEDZIP",Chr(34) + Source + "\*.*" + Chr(34) + " " + Chr(34) + ZipDestination + Chr(34))
                ' Teste si le Zip à bien été créé
                if File_Exist(ZipDestination) then               
                    ' Supprime le dossier d'origine
                    Folders_Delete(Source)
                    ' Ouverture du nouveau dossier
                    Shell_Explore(Destination)
                end if
             else
                ' Les 2 versions sont les mêmes
                Message_Show("L'ancienne version et la nouvelle version ne doivent pas être identiques !")
             end if
        end if
    else
        ' La version est introuvable
        Message_Show("Ce dossier n'a pas de numéro de version !")
    end if
else
    ' Trop de dossiers sélectionnés
    Message_Show("Cette option ne fonctionne qu'avec 1 seul dossier sélectionné !")
end if