8
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
9
ComCtrls, ExtCtrls, LCLType, LCLProc, lazdeviceapis;
17
btnStartAccel: TButton;
18
btnStopAccel: TButton;
26
labelSensorData: TLabel;
27
procedure btnSendSMSClick(Sender: TObject);
28
procedure Button1Click(Sender: TObject);
29
procedure btnStartAccelClick(Sender: TObject);
30
procedure btnStopAccelClick(Sender: TObject);
31
procedure btnGetPosClick(Sender: TObject);
32
procedure textDestExit(Sender: TObject);
33
procedure textDestKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
34
procedure textDestKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
35
procedure textDestUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char);
37
{ private declarations }
39
{ public declarations }
40
procedure HandleAccelerometerChanged(Sender: TObject);
41
procedure HandlePositionRetrieved(Sender: TObject);
42
procedure HandleMessagingStatus(AMessage: TLazDeviceMessage;
43
AStatus: TLazMessagingStatus);
57
procedure TForm2.Button1Click(Sender: TObject);
62
procedure TForm2.btnSendSMSClick(Sender: TObject);
64
lMessage: TLazDeviceMessage;
66
Messaging.OnMessagingStatus := @HandleMessagingStatus;
67
lMessage := Messaging.CreateMessage();
68
lMessage.Body := textBody.Text;
69
lMessage.destinationAddress.Text := textDest.Text;
70
DebugLn('[TForm2.btnSendSMSClick] dest='+textDest.Text);
71
Messaging.SendMessage(lMessage);
74
procedure TForm2.btnStartAccelClick(Sender: TObject);
76
Accelerometer.OnSensorChanged := @HandleAccelerometerChanged;
77
Accelerometer.StartReadingAccelerometerData();
80
procedure TForm2.btnStopAccelClick(Sender: TObject);
82
Accelerometer.StopReadingAccelerometerData();
85
procedure TForm2.btnGetPosClick(Sender: TObject);
87
PositionInfo.RequestPositionInfo(pmGPS);
88
PositionInfo.OnPositionRetrieved := @HandlePositionRetrieved;
91
procedure TForm2.textDestExit(Sender: TObject);
93
DebugLn('[Edit1Exit]');
96
procedure TForm2.textDestKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
98
DebugLn('[Edit1KeyDown] Key=' + DbgsVKCode(Key));
101
procedure TForm2.textDestKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
103
DebugLn('[Edit1KeyUp] Key=' + DbgsVKCode(Key));
106
procedure TForm2.textDestUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char);
108
DebugLn('[Edit1UTF8KeyPress] Char=' + UTF8Key);
111
procedure TForm2.HandleAccelerometerChanged(Sender: TObject);
113
labelSensorData.Caption := Format('X=%f Y=%f Z=%f', [Accelerometer.xaxis,
114
Accelerometer.yaxis, Accelerometer.zaxis]);
115
DebugLn(labelSensorData.Caption);
118
procedure TForm2.HandlePositionRetrieved(Sender: TObject);
120
labelSensorData.Caption := Format('latitude=%f longitude=%f',
121
[PositionInfo.latitude, PositionInfo.longitude]);
122
DebugLn(labelSensorData.Caption);
125
procedure TForm2.HandleMessagingStatus(AMessage: TLazDeviceMessage;
126
AStatus: TLazMessagingStatus);
128
labelSensorData.Caption := '[HandleMessagingStatus] ' +
129
GetEnumName(TypeInfo(TLazMessagingStatus), integer(AStatus));
130
DebugLn(labelSensorData.Caption);