syspublic.pas
来自「在线升级。升级文件以压缩格式传输。客户端下载后解压」· PAS 代码 · 共 71 行
PAS
71 行
unit SysPublic;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,Unit_main,Zlib;
procedure CompressStream(var MyStream: TMemoryStream);
procedure UnCompressStream(var MyStream: TMemoryStream);
procedure UnZipFile(s,s2:String);
implementation
procedure UnZipFile(s,s2:String);
var MS: TMemoryStream;
begin
Exit;
MS:= TMemoryStream.Create;
ms.LoadFromFile(s);
UnCompressStream(MS);
//s:=ChangeFileExt(s,'.bak');
ms.SaveToFile(s2);
ms.Free;
end;
procedure CompressStream(var MyStream: TMemoryStream);
var
SourceStream: TCompressionStream;
DestStream: TMemoryStream;
Count: Integer;
Begin
Count := MyStream.Size;
DestStream := TMemoryStream.Create;
SourceStream:=TCompressionStream.Create(clDefault, DestStream);
Try
MyStream.SaveToStream(SourceStream);
SourceStream.Free;
MYStream.Clear;
MyStream.WriteBuffer(Count, SizeOf(Count));
MyStream.CopyFrom(DestStream, 0);
MyStream.Position := 0;
finally
DestStream.Free;
end;
end;
procedure UnCompressStream(var MyStream: TMemoryStream);
var
SourceStream: TDecompressionStream;
Buffer: PChar;
Count: Integer;
Begin
MyStream.ReadBuffer(Count, SizeOf(Count));
GetMem(Buffer, Count);
SourceStream := TDecompressionStream.Create(MyStream);
Try
SourceStream.ReadBuffer(Buffer^, Count);
MyStream.Clear;
MyStream.WriteBuffer(Buffer^, Count);
MyStream.Position := 0;
finally
FreeMem(Buffer);
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?