求DELPHI中的解rar压缩文件包的代码,希望不是直接调用EXE可执行文件,可以在没有安装RAR的时候也可以解压。

winnerxcf 2009-02-17 11:23:40
求DELPHI中的解rar压缩文件包的代码,希望不是直接调用EXE可执行文件,可以在没有安装RAR的时候也可以解压。
下面是一个网上搜索到的。
但是里面的参数实在是不好参悟啊。谁有好的发下,谢谢
function jieyabao(rarpath, typer, openpath, jiepath: string):integer;
//(1) 功 能 : 解压数据包rar文件
//(2) 参 数 :
//(3) 返回值 : 0 成功 1错误
//(4) 作成者 : 撖牛牛
//
var
SUInfo: TStartupInfo;
ProcInfo: TProcessInformation;
str1:pchar;
begin
FillChar(SUInfo, SizeOf(SUInfo), 0);
with SUInfo do
begin
cb := SizeOf(SUInfo);
dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
wShowWindow := SW_SHOW;
end;
str1:=pchar(rarpath+ typer+ openpath +jiepath);
if CreateProcess(nil,str1, nil, nil, False,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,nil, SUInfo, ProcInfo) then
begin // pchar(rarpath+ typer+ openpath +jiepath)
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
result:=0;
end else
begin
result:=1;
end;

end;
...全文
720 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Godfear 2009-02-26
  • 打赏
  • 举报
回复
楼主解决了没有?感兴趣!
yc_8301 2009-02-19
  • 打赏
  • 举报
回复
rar应该提供了解压的dll吧,直接使用dll中的导出函数即可。。
LZ可以去官网看看
winnerxcf 2009-02-19
  • 打赏
  • 举报
回复
准备工作
下载winrar提供的动态链接库unrar.dll
http://www.rarlab.com/rar/UnRARDLL.exe(需解压) 这里解压到那里??
下载为delphi提供的组件并安装
http://www.rarlab.com/rar/TDFUnRar.zip

下载完了编译报错:
could not create output file c:\program files\borland\delphi6\....

谁知道什么情况?

在界面上添加安装的组件DFUnRar1
解压的代码为

with DFUnRar1 do
begin
Directory := ExtractFilePath(Application.ExeName); //解压的目标目录
FileName := 'aa.rar'; //你需要解压的文件名,如果不放在相同目录下,需要设置全路径
Mode := DFRAR_EXTRACT;
OverrideEvent := OR_ALWAYS;
//Password := '文件的密码';
Extract;
end;

以上只是提供简单的说明,
事实上能做到更多,大家自己看demo吧,就在上面第二个文件中
genispan 2009-02-18
  • 打赏
  • 举报
回复
或者调用winrar.exe的命令行 如:
winrar.exe e -y C:\test.rar d:\ 解压test.rar到D盘
genispan 2009-02-18
  • 打赏
  • 举报
回复
找个ZIPTV控件 一切OK 里面有DEMO

解压rar需要一个winrar.dll down一个到源码目录就行了
jozosoft 2009-02-18
  • 打赏
  • 举报
回复
UNRAR是个不错的东西,楼主没必要推倒重来。
除非你是要单独作一个这样的商品软件。
frankie_24 2009-02-18
  • 打赏
  • 举报
回复
第三方软件应该有很多,可以考虑考虑!!
ajiwuweibin 2009-02-18
  • 打赏
  • 举报
回复
我当初也是找很久找不到,又不想用三方控件,就这样一直挂着了...
不得闲 2009-02-17
  • 打赏
  • 举报
回复
压缩控件,有很多,楼主Google一下
winnerxcf 2009-02-17
  • 打赏
  • 举报
回复
有具体的代码?
上述的网站有些我打不开
laihongbo524 2009-02-17
  • 打赏
  • 举报
回复
UnRAR Delphi component Delphi component wrapper for UnRar.dll by Dirk Frischalowski.
http://www.rarlab.com/rar/TDFUnRar.zip

UnRAR Delphi component Delphi component wrapper for UnRar.dll by Philippe Wechsler.
http://www.rarlab.com/rar/RARComponent_12.zip
tjg5202 2009-02-17
  • 打赏
  • 举报
回复
考虑第3方控件吧。。。挺好用的。。。
oushengfen 2009-02-17
  • 打赏
  • 举报
回复
如果光是解压,倒有官方的DLL,UnRar.dll就提供了。
bdmh 2009-02-17
  • 打赏
  • 举报
回复
省事的话,可以考虑第三方,有的支持rar
火龙岛主 2009-02-17
  • 打赏
  • 举报
回复
用这个看看
Delphi component wrapper for UnRar.dll http://www.rarlab.com/rar/TDFUnRar.zip
僵哥 2009-02-17
  • 打赏
  • 举报
回复
可以到winrar的官网上下载unrar的source(C代码),然后转为Delphi代码。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧