G
gdljf
Unregistered / Unconfirmed
GUEST, unregistred user!
我想在EDIT1中输入字符后,点第一按钮压缩,压缩后的内容存入EDIT2中;点第二按钮解压,并把解压后的内容写入MEMO1中,即最后edit1中的内容跟memo1中的内容应该是一样的,但我在点第二按钮时DELPHI7提示出错,但却无法定位到出错的指令。请各位老大帮我看看这程序该怎么改正。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Zlib;
type
TForm1 = class(TForm)
Memo1: TMemo;
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var ins,ous:tmemorystream;
ss:tstringstream;
cs:tcompressionstream;
begin
ins:=tmemorystream.Create ;
ous:=tmemorystream.Create ;
ss:=tstringstream.Create('');
ins.WriteBuffer(pchar(edit1.Text)^,length(edit1.Text));
cs:=tcompressionstream.Create(clmax,ous);
cs.CopyFrom(ins,0);
cs.Free;
ous.Position :=0;
ss.CopyFrom(ous,0);
edit2.Text :=ss.DataString ;
ins.Free ;
ous.Free;
ss.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var ins,ous:tmemorystream;
ss:tstringstream;
cs:tdecompressionstream;
begin
ins:=tmemorystream.Create ;
ous:=tmemorystream.Create ;
ss:=tstringstream.Create('');
ins.WriteBuffer(pchar(edit2.Text)^,length(edit2.Text));
ins.Position :=0;
cs:=tdecompressionstream.Create(ins);
ous.CopyFrom(cs,cs.Size);
cs.Free;
ous.Position :=0;
ss.CopyFrom(ous,0);
memo1.Lines.Add(ss.DataString );
ins.Free ;
ous.Free;
ss.Free;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Zlib;
type
TForm1 = class(TForm)
Memo1: TMemo;
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var ins,ous:tmemorystream;
ss:tstringstream;
cs:tcompressionstream;
begin
ins:=tmemorystream.Create ;
ous:=tmemorystream.Create ;
ss:=tstringstream.Create('');
ins.WriteBuffer(pchar(edit1.Text)^,length(edit1.Text));
cs:=tcompressionstream.Create(clmax,ous);
cs.CopyFrom(ins,0);
cs.Free;
ous.Position :=0;
ss.CopyFrom(ous,0);
edit2.Text :=ss.DataString ;
ins.Free ;
ous.Free;
ss.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var ins,ous:tmemorystream;
ss:tstringstream;
cs:tdecompressionstream;
begin
ins:=tmemorystream.Create ;
ous:=tmemorystream.Create ;
ss:=tstringstream.Create('');
ins.WriteBuffer(pchar(edit2.Text)^,length(edit2.Text));
ins.Position :=0;
cs:=tdecompressionstream.Create(ins);
ous.CopyFrom(cs,cs.Size);
cs.Free;
ous.Position :=0;
ss.CopyFrom(ous,0);
memo1.Lines.Add(ss.DataString );
ins.Free ;
ous.Free;
ss.Free;
end;
end.