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

熱點內容
javasetsotimeout 瀏覽:202
qq保存的圖在哪個文件夾 瀏覽:58
nodejs項目源碼 瀏覽:703
租號app盜號會怎麼樣 瀏覽:993
android編寫html代碼規范 瀏覽:176
手機app通話詳單怎麼開通 瀏覽:280
javaisnotdefined 瀏覽:472
qq頭像摩登 瀏覽:292
小米5儲存照片文件 瀏覽:720
lfw資料庫下載 瀏覽:478
無線自組織網路數據鏈 瀏覽:348
iphone健康app無數據 瀏覽:507
趕海大神app怎麼玩 瀏覽:837
在日本買的蘋果6s在中國能用嗎 瀏覽:685
冠軍足球經理工具 瀏覽:689
小白文件管理器手機版 瀏覽:671
java輸出界面 瀏覽:600
寬頻與移動數據哪個網速快 瀏覽:373
在什麼app上注冊公司呢 瀏覽:599
電腦ios忘記密碼 瀏覽:452

友情鏈接