mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-09 19:48:07 +02:00
163 lines
4.2 KiB
ObjectPascal
163 lines
4.2 KiB
ObjectPascal
unit secondform;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
{$ifdef Linux}{$ifdef CPUARM}
|
|
{$define Android}
|
|
{$endif}{$endif}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
|
ComCtrls, ExtCtrls, LCLType, LCLProc, lazdeviceapis;
|
|
|
|
type
|
|
|
|
{ TForm2 }
|
|
|
|
TForm2 = class(TForm)
|
|
Button1: TButton;
|
|
btnStartAccel: TButton;
|
|
btnStopAccel: TButton;
|
|
btnGetPos: TButton;
|
|
btnSendSMS: TButton;
|
|
Button2: TButton;
|
|
Button3: TButton;
|
|
textDest: TEdit;
|
|
textBody: TEdit;
|
|
Image1: TImage;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
labelSensorData: TLabel;
|
|
procedure btnSendSMSClick(Sender: TObject);
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure btnStartAccelClick(Sender: TObject);
|
|
procedure btnStopAccelClick(Sender: TObject);
|
|
procedure btnGetPosClick(Sender: TObject);
|
|
procedure Button2Click(Sender: TObject);
|
|
procedure Button3Click(Sender: TObject);
|
|
procedure textDestExit(Sender: TObject);
|
|
procedure textDestKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
|
procedure textDestKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
|
|
procedure textDestUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char);
|
|
private
|
|
{ private declarations }
|
|
public
|
|
{ public declarations }
|
|
procedure HandleAccelerometerChanged(Sender: TObject);
|
|
procedure HandlePositionRetrieved(Sender: TObject);
|
|
procedure HandleMessagingStatus(AMessage: TLazDeviceMessage;
|
|
AStatus: TLazMessagingStatus);
|
|
end;
|
|
|
|
var
|
|
Form2: TForm2;
|
|
|
|
implementation
|
|
|
|
uses
|
|
{$ifdef LCLCustomDrawn}
|
|
customdrawnint,
|
|
{$endif}
|
|
TypInfo, mainform;
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TForm2 }
|
|
|
|
procedure TForm2.Button1Click(Sender: TObject);
|
|
begin
|
|
Hide;
|
|
end;
|
|
|
|
procedure TForm2.btnSendSMSClick(Sender: TObject);
|
|
var
|
|
lMessage: TLazDeviceMessage;
|
|
begin
|
|
Messaging.OnMessagingStatus := @HandleMessagingStatus;
|
|
lMessage := Messaging.CreateMessage();
|
|
lMessage.Body := textBody.Text;
|
|
lMessage.destinationAddress.Text := textDest.Text;
|
|
DebugLn('[TForm2.btnSendSMSClick] dest='+textDest.Text);
|
|
Messaging.SendMessage(lMessage);
|
|
end;
|
|
|
|
procedure TForm2.btnStartAccelClick(Sender: TObject);
|
|
begin
|
|
Accelerometer.OnSensorChanged := @HandleAccelerometerChanged;
|
|
Accelerometer.StartReadingAccelerometerData();
|
|
end;
|
|
|
|
procedure TForm2.btnStopAccelClick(Sender: TObject);
|
|
begin
|
|
Accelerometer.StopReadingAccelerometerData();
|
|
end;
|
|
|
|
procedure TForm2.btnGetPosClick(Sender: TObject);
|
|
begin
|
|
PositionInfo.RequestPositionInfo(pmGPS);
|
|
PositionInfo.OnPositionRetrieved := @HandlePositionRetrieved;
|
|
end;
|
|
|
|
procedure TForm2.Button2Click(Sender: TObject);
|
|
var
|
|
lStr: string;
|
|
begin
|
|
lStr := Form1.LoadHTMLPageViaJNI('http://magnifier.sourceforge.net/');
|
|
end;
|
|
|
|
procedure TForm2.Button3Click(Sender: TObject);
|
|
begin
|
|
{$ifdef Android}
|
|
CDWidgetSet.ShowListViewDialog('Dialog Title',
|
|
['Title1', 'Title2', 'Title3', 'Title4', 'Title5', 'Title6'],
|
|
['Descr1', 'Descr2', 'Descr3', 'Descr4', 'Descr5', 'Descr6']);
|
|
{$endif}
|
|
end;
|
|
|
|
procedure TForm2.textDestExit(Sender: TObject);
|
|
begin
|
|
DebugLn('[Edit1Exit]');
|
|
end;
|
|
|
|
procedure TForm2.textDestKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
|
begin
|
|
DebugLn('[Edit1KeyDown] Key=' + DbgsVKCode(Key));
|
|
end;
|
|
|
|
procedure TForm2.textDestKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
|
|
begin
|
|
DebugLn('[Edit1KeyUp] Key=' + DbgsVKCode(Key));
|
|
end;
|
|
|
|
procedure TForm2.textDestUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char);
|
|
begin
|
|
DebugLn('[Edit1UTF8KeyPress] Char=' + UTF8Key);
|
|
end;
|
|
|
|
procedure TForm2.HandleAccelerometerChanged(Sender: TObject);
|
|
begin
|
|
labelSensorData.Caption := Format('X=%f Y=%f Z=%f', [Accelerometer.xaxis,
|
|
Accelerometer.yaxis, Accelerometer.zaxis]);
|
|
DebugLn(labelSensorData.Caption);
|
|
end;
|
|
|
|
procedure TForm2.HandlePositionRetrieved(Sender: TObject);
|
|
begin
|
|
labelSensorData.Caption := Format('latitude=%f longitude=%f',
|
|
[PositionInfo.latitude, PositionInfo.longitude]);
|
|
DebugLn(labelSensorData.Caption);
|
|
end;
|
|
|
|
procedure TForm2.HandleMessagingStatus(AMessage: TLazDeviceMessage;
|
|
AStatus: TLazMessagingStatus);
|
|
begin
|
|
labelSensorData.Caption := '[HandleMessagingStatus] ' +
|
|
GetEnumName(TypeInfo(TLazMessagingStatus), integer(AStatus));
|
|
DebugLn(labelSensorData.Caption);
|
|
end;
|
|
|
|
end.
|
|
|