Solved

Possible to copy sub-directories?

Posted on 1998-01-07
2
154 Views
Last Modified: 2010-04-04
If I want to copy a whole directory including the sub-directories and the files there, how do I do it?
Is there a simple way?
I use Delphi Developer 2.0..

Thanx!
Erik N
0
Comment
Question by:Erik N
2 Comments
 
LVL 5

Accepted Solution

by:
JimBob091197 earned 50 total points
ID: 1355601
The easiest way is to call the Windows 95 shell function ShFileOperation.  (Add ShellApi to your uses clause.)

E.g.  To copy C:\Test to C:\Temp, with a progress window:

procedure CopyDirs;
var
      FileOp: TSHFileOpStruct;
      sTo, sFrom: array[0..79] of Byte;
begin
      FillChar(FileOp, SizeOf(FileOp), 0);
      FileOp.Wnd := Self.Handle;
      FileOp.wFunc := FO_COPY;
      FillChar(sFrom, SizeOf(sFrom), 0);
      FillChar(sTo, SizeOf(sTo), 0);
      StrPCopy(@sFrom, 'C:\Test');
      StrPCopy(@sTo, 'C:\Temp');
      FileOp.pFrom := PChar(@sFrom);
      FileOp.pTo := PChar(@sTo);
      FileOp.fFlags := FOF_SIMPLEPROGRESS or FOF_RENAMEONCOLLISION or FOF_NOCONFIRMMKDIR;
      SHFileOperation(FileOp);
end;

The above example will copy C:\Test INTO C:\Temp, i.e. to C:\Temp\Test.
If you want to copy the contents of C:\Test into C:\Temp, i.e. C:\Test\Sub is copied to C:\Temp\Sub, change the following line
    StrPCopy(@sFrom, 'C:\Test');
to
    StrPCopy(@sFrom, 'C:\Test\*.*');


Regards,
JB
0
 

Author Comment

by:Erik N
ID: 1355602
Thank you JimBob, for this..

Erik N
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Delphi application Soap connection 5 120
LAN or WAN ? 11 95
Adoquery sql  left join does not work 25 99
Moving (cutting/pasting) controls in a TTabbedNotebook... 7 42
A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question