⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 publicunit.pas

📁 很好地delphi书籍源码
💻 PAS
字号:
unit PublicUnit;

interface
uses
  Classes,SysUtils;

  //声明两个函数
  //Cjt_AddtoFile作用是把原文件(ExeFile)内容追加到
  //口令询问文件(HeadFile)后面
  // Cjt_LoadFromFile作用是从加密后的文件(FullExeFile)中提取出原先的文件
  Function Cjt_AddtoFile(ExeFile,HeadFile:string):Boolean;
  Function Cjt_LoadFromFile(FullExeFile,RealExeFile :string):Boolean;
implementation



Function Cjt_AddtoFile(ExeFile,HeadFile:string):Boolean;
var
  HaedFStream,ExeFStream:TFileStream;
  MyFileSize:integer;
begin
  try
    //建立源文件流
    ExeFStream:=TFileStream.Create(ExeFile,fmOpenRead or fmShareExclusive);
    //建立目标文件流
    HaedFStream:=TFileStream.Create(HeadFile,fmOpenWrite or fmShareExclusive);
    try
      //把HaedFStream位置指针置于尾部,此状态下输入流中的内容从尾部开始排列
      HaedFStream.Seek(0,soFromEnd);
      //把Source文件的所有内容输入到HaedFStream中,经过此操作后文件ExeFile中的所有
      //内容就合并到了HeadFile 文件中
      HaedFStream.CopyFrom(ExeFStream,0);
      //将ExeFile文件的大小加存储一个整形变量所需的字节数(四字节)存放到MyFileSize
      //中
      MyFileSize:=ExeFStream.Size+Sizeof(MyFileSize);
      //写入依次放在流中的ExeFile ,sizeof(MyFileSize)总和的大小
      //存放在末尾的四个字节中
      HaedFStream.WriteBuffer(MyFileSize,sizeof(MyFileSize));
    finally
      HaedFStream.Free;
      ExeFStream.Free;
    end;
  except
    Result:=False;
    Exit;
  end;
  Result:=True;
end;

Function Cjt_LoadFromFile(FullExeFile,RealExeFile :string):Boolean;
var
  Source:TFileStream;
  Target:TMemoryStream;
  MyFileSize:integer;
begin
  try
    Target:=TMemoryStream.Create;//
    Source:=TFileStream.Create(FullExeFile,fmOpenRead or fmShareDenyNone);
    try
      Source.Seek(-sizeof(MyFileSize),soFromEnd);
      Source.ReadBuffer(MyFileSize,sizeof(MyFileSize));//读出资源大小
      Source.Seek(-MyFileSize,soFromEnd);//定位到资源位置
      Target.CopyFrom(Source,MyFileSize-sizeof(MyFileSize));//取出资源
      Target.SaveToFile(RealExeFile);//存放到文件
    finally
      Target.Free;
      Source.Free;
    end;
  except
    Result:=false;
    Exit;
  end;
  Result:=true;
end;



end.
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -