unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls, IPPeerClient, Data.Bind.Components,
Data.Bind.ObjectScope, REST.Client, REST.TMS.myCloudDataRestClient.Data,
REST.TMS.myCloudDataRestClient, FMX.TMS.myCloudDataRestClient, FMX.ScrollBox,
FMX.Memo;
type
TForm1 = class(TForm)
Button1: TButton;
FMXmyCloudDataRESTClient1: TFMXmyCloudDataRESTClient;
Button2: TButton;
Memo1: TMemo;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FMXmyCloudDataRESTClient1ConnectedStatusChanged(ASender: TObject;
const AConnected: Boolean);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
FGPSTable: TmyCloudDataTable;
procedure GetPositions;
public
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
//------------------------------------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
FMXmyCloudDataRESTClient1.PersistTokens.Location := plIniFile;
FMXmyCloudDataRESTClient1.PersistTokens.Section := 'test_section';
FMXmyCloudDataRESTClient1.PersistTokens.Key := 'test_key.ini';
FMXmyCloudDataRESTClient1.ClientId := '500f8b23e68793b8fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
FMXmyCloudDataRESTClient1.ClientSecret := '480f9106e8989ff9fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
end;
//------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Visible := False;
try
//MyCloudData.Connect;
FMXmyCloudDataRESTClient1.Connect; //Verbinding maken met de Cloud DataBase
except
//on E: Exception do
// ShowErrorMessage('Failed to connect', E);
ShowMessage('Inlog probleem ?');
end;
end;
//------------------------------------------------------------------------------
procedure TForm1.Button2Click(Sender: TObject);
begin
GetPositions;
end;
//zet je de waardes met SetValue gevolgd door Entities.Save
procedure TForm1.Button4Click(Sender: TObject);
var
LGPS: TmyCloudDataEntity;
begin
if FGPSTable <> nil then
begin
LGPS := FGPSTable.Entities.CreateEntity;
LGPS.SetValue('Name', 'This_is_me');
LGPS.SetValue('DateTime', Now);
LGPS.SetValue('Latitude', '123.12345');
LGPS.SetValue('Longitude', '123.12345');
FGPSTable.Entities.Save;
// GetPositions;
end;
end;
//------------------------------------------------------------------------------
//De code die in TForm2.FMXmyCloudDataRESTClient1ConnectedStatusChanged() staat
// maakt de database eventueel aan als die niet bestaat en zet de velden die nodig zijn.
//De FGPSTable.Query; haalt tevens alle aanwezige records online binnen om offline te kunnen zien.
procedure TForm1.FMXmyCloudDataRESTClient1ConnectedStatusChanged(
ASender: TObject; const AConnected: Boolean);
begin
ShowMessage('Test_1');
if AConnected then
begin
try
ShowMessage('Test_2');
FGPSTable := FMXmyCloudDataRESTClient1.Tables.GetOrCreateTable('GpsPosities');
FGPSTable.Fields.AddOrUpdate('Name', ftWideString, 50);
FGPSTable.Fields.AddOrUpdate('DateTime', ftDateTime);
FGPSTable.Fields.AddOrUpdate('Latitude', ftWideString, 20);
FGPSTable.Fields.AddOrUpdate('Longitude', ftWideString, 20);
FGPSTable.Fields.Save;
FGPSTable.Query; // Haalt alle aanwezige records online binnen om offline te kunnen zien.
// GetPositions;
except
on E: Exception do
begin
if FGPSTable <> nil then FGPSTable := nil;
ShowMessage('Failed to initialize contacts table ' + E.Message);
end;
end;
end;
end;
//------------------------------------------------------------------------------
procedure TForm1.GetPositions;
var
LGPS: TmyCloudDataEntity;
begin
if FGPSTable <> nil then
begin
Memo1.Lines.Clear;
for LGPS in FGPSTable.Entities do
begin
Memo1.Lines.Add(LGPS.GetValue('Name') + ' ' + DateTimeToStr(LGPS.GetValue('DateTime')));
Memo1.Lines.Add(LGPS.GetValue('Latitude')); // + ' ' + FloatToStr(LGPS.GetValue('123.456')));
Memo1.Lines.Add(LGPS.GetValue('Longitude')); // + ' ' + FloatToStr(LGPS.GetValue('LOG')));
end;
end;
end;
//------------------------------------------------------------------------------
end.
Bookmarks