- unit Unit1;
-
- // Copie simple de fichier
- // par scorpiofh
- // avantages :
- // copie simplement un fichier ainsi que ses attributs
- // permet de copier un fichier d'un disque/unité logique
- // vers un autre disque/unité logique (ce que move et rename ne savent pas faire)
- // inconvénient :
- // necessite la connaissance du nom du fichier
- // ne copie pas les attributs de sécuritée.
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, filectrl;
- // filectrl est indispensable pour la sélection de repertoire de destination
-
- type
- TForm1 = class(TForm)
- SourceName: TEdit;
- Label1: TLabel;
- DestinationName: TEdit;
- Label2: TLabel;
- SourceSelect: TButton;
- DestinationSelect: TButton;
- Copying: TButton;
- OpenDialog1: TOpenDialog;
- procedure SourceSelectClick(Sender: TObject);
- procedure DestinationSelectClick(Sender: TObject);
- procedure CopyingClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.dfm}
-
- procedure TForm1.SourceSelectClick(Sender: TObject);
- begin
- // la c'est pas dur on sélectionne le fichier source
- if OpenDialog1.Execute then begin
- source := OpenDialog1.FileName;
- SourceName.Text := source;
- end;
- end;
-
- procedure TForm1.DestinationSelectClick(Sender: TObject);
- var
- Dir: string;
- begin
- // sélection du répertoire de destination
- // au départ c'est le répertoire de l'application
- Dir := ExtractFilePath(Application.ExeName);
- if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],1000) then begin
- DestinationName.Text := Dir;
- // ajout du \ de fin de répertoire et ajout du nom du fichier
- DestinationName.Text := DestinationName.Text + '\' + ExtractFileName(SourceName.Text);
- end;
- end;
-
- procedure TForm1.CopyingClick(Sender: TObject);
- Begin
- // et enfin on copie avec l'api windows
- // CopyFile(source, destination, annulerSiDestinationExiste)
- CopyFile(pchar(SourceName.Text),pchar(DestinationName.Text),False);
- end;
-
- end.
unit Unit1;
// Copie simple de fichier
// par scorpiofh
// avantages :
// copie simplement un fichier ainsi que ses attributs
// permet de copier un fichier d'un disque/unité logique
// vers un autre disque/unité logique (ce que move et rename ne savent pas faire)
// inconvénient :
// necessite la connaissance du nom du fichier
// ne copie pas les attributs de sécuritée.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, filectrl;
// filectrl est indispensable pour la sélection de repertoire de destination
type
TForm1 = class(TForm)
SourceName: TEdit;
Label1: TLabel;
DestinationName: TEdit;
Label2: TLabel;
SourceSelect: TButton;
DestinationSelect: TButton;
Copying: TButton;
OpenDialog1: TOpenDialog;
procedure SourceSelectClick(Sender: TObject);
procedure DestinationSelectClick(Sender: TObject);
procedure CopyingClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.SourceSelectClick(Sender: TObject);
begin
// la c'est pas dur on sélectionne le fichier source
if OpenDialog1.Execute then begin
source := OpenDialog1.FileName;
SourceName.Text := source;
end;
end;
procedure TForm1.DestinationSelectClick(Sender: TObject);
var
Dir: string;
begin
// sélection du répertoire de destination
// au départ c'est le répertoire de l'application
Dir := ExtractFilePath(Application.ExeName);
if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],1000) then begin
DestinationName.Text := Dir;
// ajout du \ de fin de répertoire et ajout du nom du fichier
DestinationName.Text := DestinationName.Text + '\' + ExtractFileName(SourceName.Text);
end;
end;
procedure TForm1.CopyingClick(Sender: TObject);
Begin
// et enfin on copie avec l'api windows
// CopyFile(source, destination, annulerSiDestinationExiste)
CopyFile(pchar(SourceName.Text),pchar(DestinationName.Text),False);
end;
end.