mainunit.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:2k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit mainunit;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, ComCtrls, Buttons;
  6. type
  7.   TForm1 = class(TForm)
  8.     GroupBox1: TGroupBox;
  9.     Label1: TLabel;
  10.     Edit1: TEdit;
  11.     Edit2: TEdit;
  12.     Label2: TLabel;
  13.     BitBtn1: TBitBtn;
  14.     BitBtn2: TBitBtn;
  15.     OpenDialog1: TOpenDialog;
  16.     SaveDialog1: TSaveDialog;
  17.     BitBtn3: TBitBtn;
  18.     BitBtn4: TBitBtn;
  19.     procedure FormCreate(Sender: TObject);
  20.     procedure BitBtn1Click(Sender: TObject);
  21.     procedure BitBtn2Click(Sender: TObject);
  22.     procedure BitBtn4Click(Sender: TObject);
  23.     procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  24.     procedure BitBtn3Click(Sender: TObject);
  25.   private
  26.     { Private declarations }
  27.   public
  28.     { Public declarations }
  29.   end;
  30. var
  31.   Form1: TForm1;
  32.   Copying:Boolean;
  33. implementation
  34. {$R *.dfm}
  35. procedure TForm1.FormCreate(Sender: TObject);
  36. begin
  37.  OpenDialog1.FileName:='';
  38.  OpenDialog1.InitialDir:=ExtractFileDir(Application.ExeName);
  39.  SaveDialog1.FileName:='';
  40.  SaveDialog1.InitialDir:=ExtractFileDir(Application.ExeName);
  41.  BitBtn3.Enabled:=False;
  42.  Copying:=False;
  43. end;
  44. procedure TForm1.BitBtn1Click(Sender: TObject);
  45. begin
  46.  With Opendialog1 do
  47.   if Execute then
  48.    Edit1.Text:=Opendialog1.FileName;
  49.  if ((Edit1.Text<>'') and (Edit2.Text<>'')) then
  50.    BitBtn3.Enabled:=True
  51.  else
  52.    BitBtn3.Enabled:=False;
  53. end;
  54. procedure TForm1.BitBtn2Click(Sender: TObject);
  55. begin
  56.  With SaveDialog1 do
  57.   if Execute then
  58.    Edit2.Text:=Savedialog1.FileName;
  59.  if ((Edit1.Text<>'') and (Edit2.Text<>'')) then
  60.    BitBtn3.Enabled:=True
  61.  else
  62.    BitBtn3.Enabled:=False;  
  63. end;
  64. procedure TForm1.BitBtn4Click(Sender: TObject);
  65. begin
  66.  Close;
  67. end;
  68. procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  69. begin
  70.  if Copying then
  71.   CanClose:=False
  72.  else
  73.   CanClose:=True;
  74. end;
  75. procedure TForm1.BitBtn3Click(Sender: TObject);
  76. var
  77.  FromFile,ToFile:TFileStream;
  78. begin
  79.  FromFile:=TFileStream.Create(Edit1.Text,fmOpenRead);
  80.  try
  81.   ToFile:=TFileStream.Create(Edit2.Text,fmCreate);
  82.   BitBtn3.Enabled:=False;
  83.   Copying:=True;
  84.   try
  85.    ToFile.CopyFrom(FromFile,0);
  86.    ShowMessage('复制文件过程成功完成.')
  87.   finally
  88.    BitBtn3.Enabled:=True;
  89.    ToFile.Free
  90.   end
  91.  finally
  92.  FromFile.Free;   
  93.  Copying:=False
  94.  end
  95. end;
  96. end.