93 lines
2.2 KiB
ObjectPascal
93 lines
2.2 KiB
ObjectPascal
unit Form1;
|
|
|
|
interface
|
|
|
|
uses
|
|
SmartCL.System, SmartCL.Graphics, SmartCL.Components, SmartCL.Forms,
|
|
SmartCL.Fonts, SmartCL.Borders, SmartCL.Application, SmartCL.Controls.Panel,
|
|
SmartCL.Controls.Label, SmartCL.Controls.EditBox, SmartCL.Controls.Button,
|
|
SynCrossPlatformREST, mORMotClient;
|
|
|
|
type
|
|
TForm1 = class(TW3Form)
|
|
procedure BtnComputeSynchClick(Sender: TObject);
|
|
procedure BtnComputeAsynchClick(Sender: TObject);
|
|
procedure BtnConnectClick(Sender: TObject);
|
|
private
|
|
{$I 'Form1:intf'}
|
|
protected
|
|
Client: TSQLRestClientURI;
|
|
procedure InitializeForm; override;
|
|
procedure InitializeObject; override;
|
|
procedure Resize; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.BtnConnectClick(Sender: TObject);
|
|
begin
|
|
if Client=nil then
|
|
GetClient('127.0.0.1','User','synopse',
|
|
lambda (aClient: TSQLRestClientURI)
|
|
PanelCompute.Visible := true;
|
|
W3Label1.Visible := true;
|
|
W3Label2.Visible := true;
|
|
LabelConnect.Caption := '';
|
|
BtnConnect.Caption := 'Disconnect';
|
|
LabelResult.Caption := '';
|
|
Client := aClient;
|
|
end,
|
|
lambda
|
|
ShowMessage('Impossible to connect to the server!');
|
|
end)
|
|
else begin
|
|
PanelCompute.Visible := false;
|
|
BtnConnect.Caption := 'Server Connect';
|
|
Client.Free;
|
|
Client := nil;
|
|
end;
|
|
end;
|
|
|
|
procedure TForm1.BtnComputeAsynchClick(Sender: TObject);
|
|
begin
|
|
TServiceCalculator.Create(Client).Add(
|
|
StrToInt(EditA.Text),StrToInt(EditB.Text),
|
|
lambda (res: integer)
|
|
LabelResult.Caption := format('Result = %d',[res]);
|
|
end,
|
|
lambda
|
|
ShowMessage('Error calling the method!');
|
|
end);
|
|
end;
|
|
|
|
procedure TForm1.BtnComputeSynchClick(Sender: TObject);
|
|
begin
|
|
LabelResult.Caption := format('Result = %d',
|
|
[TServiceCalculator.Create(Client)._Add(
|
|
StrToInt(EditA.Text),StrToInt(EditB.Text))]);
|
|
end;
|
|
|
|
procedure TForm1.InitializeForm;
|
|
begin
|
|
inherited;
|
|
// this is a good place to initialize components
|
|
EditA.InputType := itNumber;
|
|
EditB.InputType := itNumber;
|
|
end;
|
|
|
|
procedure TForm1.InitializeObject;
|
|
begin
|
|
inherited;
|
|
{$I 'Form1:impl'}
|
|
end;
|
|
|
|
procedure TForm1.Resize;
|
|
begin
|
|
inherited;
|
|
end;
|
|
|
|
initialization
|
|
Forms.RegisterForm({$I %FILE%}, TForm1);
|
|
end. |