Re: Faire des sauvegardes à partir d'un menu | Sujet: Re: Faire des sauvegardes à partir d'un menu par drcharly93 sur 26/2/2004 10:02:39
Bonjour AngelMJ Modifie ta procedure comme suit:
PROCEDURE Archivages()
//Variables locales
sUnFichier est une chaînes
FichierNom est une chaînes
FichierSource est une chaînes
FichierDestination est une chaînes
RepertoireDonnees est une chaîne
i est un entier
//Si une erreur intervient
QUAND EXCEPTION
Erreur("Une erreur est intervenu lors de l'archivage desfichiers.","L'opération a été annulée.")
//Pour dire que la sauvegarde ne s"est pas terminée correctement retour//
FIN
//Tout d'abord on prend le chemin de l'emplacement où
//l'utilisateur souhaite créer le dossier d'archivage
Répertoire est une chaîne = fRepSélecteur("C:\", "Choisir un répertoire",..."Sélectionnez le répertoire dans lequel vous désirez mettre votre dossier d'archivage :")
//Si il n'y a rien de choisi, on arrête tout
SI Répertoire="" ALORS
RETOUR
FIN
//Le nom du dossier prend la date
NomRep est une chaîne =DateDuJour()
Info("Le dossier d'archivage portera le nom : "+NomRep)
//On complète le nom du répertoire avec le nom d'archivage
Répertoire=Répertoire+"\"+NomRep
//On récupère le nom du projet
gProjetNom est une chaîne = ProjetInfo(piNomProjet)
//On récupère la liste des fichiers
sListeFichier est une chaîne = HListeFichier(hLstDétail)
//Création du répertoire journalier
SI fRep(Répertoire,frRépertoire)= "" ALORS
SI PAS fRepCrée(Répertoire) ALORS
Erreur(ErreurInfo())
//Sauvegarde terminée prématurément
RETOUR
FIN
FIN
//On change le curseur
Sablier()
//Boucle sur les fichiers
BOUCLE
i++
//On récupère les infos d'un fichier
sUnFichier = ExtraitChaîne(sListeFichier,i,RC)
//On sort si il n'y a plus de fichier à traiter
SI sUnFichier= EOT ALORS SORTIR
//On récupère le nom Physique du fichier en 3ème position
sFichierNom = ExtraitChaîne(sUnFichier,3)
//On récupère son répertoire
// *** ICI C'EST LA PARTIE A MODIFIER ***
SI RendRepertoire <> "" alors SREPERTOIRESDONNEES = RendRepertoire{SFICHIERNOM}..REPERTOIRE
//Chemin complet du fichier à sauvegarder
sFichierSource = SREPERTOIRESDONNEES+"\"+sFichierNom+{sFichierNom}..Extension
// *** FIN DE LA MODIFICATION ***
//Chemin Complet du fichier a creer
sFichierDestination = Répertoire+"\"+sFichierNom+{sFichierNom}..Extension
//On ferme le Fichier au cas ou
SI PAS HFerme(sFichierNom) ALORS
Erreur(HErreurInfo())
//Tous les fichiers n'était pas fermés
//Le fichier ne peut pas etre fermé alors on quitte la sauvegarde
FIN
//On copie le fichier
fCopieFichier(sFichierSource,sFichierDestination,frJauge)
FIN
Sablier(Faux)
Info("La sauvegarde des fichiers s'est correctement effectuée.")
En effet la fonction RendRepertoire renvoi "" si la fonction à provoque une erreur avec {sFichierNom}..Repertoire le repertoire etant = "" le fichier n'etait pas trouvé Avec cette modif SREPERTOIRESDONNEES n'est modifié que si la fonction à réussi Comme dans la plupart des projet les donnees sont stocké au meme endroit cette solution devrait fonctionner quasiment dans tous les cas
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|