fclientmain.pas

来自「Delphi开发webservice的一套例子」· PAS 代码 · 共 119 行

PAS
119
字号
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, EncdDecd;

{$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);
    sData := DecodeString(sData);
    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 + -
显示快捷键?