Sorry if last time we uploaded dbfsql.zip without sources and in italian
language, we were just trying to upload first time in your site and we
didn't believe we were published.
We have so much to work and no time enough to do everyting, but we will 
upload a new version with everything is necessary as soon as possible.
The description of this new component is quite the same file txt we zip
with the sources for downloaders as help and, may be, for you it contain 
details not very interesting.

Thak's for your upload and have a nice time ...


    G.Burzomato L.Menghini   e-mail : lume@tn.village.it


TFileCopy is a component designed for very fast copy of files without 
external, coarse calls involving the O.S.
Furthermore it provides to send to the calling form (by the API SendMessage)
the percentages of blocks read and written during the copy. 
If you use two TProgressBar (Delphi 3.0), or any other component like that,
you can show visually the progress during the copy.
The method handling the message must use the constant predefined 
WM_FILECOPY declared inside FileCopy.pas.
Any time the message is received wParam contains the percentage read
and lParam the percentage written.
For read and write we have used low-level calls to FileRead and FileWrite
to avoid the error generated by the standard procedure reset on opening
read-only files like from a CD-ROM.

  Properties : Name ShowOverwrite SourceFile Tag TargetFile

* Name is the name of the component like always
* ShowOverwrite True allows a dialog calling if you want overwrite an
  existing file, otherwise TFileCopy copy overwrite it without asking
* SourceFile is the full path-name of the source file
* Tag ...
* TargetFile is the full path-name of the target file
They can also be different.

  Method : ExecCopy

* ExecCopy just start the copy.

This is an example of the message handling method on the calling form :

procedure TForm1.WMFileCopy(var Msg : TMessage);
begin
   with Msg do
   begin
      ProgressFrom.position := wParam;      
      ProgressTo.position   := lParam;
      ProgressFrom.repaint;
      ProgressTo.repaint;
   end;
end;

ProgressFrom and ProgressTo are two TProgressBar components.

If you don't declare any method handling the message TFileCopy works
all the same and it works very very faster.


*** First problem

FileCopy.DCR is compiled with Delphi 1.0 so doesn't work with the following
versions, but you can easily upgrade it with any Resources tool just
1) renaming it from .DCR to .RES
2) upgrading to 32 bit
3) renaming it again from .RES to .DCR

*** Second problem

The constant wm_filecopy is coded as := wm_user + 7777.
It's possible that it's a value already in use in your application and
this problem should causes behaviours very terribles.
Sorry, you must change the value in FileCopy.pas or you must do not declare 
any method to handle the message.
We have tried to present it like a property editable but in the declaration
part of the calling form the value of a attribute of a component owned
by the form isn't visible and that cause the message :
  Error : unknown identifier
after the reserved word 'message' .
If you can find any different solution to make TFileCopy easier to use,
please write us.