130 lines
3.2 KiB
Plaintext
130 lines
3.2 KiB
Plaintext
unit fxBroker;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
StdCtrls, DateUtils, ORNet, ORFn, rMisc, ComCtrls, Buttons, ExtCtrls,
|
|
ORCtrls, ORSystem, fBase508Form, VA508AccessibilityManager;
|
|
|
|
type
|
|
TfrmBroker = class(TfrmBase508Form)
|
|
pnlTop: TORAutoPanel;
|
|
lblMaxCalls: TLabel;
|
|
txtMaxCalls: TCaptionEdit;
|
|
cmdPrev: TBitBtn;
|
|
cmdNext: TBitBtn;
|
|
udMax: TUpDown;
|
|
memData: TRichEdit;
|
|
lblCallID: TStaticText;
|
|
btnRLT: TButton;
|
|
procedure cmdPrevClick(Sender: TObject);
|
|
procedure cmdNextClick(Sender: TObject);
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure FormResize(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure FormKeyUp(Sender: TObject; var Key: Word;
|
|
Shift: TShiftState);
|
|
procedure btnRLTClick(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
FRetained: Integer;
|
|
FCurrent: Integer;
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
procedure ShowBroker;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
procedure ShowBroker;
|
|
var
|
|
frmBroker: TfrmBroker;
|
|
begin
|
|
frmBroker := TfrmBroker.Create(Application);
|
|
try
|
|
ResizeAnchoredFormToFont(frmBroker);
|
|
with frmBroker do
|
|
begin
|
|
FRetained := RetainedRPCCount - 1;
|
|
FCurrent := FRetained;
|
|
LoadRPCData(memData.Lines, FCurrent);
|
|
memData.SelStart := 0;
|
|
lblCallID.Caption := 'Last Call Minus: ' + IntToStr(FRetained - FCurrent);
|
|
ShowModal;
|
|
end;
|
|
finally
|
|
frmBroker.Release;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmBroker.cmdPrevClick(Sender: TObject);
|
|
begin
|
|
FCurrent := HigherOf(FCurrent - 1, 0);
|
|
LoadRPCData(memData.Lines, FCurrent);
|
|
memData.SelStart := 0;
|
|
lblCallID.Caption := 'Last Call Minus: ' + IntToStr(FRetained - FCurrent);
|
|
end;
|
|
|
|
procedure TfrmBroker.cmdNextClick(Sender: TObject);
|
|
begin
|
|
FCurrent := LowerOf(FCurrent + 1, FRetained);
|
|
LoadRPCData(memData.Lines, FCurrent);
|
|
memData.SelStart := 0;
|
|
lblCallID.Caption := 'Last Call Minus: ' + IntToStr(FRetained - FCurrent);
|
|
end;
|
|
|
|
procedure TfrmBroker.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
SetRetainedRPCMax(StrToIntDef(txtMaxCalls.Text, 5))
|
|
end;
|
|
|
|
procedure TfrmBroker.FormResize(Sender: TObject);
|
|
begin
|
|
Refresh;
|
|
end;
|
|
|
|
procedure TfrmBroker.FormCreate(Sender: TObject);
|
|
begin
|
|
udMax.Position := GetRPCMax;
|
|
end;
|
|
|
|
procedure TfrmBroker.FormKeyUp(Sender: TObject; var Key: Word;
|
|
Shift: TShiftState);
|
|
begin
|
|
if Key = VK_ESCAPE then
|
|
begin
|
|
Key := 0;
|
|
Close;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmBroker.btnRLTClick(Sender: TObject);
|
|
var
|
|
startTime, endTime: tDateTime;
|
|
clientVer, serverVer, diffDisplay: string;
|
|
theDiff: integer;
|
|
const
|
|
TX_OPTION = 'OR CPRS GUI CHART';
|
|
disclaimer = 'NOTE: Strictly relative indicator:';
|
|
begin
|
|
|
|
clientVer := clientVersion(Application.ExeName); // Obtain before starting.
|
|
|
|
// Check time lapse between a standard RPC call:
|
|
startTime := now;
|
|
serverVer := serverVersion(TX_OPTION, clientVer);
|
|
endTime := now;
|
|
theDiff := milliSecondsBetween(endTime, startTime);
|
|
diffDisplay := intToStr(theDiff);
|
|
|
|
// Show the results:
|
|
infoBox('Lapsed time (milliseconds) = ' + diffDisplay + '.', disclaimer, MB_OK);
|
|
|
|
end;
|
|
|
|
end.
|