Renomer fichier [Résolu]

ratatouille53 30 Messages postés lundi 11 janvier 2016Date d'inscription 10 décembre 2017 Dernière intervention - 1 nov. 2017 à 22:32 - Dernière réponse : ratatouille53 30 Messages postés lundi 11 janvier 2016Date d'inscription 10 décembre 2017 Dernière intervention
- 6 nov. 2017 à 14:06
Bonjour,

en piochant a droite et a gauche quel que source ! je me suis fait une petite sauvegarde des bases de mon appli au cas ou il y aurais un plantage .

je vous pose ici ce que jais fait et vous pose ma question:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, AbMeter, AbBase, AbBrowse, AbZBrows, AbZipper,
  AbZipKit,filectrl,ShellApi, ExtCtrls;

type
  TForm1 = class(TForm)
    AbZipKit1: TAbZipKit;
    datej: TLabel;
    heurej: TLabel;
    CompLabel: TLabel;
    savLabel: TLabel;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);


  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;
   CheminAppli: String;

implementation
{$R *.dfm}

 procedure ZipMesFichiers;
var AbZipKit : TAbZipKit;
begin
  AbZipKit := TAbZipKit.create(nil);
  try
    AbZipKit.TempDirectory := 'C:\Gesresto\data\';
    AbZipKit.BaseDirectory := 'C:\Gesresto\data\';
    AbZipKit.AutoSave      := true;
    AbZipKit.OpenArchive( 'C:\Gesresto\data\data.zip');
    AbZipKit.AddFiles('*.*',  0);
    // AbZipKit.AddFiles('C:\Gesresto\data\mabase.db',  0);
    AbZipKit.CloseArchive;
  finally
    AbZipKit.Free;
  end;
end;

 procedure CopyFileDos2(Source, Destination: String);
begin
  WinExec(
    PChar('COMMAND.COM /K COPY /y ' + Source + ' ' + Destination),
    SW_HIDE
    );
end;

procedure CopyFileDos(Source, Destination: String);
begin
  ShellExecute(
    Application.Handle,
    'Open',
    PChar(CheminAppli + '\COPYDOS.BAT'),
    PChar(Source + ' ' + Destination),
    '',
    SW_HIDE
    );
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
   ZipMesFichiers;
   CompLabel.Caption:='Fichier Data Compresser';
   CompLabel.Color:=clRed;
 end;

procedure TForm1.Timer1Timer(Sender: TObject);
var Source, Dest: String;
begin
 heurej.Caption := TimeToStr(now);
 datej.caption:= dateToStr(now);
CheminAppli := ExtractFilePath(Application.ExeName);
 begin
  Source := 'C:\Gesresto\data\data.zip';
  Dest := 'C:\Gesresto\sav\sauvegarde.zip';
  CopyFileDos(Source, Dest);
   savLabel.Caption:='Fichier sauvegarder';
  savLabel.Color:=clRed;
end;
end;

end.


ma question est simple ;-)


j aimerais mon fichier puis en plus d être renommer sous la forme actuel cet a dire sauvegarde.zip qu'il puis être renommer avec la date et l'heure

exemple : sauvegarde-date-01112017-heure-00-00.zip

jai chercher sur le forum et sur le net rien trouver qui puis accorder avec ce que jai fait !!

voila je suis a votre écoute pour toutes suggestions !!! merci
Afficher la suite 

5 réponses

Répondre au sujet
ratatouille53 30 Messages postés lundi 11 janvier 2016Date d'inscription 10 décembre 2017 Dernière intervention - 2 nov. 2017 à 00:03
0
Utile
cet bon finalement j'ai trouver!!

function getTimeCodeStr: string;
begin
DateTimeToString(result,'_dd-mm-yyyy''-Heure-''hh-nn', now);

end;





Dest:='C:\Gesresto\sav\sauvegarde_Date'+LabelTemp.Caption+'.zip';
Commenter la réponse de ratatouille53
Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 3 avril 2018 Dernière intervention - 2 nov. 2017 à 08:32
0
Utile
3
Bonjour,

pourquoi utiliser
WinExec
qui est déprécié depuis très longtemps
ainsi que
ShellExecute
qui n'a pas bonne cote au quel il faudrait préférer
ShellExecuteEx
.
Note
WinExec
is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function.
Mais pour ton utilisation un simple
CopyFile
fera amplement l'affaire ;)
et si tu veux une version amélioré avec progressbar il y a
CopyFileEx
ratatouille53 30 Messages postés lundi 11 janvier 2016Date d'inscription 10 décembre 2017 Dernière intervention - 2 nov. 2017 à 11:28
bonjour Cirec

pour répondre a ta question qui n est pas dénuer de sens !!;-)

c'est tous simplement par ce que je suis pas un pro et que je code occasionnellement a mes besoin. je reprend des vieux programme
que j avais été amener a faire .

et j avoue que lorsque que je suis avancer dans un code qui en règle générale ma pris un temps fou pour le faire,et tous effacer pour tous reprendre lol m'oblige très sauvant a tous modifier la totalité du programme enfin bref mes connaissances même si j adore créé reste très limité. et c est une des raison que j adore ce site qui pour moi est une source incontestable de génie mais aussi une bible de la programmation
car tous ce que je suis capable de faire cet en parti grâce a des personnes talentueuse ici et la mine information que l on trouve dans le forum

maintenant si tu des exemples a me proposé pour simplifier ce que jais fait bien sur je prend de une pour enrichir ma connaissance et pour alléger mon code lol ...
sinon merci pour l'intérêt que tu a porté a mon poste

cordialement T
pierrotk10d > ratatouille53 30 Messages postés lundi 11 janvier 2016Date d'inscription 10 décembre 2017 Dernière intervention - 4 nov. 2017 à 08:55
Bonjour,
Il a aussi sans aucune ligne à coder SyncBackFree, par exemple, qui te fera une sauvegarde de tes tables et autres dossiers, automatiquement tous les jours, sur ton HD externe.
ratatouille53 30 Messages postés lundi 11 janvier 2016Date d'inscription 10 décembre 2017 Dernière intervention > pierrotk10d - 6 nov. 2017 à 14:06
merci ;-)
Commenter la réponse de Cirec

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.