好库网 好库网首页 | 我的好库
Delphi盒子

在DLL中实现文件的拷贝-Delphi资料

发布者:delphibox
发布日期:2011/4/8 22:33:50   更新日期:2011/4/8 22:33:50
阅读次数:2318
评分:4.80
介绍: 在DLL中实现文件的拷贝-Delphi资料
正文:

在所开以的应用软件中

有时我们对某些文件进行拷贝(如对数据库进行备份、制作 安装程序),但是常用的一些语言却没有提供可直接进行文件拷贝的过程或函数。为此 ,我曾利用Delphi编制了可提供文件拷贝过程的动态连接库Copy.dll

其输出过程为 CopyFile。由于DLL具有简化编程、运行速度快等诸多优点,且不受编程语言的限制, 用Delphi编写的Copf.dll同样被VB、VC等面向对象语言进行静态或动态调用,人而方便 地在程序中实现文件拷贝。

附源程序如下:

library copf;

uses

SysUntils

Classes;

procedure copyfile(Sfname.Dfname:string):far;export;//带路径的文件名;

Var

Sourcef

Destinef:file;

NumRead

NumWritten:Integer;

Buf:array[1..4096] of char;//定义缓冲区;

Begin

AssignFile(Sourcef

dfname);

Reset(Sourcef

1);

AssignFile(Destinef

1);

Rewrite(Destinef

1);

Repeat

BlockRead(Sourcef

Buf

SizeOf(Buf)

Numread);//读源文件

BlockWrite(destinef

buf

NumRead

NumWritten);//写目标文件;

Until (Numread=0) or (Numwritten<>numread);

closeFile(soucef);

Closefile(destinef);

end;

Esports

copyfile;//输出过程;

end;

以上源程序编译后便生成Copf.dll

现就静态调用举例:

unit Name;

interface

uses

Windows...;

Type

Tzcform=class(Tform)

...

end;

var

Form1:Tform1;

implementation

Procedure copyfile(Sfname

dfname:string);far;external'c:\copf';//DLL路径名;

{$R *.DFM}

Procedure Tform1.CopyButtonclick(sender:tobject);

Begin

...

if fileesist(sfname)//如果源文件;

then copyfile(sfname

dfname);

...

end;


评论 [发表评论]
账号 密码 还没帐号呢,现在注册一个?

免责声明:好库网所展示的信息由买卖双方自行提供,其真实性、准确性和合法性由信息发布人负责。好库网不提供任何保证,并不承担任何法律责任。