xtool/contrib/mORMot/SQLite3/Samples/27 - CrossPlatform Clients/SmartMobileStudio/Form1.pas

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.