Renomer fichier

Résolu
ratatouille53 Messages postés 30 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 10 décembre 2017 - Modifié le 1 nov. 2017 à 23:17
ratatouille53 Messages postés 30 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 10 décembre 2017 - 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

2 réponses

ratatouille53 Messages postés 30 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 10 décembre 2017
2 nov. 2017 à 00:03
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';
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 nov. 2017 à 08:32
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
0
ratatouille53 Messages postés 30 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 10 décembre 2017
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
0
pierrotk10d > ratatouille53 Messages postés 30 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 10 décembre 2017
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.
0
ratatouille53 Messages postés 30 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 10 décembre 2017 > pierrotk10d
6 nov. 2017 à 14:06
merci ;-)
0
Rejoignez-nous