導航:首頁 > 文件教程 > delphi資源文件解壓

delphi資源文件解壓

發布時間:2025-05-24 04:57:51

Ⅰ delphi XE 10 解壓壓縮文件

沒有的,可以在前端要求加個判斷格式,只有ZIP的才行。或都把.rar的自己轉換成zip

Ⅱ delphi的VCLZip控制項的解壓問題

ziper.DoAll := True;
ziper.OverwriteMode := Always;
ziper.RelativePaths:=true;//是否保持目錄結構
ziper.AddDirEntriesOnRecurse:=true;
ziper.RecreateDirs:=true;//創建目錄

加上這幾句應該就行了。
vclzip在delphi2010中是無法使用的,在d7中可以正常使用。如果想在d2010中使用,建議在d7下把這些函數封裝成dll,在2010中調用即可。

Ⅲ delphi中用zlib怎樣壓縮和解壓

數據壓縮和賣巧知解壓的示例代碼

{壓縮流}
function CompressStream(ASrcStream: TStream; ALevel: TSfCompressionLevel): TStream;
var
SrcData,Buffer:Pointer;
BufSize:Integer;
begin
Buffer:=nil;
Result:=nil;
BufSize:=0;
GetMem(SrcData,ASrcStream.Size);
ASrcStream.Position:=0;
ASrcStream.Read(SrcData^,ASrcStream.Size);

try
try
SfCompressBuf(SrcData,ASrcStream.Size,Buffer,BufSize,ALevel);
except
on E:Exception do
SfRaiseException(E,'Exception raised in CompressStream call');
end;
finally
FreeMem(SrcData);
SrcData:=nil;
end;

//由於try...except塊中重引發了異常,所以在發生了異常的情況下,以下的代碼不會執行
Result:=TMemoryStream.Create;
Result.Write(Buffer^,BufSize);
FreeMem(Buffer);
end;

{解壓流}
function CompressStream(ASrcStream: TStream; ALevel: TSfCompressionLevel): TStream;
var
SrcData,Buffer:Pointer;
BufSize:Integer;
begin
Buffer:=nil;
Result:=nil;
BufSize:=0;
GetMem(SrcData,ASrcStream.Size);
ASrcStream.Position:=0;
ASrcStream.Read(SrcData^,ASrcStream.Size);

try
try
SfCompressBuf(SrcData,ASrcStream.Size,Buffer,BufSize,ALevel);
except
on E:Exception do
SfRaiseException(E,'Exception raised in CompressStream call');
end;
finally
FreeMem(SrcData);
SrcData:=nil;
end;

//由於try...except塊中重引發了異常,所以寬鍵在發生了異常的情況下,以下的代碼不中消會執行
Result:=TMemoryStream.Create;
Result.Write(Buffer^,BufSize);
FreeMem(Buffer);
end;

{壓縮位元組數組}
function CompressBytes(ASrcBytes: TBytes; ALevel: TSfCompressionLevel): TBytes;
var
Buffer:Pointer;
BufSize:Integer;
begin
Buffer:=nil;
BufSize:=0;

try
SfCompressBuf(@ASrcBytes[0],Length(ASrcBytes),Buffer,BufSize,ALevel);
SetLength(Result,BufSize);
Move(Buffer^,Result[0],BufSize);
except
on E:Exception do
SfRaiseException(E,'Exception raised in CompressBytes call');
end;

//由於try...except塊中重引發了異常,所以在發生了異常的情況下,以下的代碼不會執行
FreeMem(Buffer);
end;

{解壓位元組數組}
function DecompressBytes(ASrcBytes: TBytes): TBytes;
var
Buffer:Pointer;
BufSize:Integer;
begin
Buffer:=nil;
BufSize:=0;

try
SfDecompressBuf(@ASrcBytes[0],Length(ASrcBytes),0,Buffer,BufSize);
SetLength(Result,BufSize);
Move(Buffer^,Result[0],BufSize);
except
on E:Exception do
SfRaiseException(E,'Exception raised in DecompressBytes call');
end;

//由於try...except塊中重引發了異常,所以在發生了異常的情況下,以下的代碼不會執行
FreeMem(Buffer);
end;

閱讀全文

與delphi資源文件解壓相關的資料

熱點內容
網易嚴選微信app怎麼退出 瀏覽:892
a標簽文件下載 瀏覽:298
手柄連接驅動程序 瀏覽:442
中國資料庫發展研討會 瀏覽:415
win7去掉登錄密碼 瀏覽:38
imacappleid 瀏覽:560
網易郵箱怎麼發文件手機app 瀏覽:325
如何快速升級考拉 瀏覽:745
編程加入高考需要什麼條件 瀏覽:602
小米手機怎麼同步舊手機app的數據 瀏覽:253
cad版本不同會顯示外來文件嗎 瀏覽:538
卸載ps提示有正在使用的文件 瀏覽:165
忘記路由器wifi密碼 瀏覽:390
5s升級103 瀏覽:140
博圖v13上載程序 瀏覽:142
有什麼夜晚網站 瀏覽:115
win10環境配置在哪個文件夾 瀏覽:949
文件王測試視頻 瀏覽:874
易語言圖片框顯示文件夾的相片 瀏覽:211
如何通過數據網路發簡訊 瀏覽:423

友情鏈接