自己对DELPHI学习的一点体会

源代码在线查看: 利用dll在程序是实现文件拷贝 (2001年5月27日).txt

软件大小: 771 K
上传用户: pipinooad
关键词: DELPHI
下载地址: 免注册下载 普通下载 VIP

相关代码

				利用DLL在程序是实现文件拷贝 (2001年5月27日) 
				
				本站更新  分类:文件系统   作者:未名码头  推荐:   阅读次数:242  
				(http://www.codesky.net)  
				
				--------------------------------------------------------------------------------
				
				在所开以的应用软件中,有时我们对某些文件进行拷贝(如对数据库进行备份、制作
				安装程序),但是常用的一些语言却没有提供可直接进行文件拷贝的过程或函数。为此
				,我曾利用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;
				 
				 
							

相关资源