導航:首頁 > 文件教程 > 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資源文件解壓相關的資料

熱點內容
蘋果5s可以升級80嗎 瀏覽:903
如何查找大文件夾 瀏覽:723
手機如何摳章放到另一張文件里 瀏覽:184
怎麼在工商銀行app添加房產 瀏覽:132
手機怎麼添加文件 瀏覽:387
屏保密碼圖案 瀏覽:186
zoc如何傳輸文件 瀏覽:802
傳送資料用什麼app 瀏覽:978
word文件怎麼加圖片 瀏覽:497
天天酷跑12月新版本 瀏覽:208
ai保存圖片是哪個格式文件 瀏覽:671
微信傳文件pages文件打不開怎麼辦 瀏覽:959
華為手機如何轉數據到小米手機 瀏覽:22
上海學習編程有哪些學校 瀏覽:293
微信怎麼轉錄 瀏覽:861
增值稅附表2怎麼帶不出數據 瀏覽:595
實測數據怎麼畫成cad平面圖 瀏覽:939
電腦上怎麼禁用某個網站 瀏覽:620
傳奇經驗代碼 瀏覽:767
java和網路營銷 瀏覽:17

友情鏈接