Executer la copie d'un fichier - Copie de sauvegarde

Résolu
Signaler
Messages postés
9
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 décembre 2005
-
Messages postés
9
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 décembre 2005
-
Bonjour à tous,

Comment puis-je faire pour lancer une copie d'un fichier (dans un répertoire) et le déposer, sous un autre nom (date du jour + heure) dans un autre répertoire. Le tout en pressant un simple bouton dans une application delphi.

ex: Copier le fichier c:\texte\Lisezmoi.txt dans c:\sauvegarde\lisezmoi_030205-0700.txt

Je ne connais pas le code pour lancer une application .bat, .exe, ...

Bien grand merci de partager votre savoir faire avec un débutant.

Crsi

7 réponses

Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Oula je n'ai pas tout compris peux tu developper ta demande stp ?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
1727
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
6 novembre 2021
8
Je crois voir ce que tu veux faire.

Voilà une manière de procéder adaptée d'un de mes programmes et qui donne ce résultat.

Je ne sais pas si ça te convient exactement, mais le principe est là.



Les variables :



var

LaDate, LHeure: String;

DateFichier, HeureFichier: String;

Nom: String; // nom du fichier sans extension

Ext: String; // extension du fichier

NomFichier: String; // nom du fichier avec date et heure



... et quelques lignes de code :



Ext := '.txt' // ou '.jpg', ou ce que tu veux...

Nom := 'MonFichier';

LaDate := DateToStr(Now); // date actuelle

LHeure := TimeToStr(Now); // heure actuelle

{on adapte pour la mise en forme et pour éviter les '/' et les ':' dans le nom du fichier}

DateFichier := Copy(LaDate, 7, 2) + '-' + Copy(LaDate, 4, 2) + '-' + Copy(LaDate, 1, 2);

HeureFichier := Copy(LHeure, 1, 2) + 'h' + Copy(LHeure, 4, 2) + 'mn' + Copy(LHeure, 7, 2) + 's';

NomFichier := Nom + DateFichier + '(' + HeureFichier + ')' + Ext;

Bonne prog', faut pas mollir

N'oubliez pas de valider "Réponse acceptée" si ça vous convient, de toute manière vous ne pouvez pas valider autre chose !
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Hé Japee, voilà qui va encore faire sourire JulioDelphi
Avec les fonctions Format & Co, on peut faire beaucoup plus simplement.

Et je lui donnerai entièrement raison : pourquoi faire compliqué quand on peut faire simple ?
L'équivalent du code que tu donnes est :
<!--StartFragment--><!--StartFragment-->
var
  Nom: string;
const
  Ext = '.txt';
begin
  Nom := 'NomDuFichier';
  Nom := Nom + FormatDateTime('_ddmmyy_hhmmss', Now) + Ext;



Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
Messages postés
9
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 décembre 2005

Bien grand merci ... Ô GENIES DE L'INFORMATIQUE ... fantastique ... ça marche !!!!
Grace à vous tous, je commence à reprendre goût à la programmation ...

Crsi.
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Hello,



La commande pour copier un fichier est la suivante :



uses windows



CopyFile(Pchar(c:\texte\Lisezmoi.txt
),Pchar(c:\sauvegarde\lisezmoi_030205-0700.txt
),False)

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
9
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 décembre 2005

Bien grand merci de me répondre si vite, ...

Mon second soucis est que je voudrais que la copie du fichier soit générée chaque fois que l'on click sur le bouton et que le nouveau nom de fichier composé de : Nom de fichier, date et l'heure du moment, soit créé par le programme et non pas par l'utilisateur qui dans l'exmple donné ci-dessus doit encoder manuellement le nouveau nom du fichier.

Est-ce possible ??? Merci.
Messages postés
1727
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
6 novembre 2021
8
Salut, Delphiprog !



C'est un vieux bout de code que j'avais "exhumé" et dépoussiéré. Un coup de flemme, quoi.

Sûr que FormatDateTime est plus simple.

Je suis d'autant plus honteux que j'ai déjà posté un code sur le site traitant de FormatDateTime :

FORMATDATETIME - AFFICHAGE D'UNE DATE ET/OU D'UNE HEURE DANS UNE CHAÎNE

Les cordonniers sont souvent les plus mal chaussés

Bonne prog', faut pas mollir

N'oubliez pas de valider "Réponse acceptée" si ça vous convient, de toute manière vous ne pouvez pas valider autre chose !