ucopyfile.pas
上传用户:hbszzs
上传日期:2008-08-20
资源大小:628k
文件大小:3k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit ucopyfile;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   VrControls, ExtCtrls, StdCtrls, VrBorder, VrProgressBar, VrSystem,
  6.   VrButtons;
  7. type
  8.   TForm1 = class(TForm)
  9.     VrCopyFile1: TVrCopyFile;
  10.     Edit1: TEdit;
  11.     Label1: TLabel;
  12.     Edit2: TEdit;
  13.     Label2: TLabel;
  14.     VrProgressBar: TVrProgressBar;
  15.     Label3: TLabel;
  16.     VrDemoButton1: TVrDemoButton;
  17.     VrDemoButton2: TVrDemoButton;
  18.     VrDemoButton3: TVrDemoButton;
  19.     OpenDialog: TOpenDialog;
  20.     VrDemoButton4: TVrDemoButton;
  21.     VrDemoButton5: TVrDemoButton;
  22.     procedure VrDemoButton1Click(Sender: TObject);
  23.     procedure VrDemoButton2Click(Sender: TObject);
  24.     procedure VrDemoButton3Click(Sender: TObject);
  25.     procedure VrDemoButton4Click(Sender: TObject);
  26.     procedure VrDemoButton5Click(Sender: TObject);
  27.     procedure Edit2Change(Sender: TObject);
  28.     procedure VrCopyFile1BeforeOpen(Sender: TObject; Size: Integer; Date,
  29.       Time: TDateTime);
  30.     procedure VrCopyFile1Progress(Sender: TObject; BytesCopied: Integer;
  31.       var Cancel: Boolean);
  32.     procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  33.     procedure VrCopyFile1BeforeOverwrite(Sender: TObject;
  34.       var Overwrite: Boolean);
  35.     procedure VrCopyFile1AfterCopy(Sender: TObject);
  36.   private
  37.     { Private declarations }
  38.   public
  39.     { Public declarations }
  40.   end;
  41. var
  42.   Form1: TForm1;
  43. implementation
  44. {$R *.DFM}
  45. procedure TForm1.VrDemoButton1Click(Sender: TObject);
  46. begin
  47.   if OpenDialog.Execute then
  48.     Edit1.Text := OpenDialog.FileName;
  49. end;
  50. procedure TForm1.VrDemoButton2Click(Sender: TObject);
  51. begin
  52.   if OpenDialog.Execute then
  53.     Edit2.Text := OpenDialog.FileName;
  54. end;
  55. procedure TForm1.VrDemoButton3Click(Sender: TObject);
  56. begin
  57.   VrCopyFile1.SourceFile := Edit1.Text;
  58.   VrCopyFile1.DestFile := Edit2.Text;
  59.   try
  60.     VrCopyFile1.Execute;
  61.   except
  62.     raise; //use deault exception handling
  63.   end;
  64. end;
  65. procedure TForm1.VrDemoButton4Click(Sender: TObject);
  66. begin
  67.   VrCopyFile1.Terminate;
  68. end;
  69. procedure TForm1.VrDemoButton5Click(Sender: TObject);
  70. begin
  71.   Close;
  72. end;
  73. procedure TForm1.Edit2Change(Sender: TObject);
  74. begin
  75.   VrDemoButton3.Enabled := (Trim(Edit1.Text) <> '') and (Trim(Edit2.Text) <> '')
  76. end;
  77. procedure TForm1.VrCopyFile1BeforeOpen(Sender: TObject; Size: Integer;
  78.   Date, Time: TDateTime);
  79. begin
  80.   VrProgressBar.Position := 0;
  81.   VrProgressBar.Max := Size;
  82.   VrDemoButton3.Enabled := false;
  83.   VrDemoButton4.Enabled := True;
  84. end;
  85. procedure TForm1.VrCopyFile1Progress(Sender: TObject; BytesCopied: Integer;
  86.   var Cancel: Boolean);
  87. begin
  88.   VrProgressBar.Position := BytesCopied;
  89. end;
  90. procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  91. begin
  92.   VrCopyFile1.Terminate;
  93. end;
  94. procedure TForm1.VrCopyFile1BeforeOverwrite(Sender: TObject;
  95.   var Overwrite: Boolean);
  96. begin
  97.   if MessageDlg(VrCopyFile1.DestFile + ' already exists, overwrite?',
  98.     mtConfirmation, [mbOk, mbCancel], 0) = mrCancel then Overwrite := false;
  99. end;
  100. procedure TForm1.VrCopyFile1AfterCopy(Sender: TObject);
  101. begin
  102.   VrDemoButton3.Enabled := True;
  103.   VrDemoButton4.Enabled := false;
  104.   VrProgressBar.Position := 0;
  105. end;
  106. end.