delphi 압축 및 압축 해제특별한 컨트롤이 필요 없어요.
2056 단어 delphi
unit unzip;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Zlib;
//
procedure Zip(var fs: TMemoryStream);
var
cs: TCompressionStream;
ms: TMemoryStream;
num: Integer;
begin
if not(Assigned(fs) and (fs.Size>0)) then Exit;
num := fs.Size;
ms := TMemoryStream.Create;
cs := TCompressionStream.Create(clMax, ms);
try
fs.SaveToStream(cs);
cs.Free;
//ms.Position := 0;
fs.Clear;
fs.WriteBuffer(num, sizeof(num));
fs.CopyFrom(ms, 0);
finally
ms.Free;
end;
end;
//
procedure UnZip2(var fs: Tmemorystream);
var
ds: TDecompressionStream;
ms: TMemoryStream;
num: Integer;
begin
if not(Assigned(fs) and (fs.Size>0)) then Exit;
fs.Position := 0;
fs.ReadBuffer(num,sizeof(num));
ms := TMemoryStream.Create;
ds := TDecompressionStream.Create(fs);
try
ms.SetSize(num);
ds.Read(ms.Memory^, num);
//ms.Position := 0;
fs.Clear;
fs.CopyFrom(ms, 0);
finally
ds.Free;
ms.Free;
end;
end;
//
procedure TForm1.Button1Click(Sender: TObject);
var
ms: TMemoryStream;
begin
ms := TMemoryStream.Create;
ms.LoadFromFile('D:\delphi\szcb.mdb');
Zip(ms);
ms.SaveToFile('D:\delphi\szcb.zip');
end;
//
procedure TForm1.Button2Click(Sender: TObject);
var
ms: TMemoryStream;
begin
ms := TMemoryStream.Create;
ms.LoadFromFile('D:\delphi\szcb.zip');
UnZip2(ms);
ms.SaveToFile('D:\delphi\szcb2.mdb');
end;
end.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Delphi 10.3.3 IDE 글꼴 및 글꼴 크기 수정Delphi는 Windows 플랫폼에서 유명한 빠른 응용 프로그램 개발 도구(Rapid Application Development, 약칭 RAD)입니다.그것의 전신은 바로 DOS 시대에 성행한'Borland Turb...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.