数据自动备份及DELPHI 执行DOS 命令

sls 2000-03-02 02:02:00
各位DELPHI高手:

小弟最近有一问题如下:

NT服务器..\DATA\目录下有一批VFP的 *.DBF ,*.DBC 数据表及库现在想DELPHI编一自动备份这些数据的程序.自己编了一小程序主要用到了
FILEREAD()%FILEWRITE() 函数,执行程序后发现文件名都拷过来了但内部的数据有一部分没有复制过来请问是何原因?或者有什么好的解决方法.

曾想过调用DOS命令XCOPY 来实现但不知DELPHI 如何调用DOS 命令如何解决如有答案请附原码.
谢谢!!

sls


mailaddress is :3255710@sina.com



...全文
283 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
soff 2001-08-28
  • 打赏
  • 举报
回复
调用DOS命令请用一个叫DosCommand的控件,相当好用,我最近正在使用。
qstn_nsw 2001-08-28
  • 打赏
  • 举报
回复
你不妨试一试下面的这代码:
procedure TForm1.Button1Click(Sender: TObject);

var
iFileHandle,iFileHandle2: Integer;
iFileLength: Integer;
iBytesRead: Integer;
Buffer: PChar;
i: Integer
begin
if OpenDialog1.Execute then
begin
try
iFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);//SourceFile
iFileLength := FileSeek(iFileHandle,0,2);
FileSeek(iFileHandle,0,0);
Buffer := PChar(AllocMem(iFileLength + 1));
iBytesRead = FileRead(iFileHandle, Buffer^, iFileLength);
FileClose(iFileHandle);

FileHandle2 := FileCreate(SaveDialog1.FileName);//DistinateFile
FileWrite(iFileHandle2, lpBuff^, iFileLength );
FileClose(iFileHandle2);

finally
FreeMem(Buffer);
end;
end;
end;
如果有什么问题请发 EMAIL---->>qstn_nsw@263.net
combsky 2001-07-19
  • 打赏
  • 举报
回复
gz
光明山人 2000-03-02
  • 打赏
  • 举报
回复
问题应当出在你的程序中。

推荐你使用WIN32 Shell API中专门进行文件复制操作的函数SHFileOperation,具体用法请查询Delphi所带的Win32 API 帮助或微软的MSDN。用该函数能出现象资源管理器一样复制文件的效果。
jll 2000-03-02
  • 打赏
  • 举报
回复
要自己编程拷贝文件最好用文件流。也可以看看Delphi的BlockRead和BlockWrite函数,它们的帮助文档其实就是一个典型的拷贝文件的例子。
929 2000-03-02
  • 打赏
  • 举报
回复
简单呢,就用WINEXEC执行XCOPY,但可能对错误控制不大好。
复杂一点可用CREATEPROCESS,WAITFORSINGLEOBJECT来实现。关于这两个函数可看一下WIN32API。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧