source upload

This commit is contained in:
Razor12911
2022-01-17 22:16:47 +02:00
parent 12936d065b
commit 098e8c48de
1778 changed files with 1206749 additions and 0 deletions

View File

@@ -0,0 +1,113 @@
unit LoginForm;
interface
uses
SmartCL.System, SmartCL.Graphics, SmartCL.Components, SmartCL.Forms,
SmartCL.Fonts, SmartCL.Borders, SmartCL.Application,
SynCrossPlatformREST, SmartTests,
SmartCL.Controls.Label, SmartCL.Controls.Editbox, SmartCL.Controls.Panel,
SmartCL.Controls.Button, w3c.date;
type
TLoginForm=class(TW3form)
procedure W3Button1Click(Sender: TObject);
procedure ConnectClick(Sender: TObject);
private
{$I 'LoginForm:intf'}
protected
procedure InitializeForm; override;
procedure InitializeObject; override;
procedure Resize; override;
end;
implementation
uses
mORMotClient; // unit generated by the server!
{ TLoginForm }
procedure TLoginForm.InitializeForm;
begin
inherited;
// this is a good place to initialize components
end;
procedure TLoginForm.InitializeObject;
begin
inherited;
{$I 'LoginForm:impl'}
LogonPassword.InputType := itPassword;
end;
procedure TLoginForm.ConnectClick(Sender: TObject);
var model: TSQLModel;
begin
BrowserAPI.console.time('ORM');
writeln('Creating Data Model');
model := GetModel;
model.GetTableIndexExisting(TSQLRecordPeople);
var people := new TSQLRecordPeople;
var s := model.InfoExisting(people.RecordClass).ToJSONAdd(nil,people,true,'');
assert(s='{"RowID":0,"FirstName":"","LastName":"","YearOfBirth":0,"YearOfDeath":0,'+
'"Sexe":0,"Simple":{"F":"","G":[],"H":{"H1":0,"H2":"","H3":{"H3a":false,"H3b":null}},"I":"","J":[]}}');
s := '{"RowID":10,"FirstName":"ab\"c","LastName":"def","YearOfBirth":20,"YearOfDeath":30,'+
'"Sexe":1,"Simple":{"F":"","G":[],"H":{"H1":0,"H2":"","H3":{"H3a":false,"H3b":null}},"I":"","J":['+
'{"J1":1,"J2":"","J3":"reLast"}]}}';
assert(people.FromJSON(s));
assert(people.ID=10);
assert(people.FirstName='ab"c');
assert(people.LastName='def');
assert(people.YearOfBirth=20);
assert(people.YearOfDeath=30);
assert(people.Sexe=sMale);
assert(people.Simple.J.Count=1);
assert(people.Simple.J[0].J1=1);
assert(people.Simple.J[0].J3=reLast);
writeln('Connecting to the server at '+ServerAddress.Text+':888');
GetClient(ServerAddress.Text,LogonName.Text,LogonPassword.Text,
lambda(client)
client.LogToRemoteServer(LOG_VERBOSE,'localhost');
writeln('Safely connected with SessionID='+IntToStr(client.Authentication.SessionID));
people := TSQLRecordPeople.Create(client,1);
assert(people.ID=1);
writeln(people.ToJSON(client.Model,'*'));
writeln('Testing remote CRUD methods');
ORMTest(client);
BrowserAPI.console.timeEnd('ORM');
BrowserAPI.console.time('SOA');
writeln('Testing SOA remote access');
SOATest(client,
lambda
writeln('Disconnect from server');
client.Free;
BrowserAPI.console.timeEnd('SOA');
end,
lambda
writeln('ERROR!');
writeln('Disconnect from server');
client.Free;
BrowserAPI.console.timeEnd('SOA');
end);
end,
lambda
ShowMessage('Impossible to connect to the server');
writeln('ERROR at GetClient');
BrowserAPI.console.timeEnd('ORM');
end);
end;
procedure TLoginForm.W3Button1Click(Sender: TObject);
begin
BrowserAPI.console.time('LowLevel');
TestSMS;
BrowserAPI.console.timeEnd('LowLevel');
end;
procedure TLoginForm.Resize;
begin
inherited;
end;
end.