📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, kbmMWClient, kbmMWCustomTransport,kbmMWTCPIPIndyTransport,
kbmMWInventoryClient, kbmMWZipStdTransStream, ExtCtrls, ComCtrls,
IdBaseComponent, IdComponent,
IdSSLOpenSSL, SBkbmMWIndy8Plugin, IdIntercept, IdSSLIntercept,
SBUtils, SBIndyIntercept;
type
TForm1 = class(TForm)
kbmMWSimpleClient1: TkbmMWSimpleClient;
kbmMWTCPIPIndyClientTransport1: TkbmMWTCPIPIndyClientTransport;
kbmMWInventoryClient1: TkbmMWInventoryClient;
Label5: TLabel;
PageControl2: TPageControl;
TabSheet2: TTabSheet;
Button1: TButton;
Label1: TLabel;
Button2: TButton;
Label2: TLabel;
Button3: TButton;
Label6: TLabel;
Button4: TButton;
lbDebug: TListBox;
TabSheet6: TTabSheet;
Button6: TButton;
mPerformancelog: TMemo;
ElkbmMWIndy8Plugin1: TElkbmMWIndy8Plugin;
ElIndyConnectionSSLIntercept1: TElIndyConnectionSSLIntercept;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
// Connect a simple client to the server via the given transport.
kbmMWSimpleClient1.Connect;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
// Disconnect a simple client from the server.
kbmMWSimpleClient1.Disconnect;
end;
// This button will make 100 inventory requests on the server.
// The inventory service gives the client a posibility to figure out
// which services the server provides, and via different inventory
// requests, the syntax for those services can also be provided.
procedure TForm1.Button3Click(Sender: TObject);
var
v:variant;
t1,t2:TDateTime;
td:TDateTime;
i:integer;
slst:TStringList;
begin
slst:=TStringList.Create;
try
for i:=0 to 100 do
begin
t1:=now();
v:=kbmMWSimpleClient1.Request('KBMMW_INVENTORY','','',[]);
t2:=now();
td:=t2-t1;
slst.CommaText:=v;
lbDebug.Items.AddStrings(slst);
lbDebug.Items.Add(inttostr(trunc(td*secsperday*1000)));
Application.ProcessMessages;
end;
finally
slst.Free;
end;
end;
// This will ask for syntax details for the service named KBMMW_INVENTORY.
procedure TForm1.Button4Click(Sender: TObject);
var
v:variant;
slst:TStringList;
begin
slst:=TStringList.Create;
try
v:=kbmMWSimpleClient1.Request('KBMMW_INVENTORY','','GET SYNTAX DETAILS',['KBMMW_INVENTORY']);
slst.CommaText:=v;
lbDebug.Items.AddStrings(slst);
finally
slst.free;
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
var
i:integer;
t1,t2:TDateTime;
v:variant;
tsec:integer;
begin
t1:=now();
for i:=0 to 9999 do
begin
v:=kbmMWSimpleClient1.Request('KBMMW_INVENTORY','','',[]);
end;
t2:=now();
tsec:=trunc((t2-t1)*24*60*60);
mPerformanceLog.Lines.Add('Time: '+inttostr(tsec)+' secs. = '+inttostr(trunc(tsec/10000)*1000)+' msecs/request.');
end;
initialization
SetLicenseKey('ADDCD14AD06709806817E0B3D7BFD0A2222D536FE156466C5D5FE65DB5DEAE76' +
'FFDEBC07E915A5751C12C01C783958872A38E4A5EDA140E7247E0F2E56442A3C' +
'F3E9347AD8FDE52083A0DFC86BC00ECB0FD0CF1B51159A2BCB84F6EA6349EF47' +
'5C15A59AFCC55F7C3AAD26C279628B5D91B1DC94BD2385354A70CCA3B76101D9' +
'F41C84A639FC3CCE4BA8F0CC4A66DCD150114A3F58C1AD46B7B94643741BC20A' +
'8DCA83AB921480951B423CAA19EF1863A47CA2C3422E7E5634BED98939A5AE43' +
'DE1E4BAD79E66D8A5C973B3455656C8C9B6FF024FADD6CDA02D0F506D98493C8' +
'BD1ED7B237DB75FA31F2C82654490CDDDEE24E19939137B9E1DB05508733B22F');
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -