dllwrapper.pas
来自「nsis是一个流传比较广的程序安装和解安装封装软件」· PAS 代码 · 共 52 行
PAS
52 行
unit DLLWrapper;interfaceuses Classes, SysUtils; function DoGenerate(const Source, Target: String; Stream: TStream; Config: String): Integer; forward;var WaitAfterGenerate: Boolean = False; OptimalPatches: Boolean = False;implementationuses OSUtil, Forms;function DoGenerate(const Source, Target: String; Stream: TStream; Config: String): Integer;var F: TextFile; Temp, BatchFile: String; fs: TFileStream;begin BatchFile:=ExcludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + PathDelim +'~generate_patch.bat'; AssignFile(F,BatchFile); Rewrite(F); Temp:=GetTempFile; WriteLn(F,'@cls'); WriteLn(F,'@echo Generating '+ExtractFileName(Source)+' to '+ExtractFileName(Target)+'...'); Write(F,'genpat.exe "', Source, '" "', Target, '" "', Temp, '" /b='+Config); if OptimalPatches then begin Write(F,' /o'); end; WriteLn(F,''); if WaitAfterGenerate then begin WriteLn(F,'@echo.'); WriteLn(F,'@pause'); end; CloseFile(F); ExecWaitBatchFile(ExtractFilePath(BatchFile),BatchFile); fs:=TFileStream.Create(Temp,fmOpenRead); Stream.CopyFrom(fs,fs.Size); Result:=fs.Size; fs.Free; DeleteFile(Temp); DeleteFile(BatchFile);end;end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?