我对这方面一窍不通,一头雾水,请指教。
解决方案 »
- TDBGridE这个是那个组件里面的控件呀?
- 如何判断字符串是不是UTF8编码
- 怎么样隐藏tdbadvgrid的表头栏?
- 求intraweb8.0.22 for delphi7的序列号
- 求加密解密Function,要求用'0'..'9'或'a'..'z'或'A'..'Z'加密,结果字符在其范围内。
- 代码不懂请指教
- 怎么没有人会用线程来解决进度条的显示。非高手莫入!!!!!!!!!!!!!
- 报表预览格式问题,报表高手进
- 一个相当简单的问题,菜鸟也可以进。
- C#的推出对Delphi的前途有何影响?Delphi下一版本会不会支持.net?Borland如何应对?
- 如何获取SQL Server企业管理器里的数据库?
- 如何固定光标在表中的某一行?
Uses Zlib
procedure TMyClass.CompressStream(var AinStream, AoutStream: TMemoryStream);
var
InpBuf, OutBuf: Pointer;
InpBytes, OutBytes: Integer;
begin
InpBuf := nil;
OutBuf := nil;
try
GetMem(InpBuf, AinStream.Size);
AinStream.Position := 0;
InpBytes := AinStream.Read(InpBuf^, AinStream.Size);
CompressBuf(InpBuf, InpBytes, OutBuf, OutBytes);
AoutStream.Write(OutBuf^, OutBytes);
finally
if InpBuf <> nil then
FreeMem(InpBuf);
if OutBuf <> nil then
FreeMem(OutBuf);
end;
end;procedure TMyClass.DecompressStream(var AinStream, AoutStream: TMemoryStream);
var
InpBuf, OutBuf: Pointer;
OutBytes, sz: Integer;
begin
InpBuf := nil;
OutBuf := nil;
sz := AinStream.Size - AinStream.Position;
if sz > 0 then
try
GetMem(InpBuf, sz);
AinStream.Read(InpBuf^, sz);
DecompressBuf(InpBuf, sz, 0, OutBuf, OutBytes);
AoutStream.Write(OutBuf^, OutBytes);
finally
if InpBuf <> nil then
FreeMem(InpBuf);
if OutBuf <> nil then
FreeMem(OutBuf);
end;
AoutStream.Position := 0;
end;
a:='a E:\MMTools.rar E:\MMTools';
Panel1.Caption:=TimeToStr(time());
ShellExecute(application.MainForm.Handle,'open','winrar.exe',PChar(a),'',SW_show);