ucopy.pas
上传用户:yuandong
上传日期:2022-08-08
资源大小:954k
文件大小:7k
源码类别:

Delphi控件源码

开发平台:

C++ Builder

  1. unit ucopy;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdCtrls, Gauges { , threadcopy} ;
  6. type
  7.   TForm1 = class(TForm)
  8.     Label1: TLabel;
  9.     Label2: TLabel;
  10.     Gauge: TGauge;
  11.     procedure FormActivate(Sender: TObject);
  12.     procedure FormDestroy(Sender: TObject);
  13.   private
  14.     { Private-Deklarationen }
  15.     nThreadsRunning : Integer;  // not used
  16.     nFileCounter : Integer;     // index for filename
  17.     StringList : TStrings;
  18.     strTempDir : string;        // the <temp> / source directory
  19. //    procedure ThreadDone(Sender : TObject);  // not used
  20.     procedure ReadBinaryDataFile(strFilename : string);
  21.   public
  22.     { Public-Deklarationen }
  23.   end;
  24. var
  25.   Form1: TForm1;
  26. const
  27.   EMFSTRING1 = #1#0#0#0#124#0#0#0;  // possible emf file types in
  28.   EMFSTRING2 = #1#0#0#0#88#0#0#0;   // NT .spl files
  29. implementation
  30. {$R *.DFM}
  31. procedure TForm1.FormActivate(Sender: TObject);
  32. var
  33.   SearchRes : TSearchRec;// search structure
  34.   nGaugeCounter,         // makes nice gauge
  35.   nFound, i : Integer;   // # of files found (when searching)
  36.   strTemp : string[8];   // filename: <number>.emf
  37.   strCnt : string;       // <full path> + <emf-file>
  38.   strOSVer : string;     // OS version (Win95 / NT)
  39.   lpszOSVer : PChar;
  40.   strSpoolDir : string;  // spool-directory (NT only)
  41.   strOldFile, strNewFile : string;
  42.   lpszTempDir : PChar;   // %TEMP% dir (w95 & nt)
  43.   lpszSpoolDir : PChar;  // spool dir (nt only)
  44. begin
  45.   // inits and allocs
  46.   nGaugeCounter := 0;
  47.   nThreadsRunning := 0;
  48.   GetMem(lpszTempDir, 255);
  49.   GetMem(lpszOSVer, 15);
  50.   GetMem(lpszSpoolDir, 255);
  51.   // %temp%-var set?
  52.   if (GetEnvironmentVariable('temp', lpszTempDir, 255) = 0) then begin
  53.     MessageDlg('Environment-Variable %temp% mu