打印本文 打印本文 关闭窗口 关闭窗口
用DELPHI实现文件加密压缩
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2751  更新时间:2009/4/23 18:30:59  文章录入:mintao  责任编辑:mintao
bsp;      resultvalue:=false;
           end
           else
           resultvalue:=true;

           if resultvalue then
           begin

              filestream_ok:=TFileStream.create(ExtractFilePath(paramstr(1))+inifile.ReadString(''''file1'''',''''filename'''',''''wnhoo.zzz''''),fmCreate);
              try
              OutStream.Position :=0;
              filestream_ok.CopyFrom(OutStream,inifile.ReadInteger(''''file1'''',''''filesize'''',0));
              finally
              filestream_ok.Free ;
             end;

           end;


          inifile.Free;
        finally
         //删除临时INI文件
        deletefile(ExtractFilePath(paramstr(0))+''''tmp.in_'''');
        end;
     //
   finally
     OutStream.free;
   end;
 finally
   inStream.free;
 end;
except
resultvalue:=false  ;

end;
result:=resultvalue;
end;


//自解压创建
procedure tmyzip.zjywj(var filename:string);
var
myRes: TResourceStream;//临时存放自解压EXE文件
myfile:tfilestream;//原文件流
xfilename:string;//临时文件名称
file_ok:tmemorystream; //生成文件的内存流
filesize:integer; //原文件大小
begin
if FileExists(filename) then
begin
//创建内存流
file_ok:=tmemorystream.Create ;
//释放资源文件-- 自解压EXE文件
myRes := TResourceStream.Create(Hinstance, ''''myzjy'''', Pchar(''''exefile''''));
//将原文件读入内存
myfile:=tfilestream.Create(filename,fmOpenRead);
try

myres.Position:=0;
file_ok.CopyFrom(myres,0);
file_ok.Seek(0,sofromend);
myfile.Position:=0;
file_ok.CopyFrom(myfile,0);
file_ok.Seek(0,sofromend);
filesize:=myfile.Size;
file_ok.WriteBuffer(filesize,sizeof(filesize));
file_ok.Position:=0;
xfilename:=ChangeFileExt(filename,''''.exe'''') ;
file_ok.SaveToFile(xfilename);

finally
myfile.Free ;
myres.Free ;
file_ok.Free ;

end;
DeleteFile(filename);
filename:=xfilename;

end;
end;

//#####################################################

destructor Tmyzip.Destroy;
begin

inherited Destroy;
end;
end.

3 、结束语
Delphi的全新可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。对于程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率。在delphi中可以很方便的利用流实现文件处理、动态内存处理、网络数据处理等多种数据形式,写起程序也会大大提高效率的。

参考文献: 
1、DELPHI系统帮助
2、冯志强. Delphi 中压缩流和解压流的应用
3、陈经韬.谈Delphi编程中“流”

上一页  [1] [2] [3] 

打印本文 打印本文 关闭窗口 关闭窗口