|
用DELPHI实现文件加密压缩(7) { public declarations here } published { published declarations here } end;
implementation
constrUCtor Tmyzip.Create; begin inherited Create; // 初始化继承下来的部分 end;
//##################################################### //原文件加密 procedure jm_File(vfile:string;var Target:TMemoryStream;passWord:pass;isjm:boolean); { vfile:加密文件 target:加密后输出目标流 》》》 passWord:密码 isjm:是否加密 ------------------------------------------------------------- 加密后文件SIZE=原文件SIZE+[INI加密压缩信息文件]的SIZE+存储[INI加密压缩信息文件]的大小数据类型的SIZE --------------------------------------------------------------- } var
tmpstream,inistream:TFileStream; FileSize:integer; inifile:TINIFILE; filename:string; begin //打开需要 [加密压缩文件] tmpstream:=TFileStream.Create(vFile,fmOpenread or fmShareExclusive); try //向 [临时加密压缩文件流] 尾部写入 [原文件流] Target.Seek(0,soFromEnd); Target.CopyFrom(tmpstream,0); //取得文件路径 ,生成 [INI加密压缩信息文件] filename:=ExtractFilePath(paramstr(0))+'tmp.in_'; inifile:=TInifile.Create(filename); inifile.WriteString('file1','filename',ExtractFileName(vFile)); inifile.WriteString('file1','passWord',passWord); inifile.WriteInteger('file1','filesize',Target.Size); inifile.WriteDateTime('file1','fileDate',now()); inifile.WriteBool('file1','isjm',isjm); inifile.Free ; //读入 [INI加密压缩信息文件流] inistream:=TFileStream.Create(filename,fmOpenread or fmShareExclusive);
|