关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> API相关 ->详细
相关内容  
 
 
在程序运行期设置QUERY控件的PARAMS
 
【新品推荐】

  详细内容
 

在DLL中实现文件的拷贝
作者: 评价: 上站日期: 2001-05-09
内容说明:
来源:

  在所开以的应用软件中,有时我们对某些文件进行拷贝(如对数据库进行备份、制作 安装程序),但是常用的一些语言却没有提供可直接进行文件拷贝的过程或函数。为此 ,我曾利用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;  


 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> API相关 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0