fclientmain.~pas
来自「Delphi开发webservice的一套例子」· ~PAS 代码 · 共 118 行
~PAS
118 行
unit fClientMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Rio, SoapHTTPClient, StdCtrls, Buttons, ComCtrls, ExtCtrls;
type
TForm2 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
mmCompressed: TMemo;
mmUnCompressed: TMemo;
BitBtn1: TBitBtn;
edtOriginal: TEdit;
edtCompressed: TEdit;
edtPassed: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
HTTPRIO1: THTTPRIO;
BitBtn2: TBitBtn;
TabSheet3: TTabSheet;
ledtOriginal: TLabeledEdit;
ledtCompressed: TLabeledEdit;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
lStart : Longint;
lEnd : Longint;
procedure GetStartTime;
procedure GetEndTime;
function GetRunTimes : Double;
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses ZlibFileServiceIntf, uSoapPacketComUnCompressor;
{$R *.dfm}
procedure TForm2.BitBtn1Click(Sender: TObject);
var
aIntf : IZlibFileService;
sData : String;
sFileName : String;
iSize : Integer;
begin
sFileName := 'DemoFile.TXT';
aIntf := HTTPRIO1 as IZlibFileService;
try
iSize := aIntf.GetFileSize(sFileName);
Self.edtOriginal.Text := IntToStr(iSize);
iSize := aIntf.GetCompressedSize(sFileName);
Self.edtCompressed.Text := IntToStr(iSize);
sData := aIntf.GetCompressedFile(sFileName);
mmCompressed.Lines.Text := sData;
Self.edtPassed.Text := IntToStr(Length(sData));
sData := XTToUnCompressSoapPacket(sData);
mmUnCompressed.Lines.Text := sData;
finally // wrap up
aIntf := nil;
end; // try/finally
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
var
aIntf : IZlibFileService;
sData : String;
sFileName : String;
begin
sFileName := 'DemoFile.TXT';
aIntf := HTTPRIO1 as IZlibFileService;
try
GetStartTime;
sData := aIntf.GetFile(sFileName);
GetEndTime;
ledtOriginal.Text := FloatToStr(GetRunTimes);
GetStartTime;
sData := aIntf.GetCompressedFile(sFileName);
sData := XTToUnCompressSoapPacket(sData);
GetEndTime;
ledtCompressed.Text := FloatToStr(GetRunTimes);
finally // wrap up
aIntf := nil;
end; // try/finally
end;
procedure TForm2.GetEndTime;
begin
lEnd := GetTickCount;
end;
function TForm2.GetRunTimes: Double;
begin
Result := (lEnd - lStart) / 1000.0;
end;
procedure TForm2.GetStartTime;
begin
lStart := GetTickCount;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?