定位精靈
# PinToo之定位精靈
# 1. 說明
範例是車輛定位系統的司機端,司機可用其作為運輸任務的接收端,並且將可以實時彙報運輸途中遇到的情況,方便排程人員進行檢視。該範例需與Smart之定位精靈配合使用
範例使用到資料庫PinToo_Map
,其數據表樣式可由以下SQL進行匯入產生。該範例與Smart之定位精靈共用一個資料庫。
USE [master]
GO
--建立資料庫,名稱為PinToo_Map
CREATE DATABASE [PinToo_Map]
ALTER DATABASE [PinToo_Map] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [PinToo_Map].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [PinToo_Map] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [PinToo_Map] SET ANSI_NULLS OFF
GO
ALTER DATABASE [PinToo_Map] SET ANSI_PADDING OFF
GO
ALTER DATABASE [PinToo_Map] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [PinToo_Map] SET ARITHABORT OFF
GO
ALTER DATABASE [PinToo_Map] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [PinToo_Map] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [PinToo_Map] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [PinToo_Map] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [PinToo_Map] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [PinToo_Map] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [PinToo_Map] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [PinToo_Map] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [PinToo_Map] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [PinToo_Map] SET DISABLE_BROKER
GO
ALTER DATABASE [PinToo_Map] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [PinToo_Map] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [PinToo_Map] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [PinToo_Map] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [PinToo_Map] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [PinToo_Map] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [PinToo_Map] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [PinToo_Map] SET RECOVERY FULL
GO
ALTER DATABASE [PinToo_Map] SET MULTI_USER
GO
ALTER DATABASE [PinToo_Map] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [PinToo_Map] SET DB_CHAINING OFF
GO
EXEC sys.sp_db_vardecimal_storage_format N'PinToo_Map', N'ON'
GO
USE [PinToo_Map]
GO
/****** Object: Table [dbo].[BillNo]******/
--任務單流水號定義表,用於儲存定義產生的任務單的編號格式
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[BillNo](
[BillID] [int] NOT NULL,
[BillName] [nvarchar](50) NULL,
[BefStr] [nvarchar](50) NULL,
[DateFormat] [nvarchar](50) NULL,
[Length] [int] NULL,
CONSTRAINT [PK_Dict_BillNo] PRIMARY KEY CLUSTERED
(
[BillID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Car]******/
--車輛基本資訊表
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Car](
[CarNumber] [varchar](50) NOT NULL,
[CarName] [varchar](50) NULL,
[Weight] [float] NULL,
[Driver] [varchar](30) NULL,
[MaintenanceCycle] [int] NULL,
[MaintenanceDate] [datetime] NULL,
[LastMaintenanceDate] [datetime] NULL,
CONSTRAINT [PK_CarInfo] PRIMARY KEY CLUSTERED
(
[CarNumber] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[CurrentBillNo] Script Date: 2020-08-29 16:20:28 ******/
--單據編號記錄表,用於輔助單據號的產生
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CurrentBillNo](
[BillID] [int] NOT NULL,
[BefString] [nvarchar](50) NULL,
[CurrentNo] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Employee]******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Employee](
[EmpID] [varchar](50) NOT NULL,
[Employee] [varchar](50) NULL,
[CarNumber] [nvarchar](50) NULL,
[Position] [nvarchar](50) NULL,
[TelPhone] [nvarchar](50) NULL,
[Note] [nvarchar](50) NULL,
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
(
[EmpID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Location]******/
--定位資訊表,儲存採集的定位資訊
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Location](
[LocationID] [varchar](50) NOT NULL,
[Employee] [varchar](50) NULL,
[CarNumber] [varchar](50) NULL,
[Longitude] [varchar](50) NULL,
[Latitude] [varchar](50) NULL,
[Accuracy] [float] NULL,
[Speed] [float] NULL,
[Speedhour] [float] NULL,
[Country] [varchar](50) NULL,
[Province] [varchar](50) NULL,
[City] [varchar](50) NULL,
[District] [varchar](50) NULL,
[Address] [varchar](100) NULL,
[LocationTime] [varchar](50) NULL,
[TaskNo] [varchar](50) NULL,
CONSTRAINT [PK_Location] PRIMARY KEY CLUSTERED
(
[LocationID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Task]******/
--任務表主表,用於記錄任務單
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Task](
[TaskId] [varchar](50) NOT NULL,
[TaskNo] [varchar](50) NULL,
[Date] [datetime] NULL,
[Employee] [varchar](50) NULL,
[CarNumber] [varchar](50) NULL,
[Leavetime] [datetime] NULL,
[Returntime] [datetime] NULL,
[Creator] [varchar](50) NULL,
[TotalMileage] [float] NULL,
[Status] [int] NULL,
[Start] [int] NULL,
[Note] [varchar](200) NULL,
[Report] [varchar](200) NULL,
[Picture] [image] NULL,
CONSTRAINT [PK_Task] PRIMARY KEY CLUSTERED
(
[TaskId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[TaskDetail]******/
--任務明細表,用於記錄運輸的物品資訊
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TaskDetail](
[TaskId] [varchar](50) NOT NULL,
[TaskNo] [varchar](50) NOT NULL,
[OrderNo] [int] NOT NULL,
[BillNo] [varchar](50) NULL,
[BillName] [varchar](50) NULL,
[Mileage] [float] NULL,
[Arrivaltime] [datetime] NULL,
[Leavetime] [datetime] NULL,
[Status] [int] NULL,
[Longitude] [varchar](50) NULL,
[Latitude] [varchar](50) NULL,
[Address] [varchar](100) NULL,
[Customer] [varchar](100) NULL,
CONSTRAINT [PK_TaskDetail] PRIMARY KEY CLUSTERED
(
[TaskId] ASC,
[TaskNo] ASC,
[OrderNo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Task] ADD CONSTRAINT [DF_Task_Start] DEFAULT ((0)) FOR [Start]
GO
/****** Object: StoredProcedure [dbo].[sp_GetBillNo] ******/
--預存程序,用於獲取單據號
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[sp_GetBillNo]
@BillID varchar(20),
@Date datetime, --日期,為空時,取目前日期
@Preview int --1.預覽顯示; 0.正式獲取,更新順序號
AS
declare @rDate datetime
if @Date is null
select @rDate = getdate()
else
select @rDate = @Date
declare @BefString varchar(20)
declare @BefStr varchar(10),
@DateFmt varchar(10),
@Length int
declare @DateStr varchar(10)
select @BefStr = isnull(BefStr, ''), @DateFmt = DateFormat, @Length = Length from BillNo where BillID = @BillID
declare @y int, @m int, @d int
select @y = Year(@rDate), @m = Month(@rDate), @d = Day(@rDate)
if @DateFmt = 'YY'
select @DateStr = RIGHT(cast(@y as varchar(4)), 2)
else if @DateFmt = 'YYYY'
select @DateStr = cast(@y as varchar(4))
else if @DateFmt = 'YYMM'
select @DateStr = RIGHT(cast(@y as varchar(4)), 2)
+ RIGHT('00' + cast(@m as varchar(2)), 2)
else if @DateFmt = 'YYYYMM'
select @DateStr = cast(@y as varchar(4))
+ RIGHT('00' + cast(@m as varchar(2)), 2)
else if @DateFmt = 'YYMMDD'
select @DateStr = RIGHT(cast(@y as varchar(4)), 2)
+ RIGHT('00' + cast(@m as varchar(2)), 2)
+ RIGHT('00' + cast(@d as varchar(2)), 2)
else if @DateFmt = 'YYYYMMDD'
select @DateStr = cast(@y as varchar(4))
+ RIGHT('00' + cast(@m as varchar(2)), 2)
+ RIGHT('00' + cast(@d as varchar(2)), 2)
else
select @DateStr = ''
select @BefString = @BefStr + @DateStr
declare @CurrentNo int
select @CurrentNo = CurrentNo from CurrentBillNO where BillID = @BillID and BefString = @BefString
if @Preview = 0 and @BillID <> 0
begin
begin tran
if @CurrentNo is null
begin
insert into CurrentBillNO(BillID, BefString, CurrentNo)
values(@BillID, @BefString, 2)
select @CurrentNo = 1
end
else
update CurrentBillNo set CurrentNo = CurrentNo + 1 where BillID = @BillID and BefString = @BefString
commit tran
end
else
begin
if @CurrentNo is null
select @CurrentNo = 1
end
select FBillNO = isnull(@BefString + Right('0000000000' + cast(@currentNo as varchar(10)), @Length),'')
GO
/****** Object: StoredProcedure [dbo].[sp_GetTask] Script Date: 2020-08-29 16:20:28 ******/
--預存程序,向其他系統獲取出庫數據,用於產生送貨任務單
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_GetTask]
@Date1 datetime,
@Date2 datetime,
@TaskNo varchar(50)
AS
BEGIN
SELECT
FDate
,FBillNo
,FBillName
,FCustName
,FEmpName
,Sum(FOutQtyPiece) as FQtyPiece
,Max(FUnitPiece) as FUnitPiece
,Sum(FOutQty) as FQty
,Max(FUnitName) as FUnitName
,'' as FAddress
FROM [FastERP].[dbo].[V_CLStockDetail]
where FBillID = 17020032
Group By
FDate
,FBillNo
,FBillName
,FCustName
,FEmpName
Order by FDate desc
END
GO
USE [master]
GO
ALTER DATABASE [PinToo_Map] SET READ_WRITE
GO
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
在登錄PinToo前設定連線,參考如下。
將範例中的定位精靈.sdb
檔案複製到PinTooDesign的目錄下,並將其重新命名為PinToo.sdb
,覆蓋原有的檔案。
開啟PinToo設計器,點選登錄后檢視對應模板。
# 2. 定位精靈主頁
該頁面顯示功能表專案,包含[任務模式]
與[管理模式]
按鈕。
# 2.1. 設計明細
①:TfxSuperButton元件,控制元件名稱為btDriver
。
②:TfxImage元件,控制元件名稱為fxImage1
。
③:TfxSuperButton元件,控制元件名稱為btAdmin
。
fxRunFrame屬性設定
Height
:設定頁面高度=480
。Width
:設定頁面寬度=320
。
①btDriver屬性設定
Height
:設定控制元件高度=155
。Width
:設定控制元件寬度=165
。Name
:設定控制元件名稱為btDriver
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M113.541870117188,76.3847808837891 C117.700035095215,77.9353713989258 121.429809570313,80.0354156494141 125.192161560059,82.8385543823242 C136.02294921875,90.903434753418 156.981353759766,120.31324005127 156.981353759766,131.139343261719 C156.981353759766,141.965438842773 146.350769042969,152 146.350769042969,152 L141.023895263672,152 L141.023895263672,151.958068847656 L131.911315917969,151.958068847656 C129.806640625,130.78076171875 114.393989562988,113.51488494873 94.1572875976563,108.64429473877 L113.541870117188,76.3847808837891 Z M102.74836730957,73.6840744018555 C97.1513671875,72.8412704467773 90.6044769287109,72.5106658935547 82.5023498535156,72.5106658935547 C61.1760482788086,72.5106658935547 50.96923828125,74.2475051879883 40.0267105102539,82.8385543823242 C29.0841751098633,91.4342727661133 8.01864624023438,119.824310302734 8.01864624023438,131.008972167969 C8.01864624023438,141.77458190918 17.7737998962402,151.268905639648 18.4955368041992,151.962738037109 L33.093334197998,151.962738037109 C35.5845108032227,126.864753723145 56.7524909973145,107.270652770996 82.4976806640625,107.270652770996 L82.5675582885742,107.270652770996 L102.74836730957,73.688720703125 Z M53.120491027832,151.962738037109 C55.8709716796875,135.735580444336 71.2553482055664,124.810577392578 87.4825134277344,127.561050415039 C99.9775390625,129.678955078125 109.766311645508,139.467727661133 111.884170532227,151.962738037109 L53.120491027832,151.962738037109 Z M87.4660720825195,62.587890625 C103.92081451416,62.587890625 117.26000213623,49.2486877441406 117.26000213623,32.7939453125 C117.26000213623,16.3392028808594 103.92081451416,3.00000190734863 87.4660720825195,3 C71.0113372802734,3 57.6721305847168,16.3392028808594 57.6721305847168,32.7939453125 C57.6721305847168,49.2486877441406 71.0113372802734,62.587890625 87.4660720825195,62.587890625 Z" p-id="13214" fill="#FFFF5241" stroke="Null"></path>
1③btAdmin屬性設定
Height
:設定控制元件高度=155
。Width
:設定控制元件寬度=165
。Name
:設定控制元件名稱為btAdmin
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M121.898513793945,94.7254333496094 C123.448829650879,92.916748046875 123.1904296875,90.1606979370117 121.381782531738,88.6965255737305 C114.319313049316,82.8398742675781 106.137245178223,78.447395324707 97.4384231567383,75.7774429321289 C108.807228088379,68.8872756958008 116.472496032715,56.3988418579102 116.472496032715,42.1878662109375 C116.472496032715,20.5699443817139 98.9025955200195,3 77.2846527099609,3 C55.6667404174805,3 38.0968055725098,20.5699443817139 38.0968055725098,42.1878662109375 C38.0968055725098,56.3988418579102 45.7621116638184,68.8872756958008 57.1309127807617,75.7774429321289 C28.9673175811768,84.3901519775391 8.3829345703125,110.65894317627 8.3829345703125,141.664733886719 C8.3829345703125,144.076278686523 10.277735710144,145.971084594727 12.6892967224121,145.971084594727 C15.10085105896,145.971084594727 16.9956436157227,144.076278686523 16.9956436157227,141.664733886719 C16.9956436157227,108.419631958008 44.0395812988281,81.375732421875 77.2846527099609,81.375732421875 C91.3233871459961,81.375732421875 105.017593383789,86.2849655151367 115.86962890625,95.3283157348633 C117.592163085938,96.7924652099609 120.348251342773,96.6202239990234 121.898513793945,94.7254333496094 Z M46.7095336914063,42.1878662109375 C46.7095336914063,25.3069324493408 60.4037437438965,11.6127147674561 77.2846527099609,11.6127147674561 C94.1655960083008,11.6127147674561 107.859794616699,25.3069324493408 107.859794616699,42.1878662109375 C107.859794616699,59.0687713623047 94.1655654907227,72.7630081176758 77.2846527099609,72.7630081176758 C60.4037437438965,72.7630081176758 46.7095336914063,59.0687713623047 46.7095336914063,42.1878662109375 Z M141.793884277344,122.630638122559 L141.793884277344,117.807502746582 C141.793884277344,109.108680725098 134.989837646484,101.960105895996 126.721641540527,101.960105895996 L124.310127258301,101.960105895996 C115.955772399902,101.960105895996 109.237854003906,109.108680725098 109.237854003906,117.807502746582 L109.237854003906,122.630638122559 C106.567893981934,123.061264038086 104.500854492188,125.300575256348 104.500854492188,128.142761230469 L104.500854492188,146.401748657227 C104.500854492188,149.502319335938 106.998542785645,152 110.099105834961,152 L141.018768310547,152 C144.119354248047,152 146.617065429688,149.502304077148 146.617065429688,146.401702880859 L146.617065429688,128.142761230469 C146.530944824219,125.300575256348 144.463836669922,122.975135803223 141.7939453125,122.630638122559 Z M124.310127258301,108.850288391113 L126.721641540527,108.850288391113 C131.200256347656,108.850288391113 134.903747558594,112.89826965332 134.903747558594,117.807502746582 L134.903747558594,122.544494628906 L116.12801361084,122.544494628906 L116.12801361084,117.807502746582 C116.12801361084,112.898254394531 119.831474304199,108.850288391113 124.310127258301,108.850288391113 Z M139.640716552734,145.023681640625 L111.39102935791,145.023681640625 L111.39102935791,129.434661865234 L139.640716552734,129.434661865234 L139.640716552734,145.023681640625 Z" p-id="5373" fill="#FFF4A130" stroke="Null"></path>
1
# 2.2. 程式設計
點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式需要引用ufxVirtualForm
單元。
# 2.2.1. 程式初始設定
該程式無初始設定。
# 2.2.2. 事件設定
- ①btDriver-OnClick事件
點選[任務模式]
,打開任務管理界面。
Procedure btDriverOnClick(Sender: TObject);
Begin
fxOpenFrameToPage('Home_Task');
End;
2
3
4
- ③btAdmin-OnClick事件
點選[管理模式]
,打開管理員界面。
Procedure btAdminOnClick(Sender: TObject);
Begin
fxOpenFrameToPage('Home_Admin');
End;
2
3
4
# 3. 任務模式
該界面中顯示已登錄使用者的界面,包括派遣任務,情況彙報,修改密碼等功能。
# 3.1. 設計明細
①:TfxSuperButton元件,控制元件名稱為btSetUserPass
。
②:TfxSuperButton元件,控制元件名稱為btWorktask
。
③:TfxSuperButton元件,控制元件名稱為btStatusReport
。
④:TfxListBox元件,控制元件名稱為fxListBox1
。
fxRunFrame屬性設定
Height
:設定頁面高度=480
。Width
:設定頁面寬度=320
。
④fxListBox1屬性設定
Align
:設定對齊方式為HorzCenter
。Columns
:設定顯示的區域的列的數目=3
。 雙擊該控制元件,新增專案。
①btSetUserPass屬性設定
- 該控制元件位於
fxListBox1
的ListBoxItem1
中。 Height
:設定控制元件高度=94
。Width
:設定控制元件寬度=94
。Name
:設定控制元件名稱為btSetUserPass
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定按鈕顯示的文字內容=修改密碼
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M53.0557670593262,49.83984375 M45.3484268188477,49.83984375 C45.3469619750977,54.0971183776855 48.7964630126953,57.548999786377 53.0531044006348,57.5504722595215 C57.3125,57.5519409179688 60.7655258178711,54.0981559753418 60.7631072998047,49.8387565612793 C60.7631072998047,45.582103729248 57.3124237060547,42.1314163208008 53.0557670593262,42.1314163208008 C48.7991180419922,42.1314163208008 45.3484268188477,45.582103729248 45.3484268188477,49.8387565612793 Z" p-id="6714" fill="#FFBAD4FF" stroke="Null"></path> <path d="M47,70.759765625 C29.9337463378906,70.759765625 15.6201171875,56.4461364746094 15.6201171875,39.3798828125 C15.6201171875,22.3136329650879 29.9337463378906,8 47,8 C64.0662536621094,8 78.3798828125,22.3136310577393 78.3798828125,39.3798828125 C78.3798828125,56.4461364746094 64.0662536621094,70.759765625 47,70.759765625 Z M47,11.8536682128906 C32.1358451843262,11.8536682128906 19.4737854003906,24.5157299041748 19.4737854003906,39.3798828125 C19.4737854003906,54.2440414428711 31.585319519043,66.9060974121094 47,66.9060974121094 C62.4146881103516,66.9060974121094 74.5262145996094,54.7945671081543 74.5262145996094,39.3798828125 C74.5262145996094,24.5157299041748 61.8641586303711,11.8536682128906 47,11.8536682128906 Z M53.0557670593262,59.1987571716309 C50.8536720275879,59.1987571716309 48.1010513305664,58.6482276916504 47,56.4461364746094 C43.6968536376953,53.1429862976074 43.1463317871094,47.6377410888672 46.4494781494141,44.334602355957 L29.3832206726074,26.7178249359131 L35.4389877319336,20.6620559692383 C41.4947547912598,14.6062908172607 35.9895095825195,20.1115341186523 36.5400390625,20.1115341186523 C37.0905609130859,20.1115341186523 37.6410827636719,20.6620559692383 38.1916122436523,20.6620559692383 C38.7421340942383,21.2125816345215 39.2926559448242,21.7631034851074 39.2926559448242,22.3136310577393 C39.2926559448242,22.8641548156738 38.7421340942383,23.4146785736084 38.7421340942383,23.9652042388916 L35.4389877319336,26.7178268432617 L38.7421340942383,30.0209732055664 L41.4947547912598,26.7178268432617 C42.045280456543,26.7178268432617 42.045280456543,26.1673030853271 43.1463279724121,26.1673030853271 C44.2473793029785,26.1673030853271 44.2473754882813,26.7178268432617 44.7979011535645,26.7178268432617 L44.7979011535645,28.3694000244141 C44.7979011535645,28.9199275970459 44.2473793029785,29.4704475402832 44.2473793029785,30.0209732055664 L40.9442291259766,33.3241195678711 L49.2020988464355,41.5819854736328 C50.303150177002,41.0314598083496 51.954719543457,41.0314598083496 53.0557670593262,41.0314598083496 C55.2578659057617,41.0314598083496 58.0104827880859,41.5819854736328 59.6620483398438,43.7840766906738 C61.8641586303711,45.4356536865234 62.4146881103516,47.6377487182617 62.4146881103516,49.8398513793945 C62.4146881103516,52.0419464111328 61.8641586303711,54.7945671081543 59.6620483398438,56.4461364746094 C58.5610122680664,58.0977096557617 55.8083839416504,59.1987609863281 53.0557670593262,59.1987609863281 Z M53.0557670593262,44.334602355957 C51.4041938781738,44.334602355957 50.303150177002,44.8851280212402 49.2020988464355,45.9861755371094 C47,48.1882667541504 47,51.4914169311523 49.2020988464355,53.6935081481934 C50.8536720275879,54.2440414428711 51.954719543457,55.3450889587402 53.0557670593262,55.3450889587402 C54.7073440551758,55.3450889587402 55.8083839416504,54.794563293457 56.9094390869141,53.6935081481934 C59.1115341186523,51.4914169311523 59.1115341186523,48.1882667541504 56.9094390869141,45.9861755371094 C55.8083839416504,44.8851280212402 54.7073440551758,44.334602355957 53.0557670593262,44.334602355957 Z" p-id="6715" fill="#FF4E8CEE" stroke="Null"></path>
1
2- 該控制元件位於
②btWorkTask屬性設定
- 該控制元件位於
fxListBox1
的ListBoxItem2
中。 Height
:設定控制元件高度=94
。Width
:設定控制元件寬度=94
。Name
:設定控制元件名稱為btWorkTask
。ButtonType
:設定按鈕型別,設定為TfxImageButton
。ButtonType.Text
:設定按鈕顯示的文字內容=派遣任務
。ButtonType.Bitmap
:設定顯示的影象,雙擊該屬性或者點選屬性右側的[...]
打開影象編輯器。點選[Load...]
打開資源管理器,選擇所需的圖片後點擊[打開]
,選擇的影象會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影象與控制元件的寬度高度相適應,修改完成後點選[OK]
按鈕完成影象修改。
- 該控制元件位於
③btStatusReport屬性設定
- 該控制元件位於
fxListBox1
的ListBoxItem4
中。 Height
:設定控制元件高度=94
。Width
:設定控制元件寬度=94
。Name
:設定控制元件名稱為btStatusReport
。ButtonType
:設定按鈕型別,設定為TfxImageButton
。ButtonType.Text
:設定按鈕顯示的文字內容=情況彙報
。ButtonType.Bitmap
:設定顯示的影象,雙擊該屬性或者點選屬性右側的[...]
打開影象編輯器。點選[Load...]
打開資源管理器,選擇所需的圖片後點擊[打開]
,選擇的影象會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影象與控制元件的寬度高度相適應,修改完成後點選[OK]
按鈕完成影象修改。
- 該控制元件位於
tmrWorkTask屬性設定
- 該控制元件對應的元件為TfxTimer。
Enabled
:是否啟用計時器,設定為False
。Interval
:設定時間間隔=10000
。Name
:設定控制元件名稱為tmrWorkTask
。
# 3.2. 程式設計
點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式需要引用AMap
,AMapNavi
,AMapView
,TARSCompClient
單元。
# 3.2.1. 程式初始設定
設定全域性變數。
var
vLocation:TfxRFDataSet;
vLocationTime:string;
2
3
選擇員工的子程式。
Procedure SelectDiver;
var
iCds:TfxRFDataSet;
i:integer;
iList: TStringList;
begin
iList:=TStringList.Create;
iCds:=TfxRFDataSet.Create(Nil);
try
fxDM.DataExecSql('Select Employee from Employee',iCds);
iCds.First;
for i:=0 to iCds.RecordCount-1 Do
begin
iList.Add(iCds.FieldByName('Employee').AsString);
iCds.Next;
End;
fxShowCBL('選擇員工', iList.Text, pTitleDriverText.Text,Radio,'GetDriver');
Finally
//Except {ErrorMsg / RaiseMsg(Const Error:String)}
iCds.Free;
iList.Free;
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
獲取員工資訊的子程式。
procedure GetDriver(SelText:string);
begin
if SelText='' Then
begin
fxMsgTaost('請選擇員工!',1);
SelectDiver;
End
else
begin
pTitleDriverText.Text := SelText;
AMap.StartLocation;
End;
tmrWorkTaskOnTimer(nil);
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
程式啟動后,顯示目前登錄的使用者名稱稱。
Procedure fxRunFrameAfterScriptRun(Sender: TObject);
Begin
//SelectDiver;
pTitleDriverText.Text := fxDM.Info.C_US;
End;
2
3
4
5
程式啟動后,重新整理任務計數並顯示。
Begin
vLocation:=TRFDataSet.Create(nil);
tmrWorkTask.Enabled := true;
End.
2
3
4
# 3.2.2. 事件設定
- tmrWorkTask-OnTimer事件
計時器定時觸發事件。用於獲取任務資訊的數量,可用於顯示在[派遣任務]
按鈕的右上角。
Procedure tmrWorkTaskOnTimer(Sender: TObject);
var
vCds:TfxRFDataSet;
vSQL:String;
Begin
if pTitleDriverText.Text = '' Then exit;
vCds := TfxRFDataSet.Create(nil);
try
vSQL := 'select Count(1) Count from Task where Status = 1 and Employee = ' + QuotEdStr(pTitleDriverText.Text);
try
fxDM.DataExecSql(vSQL,vCds);
if vCds.RecordCount > 0 Then
begin
lbTaskCount.Text := IntToStr(vCds.FieldByName('Count').AsInteger);
End;
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
Finally
//Except {ErrorMsg / RaiseMsg(Const Error:String)}
vCds.Free;
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- fxRunFrame-AfterShow事件
在運行界面顯示后,開始進行定位操作,同時重新整理任務列表。
Procedure fxRunFrameAfterShow(Sender: TObject);
Begin
if pTitleDriverText.Text<>'' Then
AMap.StartLocation;
tmrWorkTaskOnTimer(nil);
End;
2
3
4
5
6
- AMap-OnLocationChangedCallbackEvent事件
當地圖控制元件檢測到定位資訊發生變化后,更新位置資訊,並將位置資訊插入至數據表中。
Procedure AMapOnLocationChangedCallbackEvent(Sender: TObject; ErrorCode: Integer; ErrorInfo: string; LocationDetail: string; LocationType: Integer; Longitude: Double; Latitude: Double; Altitude: Double; Accuracy: Single; Provider: string; Speed: Single; Bearing: Single; Satellites: Integer; Country: string; Province: string; City: string; CityCode: string; District: string; AdCode: string; Address: string; PoiName: string; LocationTime: string; isWifiAble: Boolean; isWifiAbleString: string; GPSStatus: Integer; GPSStatusString: string);
var
vSQL:String;
Begin
// 記錄GPS資訊
if vLocationTime = LocationTime Then exit;
vLocationTime := LocationTime;
Try
txtLocation.Text := Address;
vSQL:='Insert Into Location values('
+ QuotEdStr(CreateGuid) + ','
+ QuotEdStr(fxDM.Info.C_US) + ','
+ QuotEdStr(pTitleDriverText.Text) + ','
+ QuotEdStr(FloatToStr(Longitude)) + ','
+ QuotEdStr(FloatToStr(Latitude)) + ','
+ FloatToStr(Accuracy) + ','
+ FloatToStr(Speed) + ','
+ FloatToStr(RoundTo(Speed*3600/1000,-1)) + ','
+ QuotEdStr(Country) + ','
+ QuotEdStr(Province) + ','
+ QuotEdStr(City) + ','
+ QuotEdStr(District) + ','
+ QuotEdStr(Address) + ','
+ QuotEdStr(LocationTime) + ','
+ QuotEdStr(fxDM.Info.CustomValue) + ')'
+ ' select 1';
fxDM.DataExecSql(vSQL,vLocation);
Except {ErrorMsg / RaiseMsg(Const Error:String)}
//RaiseMsg(ErrorMsg);
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
- ①btSetUserPass-OnClick事件
點選[修改密碼]
按鈕,打開修改密碼界面。
Procedure btSetUserPassOnClick(Sender: TObject);
Begin
fxOpenFrameToForm('SetUserPass',[syExit],'');
End;
2
3
4
- pTitleDriverText-OnClick事件
當點選登錄帳戶的使用者名稱時,打開駕駛員選擇界面。
Procedure pTitleDriverTextOnClick(Sender: TObject);
Begin
SelectDiver;
End;
2
3
4
- ②btWorkTask-OnClick事件
當點選[派遣任務]
按鈕,打開派遣任務界面。
Procedure btWorktaskOnClick(Sender: TObject);
Begin
fxOpenFrameToPage('EmpTask');
End;
2
3
4
5
- ③btnStatusReport-OnClick事件
當點選[情況彙報]
時,打開情況彙報界面。
Procedure btStatusReportOnClick(Sender: TObject);
Begin
fxOpenFrameToPage('Report');
End;
2
3
4
# 4. 員工任務
該界面中詳細顯示運輸的任務單以及運輸物品的明細資訊。可在該界面下更新貨物的送達狀態。
# 4.1. 設計明細
①:TfxTabControl元件,控制元件名稱為fxTabControl1
。
②:TfxSuperButton元件,控制元件名稱為btOk
。
③:TfxSuperListBox元件,控制元件名稱為Task
。
④:TfxText元件,控制元件名稱為txtStatus
。
⑤:TfxSuperButton元件,控制元件名稱為btTaskYes
。
⑥:TfxSuperButton元件,控制元件名稱為btTaskStart
。
⑦:TfxSuperButton元件,控制元件名稱為btTaskNo
。
fxRunFrame屬性設定
Height
:設定頁面高度=578
。Width
:設定頁面寬度=352
。
①fxTabControl1屬性設定
Align
:設定對齊方式=Client
(客戶區對齊)。- 雙擊該控制元件,打開專案編輯器,新增兩個頁面。分別修改兩個TabItem的
Text
屬性為任務列表
,正在執行
。
③Task屬性設定
- 該控制元件位於
TabItem1
(任務列表)中。 Align
:設定對齊方式=Client
(客戶區對齊)。Name
:設定控制元件名稱為Task
。ItemStyle
:設定其中顯示的單元項的型別,設定為TaskItem
(包括佈局在內的所有控制元件)。
- 該控制元件位於
②btOk屬性設定
- 該控制元件位於
TaskItem
(任務單元佈局)中。 Align
:設定對齊方式=Right
(右側對齊)。Height
:設定控制元件高度=122
。Width
:設定控制元件寬度=40
。Name
:設定控制元件名稱為btOK
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M7.00009536743164,90.9999847412109 L3,87.0000381469727 L29.0002384185791,60.9999313354492 L3,34.9999694824219 L7.00008487701416,31.0000152587891 L37,60.9999313354492 L7.00009536743164,90.9999847412109 Z" p-id="1650" fill="#FF303030" stroke="Null"></path>
1- 該控制元件位於
④txtStatus屬性設定
- 該控制元件位於
TabItem
-RunTask
-RunTaskItem
(運行任務單元佈局)中。 Height
:設定控制元件高度=64
。Width
:設定控制元件寬度=64
。Text
:設定顯示的文字內容=未完成
。
- 該控制元件位於
⑤btnTaskYes屬性設定
- 該控制元件位於
fxGridLayout1
中。 Align
:設定控制元件對齊方式為Left
(左對齊)。Width
:設定控制元件寬度=75
。Name
:設定控制元件名稱為btnTaskYes
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定顯示的文字內容=完成
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M51.8077430725098,18.9557247161865 C50.7329788208008,15.9340867996216 51.2959518432617,13.7456502914429 51.5190925598145,11.5940637588501 C45.6928176879883,14.3454742431641 41.6271171569824,22.7307243347168 40.3476333618164,25.6172485351563 C39.8358383178711,24.833179473877 38.699649810791,22.4236488342285 37.6310234069824,20.4419784545898 C36.742546081543,20.9210186004639 32.1302490234375,23.7911605834961 32.1302490234375,23.7911605834961 C34.8632354736328,24.7635765075684 38.3823356628418,27.9407978057861 40.6874580383301,30.759765625 C43.0458106994629,26.7268218994141 49.0072021484375,19.3999633789063 51.8077430725098,18.9557266235352 Z M31.3441295623779,3 L39.9545707702637,3 L39.9545707702637,5.85991096496582 L31.3441295623779,5.85991096496582 L31.3441295623779,3.00204730033875 Z M29.2949028015137,10.3698501586914 L42.0037956237793,10.3698501586914 L42.0037956237793,12.0546798706055 L29.2949028015137,12.0546798706055 L29.2949028015137,10.3698501586914 Z M29.2949028015137,14.8572673797607 L42.0037956237793,14.8572673797607 L42.0037956237793,16.5420989990234 L29.2949028015137,16.5420989990234 L29.2949028015137,14.8572673797607 Z" p-id="21516" fill="#FFFF3D14" stroke="Null"></path> <path d="M40.8184814453125,21.4614715576172 L41.8216018676758,19.7766418457031 L38.734447479248,19.7766418457031 L39.8849639892578,21.4614715576172 Z M35.9461898803711,19.7766418457031 L29.2949028015137,19.7766418457031 L29.2949028015137,21.4614715576172 L33.3954048156738,21.4614715576172 Z" p-id="21517" fill="#FFFF3D14" stroke="Null"></path> <path d="M24.7849636077881,28.0431594848633 L24.7849636077881,5.45047473907471 L28.4289436340332,5.45047473907471 L28.4289436340332,3.85572147369385 L23.1922569274902,3.85572147369385 L23.1922569274902,29.5928745269775 L37.504093170166,29.5928745269775 L35.9461898803711,28.0431594848633 Z M46.5587768554688,28.0431594848633 L44.0980606079102,28.0431594848633 L42.8697547912598,29.5928745269775 L48.1310043334961,29.5928745269775 L48.1310043334961,23.3080310821533 L46.5587768554688,25.1300220489502 Z M46.5587768554688,13.626914024353 L48.1310043334961,12.0546798706055 L48.1310043334961,3.85572147369385 L43.187068939209,3.85572147369385 L43.187068939209,5.45252227783203 L46.5587768554688,5.45252227783203 Z" p-id="21518" fill="#FFFF3D14" stroke="Null"></path>
1
2
3- 該控制元件位於
⑥btnTaskStart屬性設定
- 該控制元件位於
fxGridLayout1
中。 Height
:設定控制元件高度=49
。Width
:設定控制元件寬度=75
。Name
:設定控制元件名稱為btnTaskStart
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定顯示的文字內容=開始
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M47.1251678466797,3.00700688362122 L27.8874626159668,3.00700688362122 C25.5297164916992,3 23.6166229248047,4.91309356689453 23.6236305236816,7.27084064483643 L23.6236305236816,26.5085468292236 C23.6305637359619,28.8584308624268 25.5374927520752,30.7597560882568 27.8874263763428,30.759765625 L47.125129699707,30.759765625 C49.4701538085938,30.7528553009033 51.3694610595703,28.8535690307617 51.3763885498047,26.5085468292236 L51.3763885498047,7.27083921432495 C51.3833770751953,4.91804361343384 49.4779968261719,3.00700259208679 47.1251754760742,3.00700688362122 Z M33.3749389648438,23.1908302307129 L33.3749389648438,10.5759410858154 L44.2111282348633,16.8833847045898 Z" p-id="6607" fill="#FF3E75C7" stroke="Null"></path>
1- 該控制元件位於
⑦btnTaskNo屬性設定
- 該控制元件位於
fxGridLayout1
中。 Align
:設定控制元件對齊方式為Left
(左對齊)。Width
:設定控制元件寬度=75
。Name
:設定控制元件名稱為btnTaskNo
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定顯示的文字內容=作廢
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M28.9134082794189,23.3198223114014 C28.5914115905762,23.3198223114014 28.3767471313477,23.1051559448242 28.3767471313477,22.7831592559814 L28.3767471313477,21.7098350524902 C28.3767471313477,21.3878383636475 28.5914115905762,21.1731739044189 28.9134082794189,21.1731739044189 L31.8113822937012,21.1731739044189 C31.9187126159668,19.9925193786621 32.2407150268555,18.9191932678223 32.6700439453125,17.9532051086426 L28.9134082794189,17.9532051086426 C28.5914115905762,17.9532051086426 28.3767471313477,17.7385387420654 28.3767471313477,17.4165420532227 L28.3767471313477,16.3432197570801 C28.3767471313477,16.0212230682373 28.5914115905762,15.8065576553345 28.9134082794189,15.8065576553345 L34.0653610229492,15.8065576553345 C35.1386871337891,14.4112377166748 36.5340042114258,13.3379144668579 38.1439895629883,12.5865879058838 L28.9134082794189,12.5865879058838 C28.5914115905762,12.5865879058838 28.3767471313477,12.371922492981 28.3767471313477,12.0499258041382 L28.3767471313477,10.9766025543213 C28.3767471313477,10.6546058654785 28.5914115905762,10.43994140625 28.9134082794189,10.43994140625 L42.8666152954102,10.43994140625 C43.1886138916016,10.43994140625 43.4032821655273,10.6546058654785 43.4032821655273,10.9766025543213 L43.4032821655273,11.7279291152954 C44.5839309692383,11.835262298584 45.6572570800781,12.1572589874268 46.6232528686523,12.5865879058838 L46.6232528686523,7.219970703125 C46.6232528686523,5.39532041549683 45.2279281616211,4 43.4032821655273,4 L28.3767471313477,4 C26.5520973205566,4 25.1567764282227,5.39532041549683 25.1567764282227,7.219970703125 L25.1567764282227,26.5397930145264 C25.1567764282227,28.3644409179688 26.5520973205566,29.759765625 28.3767471313477,29.759765625 L34.9240264892578,29.759765625 C33.2067031860352,28.0424461364746 32.0260467529297,25.7884674072266 31.8113822937012,23.31982421875 L28.9134082794189,23.31982421875 Z M42.3299560546875,14.7332334518433 C38.1439971923828,14.7332334518433 34.8166885375977,18.0605354309082 34.8166885375977,22.2464981079102 C34.8166885375977,26.4324607849121 38.1439895629883,29.7597618103027 42.3299560546875,29.7597618103027 C46.5159225463867,29.7597618103027 49.8432235717773,26.4324588775635 49.8432235717773,22.2464981079102 C49.8432235717773,18.0605354309082 46.5159149169922,14.7332334518433 42.3299560546875,14.7332334518433 Z M45.3352661132813,23.7491493225098 C45.7645874023438,24.1784801483154 45.7645874023438,24.822473526001 45.3352661132813,25.251802444458 C44.9059295654297,25.6811332702637 44.2619400024414,25.6811332702637 43.8326110839844,25.251802444458 L42.3299560546875,23.7491493225098 L40.8273010253906,25.251802444458 C40.3979721069336,25.6811332702637 39.7539749145508,25.6811332702637 39.3246459960938,25.251802444458 C38.8953170776367,24.822473526001 38.8953170776367,24.1784801483154 39.3246459960938,23.7491493225098 L40.8273010253906,22.2464981079102 L39.3246459960938,20.7438449859619 C38.8953170776367,20.3145141601563 38.8953170776367,19.6705207824707 39.3246459960938,19.2411918640137 C39.7539749145508,18.8118629455566 40.3979721069336,18.8118629455566 40.8273010253906,19.2411918640137 L42.3299560546875,20.7438449859619 L43.8326110839844,19.2411918640137 C44.2619400024414,18.8118629455566 44.9059295654297,18.8118629455566 45.3352661132813,19.2411918640137 C45.7645874023438,19.6705207824707 45.7645874023438,20.3145141601563 45.3352661132813,20.7438449859619 L43.8326110839844,22.2464981079102 L45.3352661132813,23.7491493225098 Z" p-id="24939" fill="#FFD32521" stroke="Null"></path>
1- 該控制元件位於
# 4.2. 程式設計
點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式需要引用TARSCompClient
單元。
# 4.2.1. 程式初始設定
設定初始變數值。
var
vTaskID:string;
vOrderNo:integer;
vDataSet:TfxRFDataSet;
2
3
4
OpenTaskList
是用於獲取任務列表的子程式。
Procedure OpenTaskList;
Var
iCds:TfxRFDataSet;
iLbi:TfxSuperListBoxItem;
iStream:TMemoryStream;
SqlText:String;
i:integer;
Begin
Task.Clear;
iCds:=TfxRFDataSet.Create(Nil);
//MOList.BeginUpdate;
Try
SqlText := 'select Date,TaskNo,CarNumber,Note,Status from Task where Status = 1 and Employee = ' + QuotEdStr(fxDM.Info.C_US);
try
fxDm.DataExecSql(SqlText,iCds);
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
iCds.First;
i:=1;
While Not iCds.Eof Do
Begin
iLbi:=Task.AddItem;
TfxLabel(iLbi.GetStyleFmxObject(Date.StyleName)).Text:=iCds.FieldByName('Date').AsString;
TfxLabel(iLbi.GetStyleFmxObject(TaskNo.StyleName)).Text:=iCds.FieldByName('TaskNo').AsString;
TfxLabel(iLbi.GetStyleFmxObject(CarNumber.StyleName)).Text:=iCds.FieldByName('CarNumber').AsString;
TfxLabel(iLbi.GetStyleFmxObject(Note.StyleName)).Text:=iCds.FieldByName('Note').AsString;
//TfxLabel(iLbi.GetStyleFmxObject(ProcessText.StyleName)).Text:=IntToStr(i);
inc(i);
iCds.Next;
End;
Finally
//Except {ErrorMsg / RaiseMsg(Const Error:String)}
iCds.Free;
Task.EndUpdate;
End;
TabItem1.Text := '任務列表('+IntToStr(Task.Count)+')';
fxTabControl1.ActiveTab := tabItem1;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
OpenStartTask
用於開始任務的子程式。
Procedure OpenStartTask;
Var
iCds:TfxRFDataSet;
iLib,iLbi:TfxSuperListBoxItem;
iStream:TMemoryStream;
SqlText:String;
i:integer;
Begin
RunTask.Clear;
iCds:=TfxRFDataSet.Create(Nil);
RunTask.BeginUpdate;
Try
SqlText := 'select a.TaskID,b.TaskNo,a.OrderNo,a.Customer,a.BillNo,a.Address,a.Status,B.Start from TaskDetail A,Task B where A.TaskId = B.TaskId and b.Start = 1 and B.Status = 1 and Employee = ' + QuotEdStr(fxDM.Info.C_US);
try
fxDm.DataExecSql(SqlText,iCds);
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
tabItem2.Text := '無任務';
iCds.First;
i:=1;
While Not iCds.Eof Do
Begin
iLbi:=RunTask.AddItem;
iLbi.TagString := iCds.FieldByName('TaskID').AsString;
iLbi.TagFloat := iCds.FieldByName('OrderNo').AsInteger;
TfxLabel(iLbi.GetStyleFmxObject(Customer.StyleName)).Text:=iCds.FieldByName('Customer').AsString;
TfxLabel(iLbi.GetStyleFmxObject(BillNo.StyleName)).Text:=iCds.FieldByName('BillNo').AsString;
TfxLabel(iLbi.GetStyleFmxObject(Address.StyleName)).Text:=iCds.FieldByName('Address').AsString;
if iCds.FieldByName('Status').AsInteger = 1 Then
begin
TfxText(iLbi.GetStyleFmxObject(txtStatus.StyleName)).Text := '已完成';
End
else if iCds.FieldByName('Status').AsInteger = 2 Then
begin
TfxText(iLbi.GetStyleFmxObject(txtStatus.StyleName)).Text := '已作廢';
End
else
begin
TfxText(iLbi.GetStyleFmxObject(txtStatus.StyleName)).Text := '未完成';
End;
if iCds.FieldByName('Start').AsInteger = 1 Then
begin
btnTaskStart.Enabled := false;
End;
tabItem2.Text := iCds.FieldByName('TaskNo').AsString;
fxTabControl1.ActiveTab := tabItem2;
fxDM.Info.CustomValue := iCds.FieldByName('TaskNo').AsString;
iCds.Next;
End;
Finally
//Except {ErrorMsg / RaiseMsg(Const Error:String)}
iCds.Free;
RunTask.EndUpdate;
End;
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
OpenRunTask
用於獲取正在運行的任務的子程式。
Procedure OpenRunTask;
Var
iCds:TfxRFDataSet;
iLib,iLbi:TfxSuperListBoxItem;
iStream:TMemoryStream;
SqlText:String;
i:integer;
Begin
RunTask.Clear;
iCds:=TfxRFDataSet.Create(Nil);
RunTask.BeginUpdate;
Try
SqlText := 'select a.TaskID,a.OrderNo,a.Customer,a.BillNo,a.Address,a.Status,B.Start from TaskDetail A,Task B where A.TaskId = B.TaskId and A.TaskNo = ' + QuotEdStr(tabItem2.Text);
try
fxDm.DataExecSql(SqlText,iCds);
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
iCds.First;
i:=1;
While Not iCds.Eof Do
Begin
iLbi:=RunTask.AddItem;
iLbi.TagString := iCds.FieldByName('TaskID').AsString;
iLbi.TagFloat := iCds.FieldByName('OrderNo').AsInteger;
TfxLabel(iLbi.GetStyleFmxObject(Customer.StyleName)).Text:=iCds.FieldByName('Customer').AsString;
TfxLabel(iLbi.GetStyleFmxObject(BillNo.StyleName)).Text:=iCds.FieldByName('BillNo').AsString;
TfxLabel(iLbi.GetStyleFmxObject(Address.StyleName)).Text:=iCds.FieldByName('Address').AsString;
if iCds.FieldByName('Status').AsInteger = 1 Then
begin
TfxText(iLbi.GetStyleFmxObject(txtStatus.StyleName)).Text := '已完成';
End
else if iCds.FieldByName('Status').AsInteger = 2 Then
begin
TfxText(iLbi.GetStyleFmxObject(txtStatus.StyleName)).Text := '已作廢';
End
else
begin
TfxText(iLbi.GetStyleFmxObject(txtStatus.StyleName)).Text := '未完成';
End;
inc(i);
if iCds.FieldByName('Start').AsInteger = 1 Then
begin
btnTaskStart.Enabled := false;
End;
iCds.Next;
End;
Finally
//Except {ErrorMsg / RaiseMsg(Const Error:String)}
iCds.Free;
RunTask.EndUpdate;
tabItem2.Text := Self.TagValue;
fxTabControl1.ActiveTab := tabItem2;
fxDM.Info.CustomValue := tabItem2.Text;
End;
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
TaskStart_Dlg
用於顯示開始執行任務相關對話提示的子程式。
procedure TaskStart_Dlg(AResult: TMsgDlgBtn);
var
vSQL:string;
Begin
if AResult = mbYes Then
begin
try
vSQL:='Update Task set Start = 1,Leavetime = GetDate() where TaskNo='+ quotedstr(tabItem2.Text);
vSQL:=vSQL+'select 1';
fxDM.DataExecSql(vSQL,vDataSet);
OpenRunTask;
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TaskYes_Dlg
用於顯示完成任務相關對話提示的子程式。
procedure TaskYes_Dlg(AResult: TMsgDlgBtn);
var
vSQL:string;
Begin
if AResult = mbYes Then
begin
try
fxDM.DataExecSql('Select BillNo from TaskDetail where Status = 0 and TaskNo = ' + quotedstr(tabItem2.Text),vDataSet);
if vDataSet.RecordCount > 0 Then
begin
fxMsgTaost('請選完全部的任務明細以後,再完成任務!',2);
exit;
End;
vSQL:='Update Task set Status = 2,Returntime=getdate() where TaskNo='+ quotedstr(tabItem2.Text);
vSQL:=vSQL+'select 1';
fxDM.DataExecSql(vSQL,vDataSet);
RunTask.Clear;
OpenTaskList;
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
TaskNo_Dlg
用於顯示作廢任務相關對話提示的子程式。
procedure TaskNo_Dlg(AResult: TMsgDlgBtn);
var
vSQL:string;
Begin
if AResult = mbYes Then
begin
try
vSQL:='Update Task set set Status = 3 where TaskNo='+ quotedstr(tabItem2.Text);
vSQL:=vSQL+'select 1';
fxDM.DataExecSql(vSQL,vDataSet);
RunTask.Clear;
OpenTaskList;
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
在程式啟動后,執行獲取任務列表。
Procedure fxRunFrameAfterShow(Sender: TObject);
Begin
OpenStartTask;
End;
2
3
4
5
初始化設定列表。
Begin
TaskItem.Visible:=False;
RunTaskItem.Visible:=False;
Task.Initial;
RunTask.Initial;
vDataSet:=TfxRFDataSet.Create(nil);
End.
2
3
4
5
6
7
# 4.2.2. 事件設定
- fxTimer1-OnTimer事件
定時觸發事件,用於重新整理執行任務列表。
Procedure fxTimer1OnTimer(Sender: TObject);
Begin
OpenTaskList;
fxTimer1.enabled := false;
End;
2
3
4
5
- ②btOK-OnClick事件
點選任務列表
中的右側按鈕,切換到正在執行
頁面,顯示該任務下的明細任務內容。
Procedure btOkOnClick(Sender: TObject);
Var
iCds:TfxRFDataSet;
iLib,iLbi:TfxSuperListBoxItem;
iStream:TMemoryStream;
SqlText:String;
i:integer;
Begin
iLib:=TfxSuperListBoxItem(TFmxObject(Sender).TagObject);
Self.TagValue:=TfxLabel(iLib.GetStyleFmxObject(TaskNo.StyleName)).Text;
RunTask.Clear;
iCds:=TfxRFDataSet.Create(Nil);
RunTask.BeginUpdate;
Try
SqlText := 'select TaskID,OrderNo,Customer,BillNo,Address,Status from TaskDetail where TaskNo = ' + QuotEdStr(Self.TagValue);
try
fxDm.DataExecSql(SqlText,iCds);
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
iCds.First;
i:=1;
While Not iCds.Eof Do
Begin
iLbi:=RunTask.AddItem;
iLbi.TagString := iCds.FieldByName('TaskID').AsString;
iLbi.TagFloat := iCds.FieldByName('OrderNo').AsInteger;
TfxLabel(iLbi.GetStyleFmxObject(Customer.StyleName)).Text:=iCds.FieldByName('Customer').AsString;
TfxLabel(iLbi.GetStyleFmxObject(BillNo.StyleName)).Text:=iCds.FieldByName('BillNo').AsString;
TfxLabel(iLbi.GetStyleFmxObject(Address.StyleName)).Text:=iCds.FieldByName('Address').AsString;
if iCds.FieldByName('Status').AsInteger = 1 Then
begin
TfxText(iLbi.GetStyleFmxObject(txtStatus.StyleName)).Text := '已完成';
End
else if iCds.FieldByName('Status').AsInteger = 2 Then
begin
TfxText(iLbi.GetStyleFmxObject(txtStatus.StyleName)).Text := '已作廢';
End
else
begin
TfxText(iLbi.GetStyleFmxObject(txtStatus.StyleName)).Text := '未完成';
End;
inc(i);
iCds.Next;
End;
Finally
//Except {ErrorMsg / RaiseMsg(Const Error:String)}
iCds.Free;
RunTask.EndUpdate;
tabItem2.Text := Self.TagValue;
fxTabControl1.ActiveTab := tabItem2;
End;
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
- ⑥btnTaskStart-OnClick事件
點選[開始任務]
按鈕,開始執行相應的任務。
Procedure btnTaskStartOnClick(Sender: TObject);
Begin
if not btnTaskStart.Enabled Then exit;
fxMsgDlg('開始任務以後不得撤銷,確認開始嗎?',
mtConfirmation,
[mbYes,mbNo],
mbYes,
'TaskStart_Dlg');
End;
2
3
4
5
6
7
8
9
- ⑤btnTaskYes-OnClick事件
點選[完成]
按鈕,執行任務完成的操作。
Procedure btnTaskYesOnClick(Sender: TObject);
Begin
if btnTaskStart.Enabled Then
begin
fxMsgTaost('請先點開始任務!',1);
exit;
End;
fxMsgDlg('確認完成任務嗎?',
mtConfirmation,
[mbYes,mbNo],
mbYes,
'TaskYes_Dlg');
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
- ⑦btnTaskNo-OnClick事件
點選[作廢]
按鈕,對當前執行的任務進行作廢處理。
Procedure btnTaskNoOnClick(Sender: TObject);
Begin
if btnTaskStart.Enabled Then exit;
fxMsgDlg('任務作廢以後不能恢復,確認作廢嗎?',
mtConfirmation,
[mbYes,mbNo],
mbYes,
'TaskNo_Dlg');
End;
2
3
4
5
6
7
8
9
- ③Task-OnPullRefershEvent事件
在任務列表中下拉重新整理,重新載入任務列表。
Procedure TaskOnPullRefreshEvent(Sender: TObject);
Begin
OpenTaskList;
End;
2
3
4
- ④txtStatus-OnClick事件
點選任務狀態的文字,將會在未完成
,已完成
,已作廢
等狀態之間切換。
Procedure txtStatusOnClick(Sender: TObject);
var
vSQL:string;
iLib:TfxSuperListBoxItem;
Begin
iLib:=TfxSuperListBoxItem(TFmxObject(Sender).TagObject);
vTaskId:=ilib.TagString;
vOrderNo:=iLib.TagFloat;
if TfxText(TFmxObject(Sender)).Text='未完成' Then
vSQL:='Update TaskDetail set Status = 1, Arrivaltime = getdate() where TaskId='+quotedstr(vTaskId) + ' and OrderNo = '+IntToStr(vOrderNo)
else if TfxText(TFmxObject(Sender)).Text='已完成' Then
vSQL:='Update TaskDetail set Status = 2, Arrivaltime = getdate() where TaskId='+quotedstr(vTaskId) + ' and OrderNo = '+IntToStr(vOrderNo)
else if TfxText(TFmxObject(Sender)).Text='已作廢' Then
vSQL:='Update TaskDetail set Status = 0, Arrivaltime = null where TaskId='+quotedstr(vTaskId) + ' and OrderNo = '+IntToStr(vOrderNo);
try
vSQL:=vSQL+'select 1';
fxDM.DataExecSql(vSQL,vDataSet);
RunTask.Clear;
OpenRunTask;
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 5. 情況彙報
該功能中顯示各任務的彙報情況。可點選任務右側的箭頭打開彙報編輯界面進行彙報內容的填寫。
# 5.1. 設計明細
①:TfxSuperListBox元件,控制元件名稱為Task
。
②:TfxSuperButton元件,控制元件名稱為btOK
。
fxRunFrame屬性設定
Height
:設定頁面高度=480
。Width
:設定頁面寬度=320
。
①Task屬性設定
Align
:設定控制元件對齊方式=Client
。ItemStyle
:設定單元項的格式=TaskItem
(佈局控制元件,包含其中附屬的控制元件)。Name
:設定控制元件名稱=Task
。
②btOK屬性設定
- 該控制元件位於
TaskItem
(任務單元佈局)中。 Align
:設定對齊方式=Right
(右側對齊)。Height
:設定控制元件高度=122
。Width
:設定控制元件寬度=40
。Name
:設定控制元件名稱為btOK
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M7.00009536743164,90.9999847412109 L3,87.0000381469727 L29.0002384185791,60.9999313354492 L3,34.9999694824219 L7.00008487701416,31.0000152587891 L37,60.9999313354492 L7.00009536743164,90.9999847412109 Z" p-id="1650" fill="#FF303030" stroke="Null"></path>
1- 該控制元件位於
# 5.2. 程式設計
點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式需要引用TARSCompClient
單元。
# 5.2.1. 程式初始設定
定義全域性變數。
var
vTaskID:string;
vOrderNo:integer;
vDataSet:TRFDataSet;
2
3
4
OpenTaskList
用於打開任務列表的子程式。
Procedure OpenTaskList;
Var
iCds:TRFDataSet;
iLbi:TfxSuperListBoxItem;
iStream:TMemoryStream;
SqlText:String;
i:integer;
Begin
Task.Clear;
iCds:=TRFDataSet.Create(Nil);
Task.BeginUpdate;
Try
SqlText := 'select TaskId,Date,TaskNo,CarNumber,Report,Note,Status from Task where Employee = ' + QuotEdStr(fxDM.Info.C_US);
try
fxDm.DataExecSql(SqlText,iCds);
Except {ErrorMsg / RaiseMsg(Const Error:String)}
End;
iCds.First;
i:=1;
While Not iCds.Eof Do
Begin
iLbi:=Task.AddItem;
iLbi.TagString := iCds.FieldByName('TaskId').AsString;
TfxLabel(iLbi.GetStyleFmxObject(Date.StyleName)).Text:=iCds.FieldByName('Date').AsString;
if iCds.FieldByName('Report').AsString <> '' Then
TfxLabel(iLbi.GetStyleFmxObject(TaskNo.StyleName)).Text:=iCds.FieldByName('TaskNo').AsString + ' (報)'
else
TfxLabel(iLbi.GetStyleFmxObject(TaskNo.StyleName)).Text:=iCds.FieldByName('TaskNo').AsString;
TfxLabel(iLbi.GetStyleFmxObject(CarNumber.StyleName)).Text:=iCds.FieldByName('CarNumber').AsString;
TfxLabel(iLbi.GetStyleFmxObject(Note.StyleName)).Text:=iCds.FieldByName('Note').AsString;
inc(i);
iCds.Next;
End;
Finally
//Except {ErrorMsg / RaiseMsg(Const Error:String)}
iCds.Free;
Task.EndUpdate;
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
在程式啟動后執行重新整理列表,初始化列表。
Procedure fxRunFrameAfterScriptRun(Sender: TObject);
Begin
OpenTaskList;
End;
2
3
4
Begin
TaskItem.Visible:=False;
Task.Initial;
End.
2
3
4
# 5.2.2. 事件設定
- ②btOK-OnClick事件
點選右側的箭頭按鈕,打開情況說明編輯界面。
Procedure btOkOnClick(Sender: TObject);
Var
vTaskNo:String;
iLib:TfxSuperListBoxItem;
Begin
fxDM.Info.CustomValue :='';
iLib:=TfxSuperListBoxItem(TFmxObject(Sender).TagObject);
vTaskNo := TfxLabel(iLib.GetStyleFmxObject(TaskNo.StyleName)).Text;
fxOpenFrameToForm('ReportEdit',[syFree],'');
fxDM.Info.CustomValue := ilib.TagString;
End;
2
3
4
5
6
7
8
9
10
11
# 6. 彙報編輯
該界面下可對任務情況進行說明,可拍照返回執行情況等內容。
# 6.1. 設計明細
①:TfxMemo元件,控制元件名稱為Report
。
②:TfxImage元件,控制元件名稱為Picture
。
③:TfxActionList元件,控制元件名稱為fxActionList1
。
④:TfxSuperButton元件,控制元件名稱為btnTaskYes
。
⑤:TfxSuperButton元件,控制元件名稱為btnTaskStart
。
⑥:TfxSuperButton元件,控制元件名稱為btnTaskNo
。
fxRunFrame屬性設定
Height
:設定頁面高度=514
。Width
:設定頁面寬度=341
。
①Report屬性設定
- 該控制元件位於
fxLayout1
中。 Align
:設定控制元件對齊方式=Client
(客戶區對齊)。Name
:設定控制元件名稱=Report
。
- 該控制元件位於
②Picture屬性設定
- 該控制元件位於
fxLayout2
中。 Align
:設定控制元件對齊方式=Client
(客戶區對齊)。Name
:設定控制元件名稱=Picture
。
- 該控制元件位於
③fxActionList1屬性設定
- 雙擊該控制元件,打開編輯器,點選左上角的新增,選擇
Media Library
中的TTakePhotoFromCameraAction
。
- 雙擊該控制元件,打開編輯器,點選左上角的新增,選擇
④btnTaskYes屬性設定
- 該控制元件位於
fxGridLayout1
中。 Align
:設定控制元件對齊方式為Left
(左對齊)。Width
:設定控制元件寬度=75
。Name
:設定控制元件名稱為btnTaskYes
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定顯示的文字內容=確認
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M51.8077430725098,18.9557247161865 C50.7329788208008,15.9340867996216 51.2959518432617,13.7456502914429 51.5190925598145,11.5940637588501 C45.6928176879883,14.3454742431641 41.6271171569824,22.7307243347168 40.3476333618164,25.6172485351563 C39.8358383178711,24.833179473877 38.699649810791,22.4236488342285 37.6310234069824,20.4419784545898 C36.742546081543,20.9210186004639 32.1302490234375,23.7911605834961 32.1302490234375,23.7911605834961 C34.8632354736328,24.7635765075684 38.3823356628418,27.9407978057861 40.6874580383301,30.759765625 C43.0458106994629,26.7268218994141 49.0072021484375,19.3999633789063 51.8077430725098,18.9557266235352 Z M31.3441295623779,3 L39.9545707702637,3 L39.9545707702637,5.85991096496582 L31.3441295623779,5.85991096496582 L31.3441295623779,3.00204730033875 Z M29.2949028015137,10.3698501586914 L42.0037956237793,10.3698501586914 L42.0037956237793,12.0546798706055 L29.2949028015137,12.0546798706055 L29.2949028015137,10.3698501586914 Z M29.2949028015137,14.8572673797607 L42.0037956237793,14.8572673797607 L42.0037956237793,16.5420989990234 L29.2949028015137,16.5420989990234 L29.2949028015137,14.8572673797607 Z" p-id="21516" fill="#FFFF3D14" stroke="Null"></path> <path d="M40.8184814453125,21.4614715576172 L41.8216018676758,19.7766418457031 L38.734447479248,19.7766418457031 L39.8849639892578,21.4614715576172 Z M35.9461898803711,19.7766418457031 L29.2949028015137,19.7766418457031 L29.2949028015137,21.4614715576172 L33.3954048156738,21.4614715576172 Z" p-id="21517" fill="#FFFF3D14" stroke="Null"></path> <path d="M24.7849636077881,28.0431594848633 L24.7849636077881,5.45047473907471 L28.4289436340332,5.45047473907471 L28.4289436340332,3.85572147369385 L23.1922569274902,3.85572147369385 L23.1922569274902,29.5928745269775 L37.504093170166,29.5928745269775 L35.9461898803711,28.0431594848633 Z M46.5587768554688,28.0431594848633 L44.0980606079102,28.0431594848633 L42.8697547912598,29.5928745269775 L48.1310043334961,29.5928745269775 L48.1310043334961,23.3080310821533 L46.5587768554688,25.1300220489502 Z M46.5587768554688,13.626914024353 L48.1310043334961,12.0546798706055 L48.1310043334961,3.85572147369385 L43.187068939209,3.85572147369385 L43.187068939209,5.45252227783203 L46.5587768554688,5.45252227783203 Z" p-id="21518" fill="#FFFF3D14" stroke="Null"></path>
1
2
3- 該控制元件位於
⑤btnTaskStart屬性設定
- 該控制元件位於
fxGridLayout1
中。 Height
:設定控制元件高度=49
。Width
:設定控制元件寬度=75
。Name
:設定控制元件名稱為btnTaskStart
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定顯示的文字內容=拍照
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M47.1251678466797,3.00700688362122 L27.8874626159668,3.00700688362122 C25.5297164916992,3 23.6166229248047,4.91309356689453 23.6236305236816,7.27084064483643 L23.6236305236816,26.5085468292236 C23.6305637359619,28.8584308624268 25.5374927520752,30.7597560882568 27.8874263763428,30.759765625 L47.125129699707,30.759765625 C49.4701538085938,30.7528553009033 51.3694610595703,28.8535690307617 51.3763885498047,26.5085468292236 L51.3763885498047,7.27083921432495 C51.3833770751953,4.91804361343384 49.4779968261719,3.00700259208679 47.1251754760742,3.00700688362122 Z M33.3749389648438,23.1908302307129 L33.3749389648438,10.5759410858154 L44.2111282348633,16.8833847045898 Z" p-id="6607" fill="#FF3E75C7" stroke="Null"></path>
1- 該控制元件位於
⑥btnTaskNo屬性設定
- 該控制元件位於
fxGridLayout1
中。 Align
:設定控制元件對齊方式為Left
(左對齊)。Width
:設定控制元件寬度=75
。Name
:設定控制元件名稱為btnTaskNo
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定顯示的文字內容=刪除
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M28.9134082794189,23.3198223114014 C28.5914115905762,23.3198223114014 28.3767471313477,23.1051559448242 28.3767471313477,22.7831592559814 L28.3767471313477,21.7098350524902 C28.3767471313477,21.3878383636475 28.5914115905762,21.1731739044189 28.9134082794189,21.1731739044189 L31.8113822937012,21.1731739044189 C31.9187126159668,19.9925193786621 32.2407150268555,18.9191932678223 32.6700439453125,17.9532051086426 L28.9134082794189,17.9532051086426 C28.5914115905762,17.9532051086426 28.3767471313477,17.7385387420654 28.3767471313477,17.4165420532227 L28.3767471313477,16.3432197570801 C28.3767471313477,16.0212230682373 28.5914115905762,15.8065576553345 28.9134082794189,15.8065576553345 L34.0653610229492,15.8065576553345 C35.1386871337891,14.4112377166748 36.5340042114258,13.3379144668579 38.1439895629883,12.5865879058838 L28.9134082794189,12.5865879058838 C28.5914115905762,12.5865879058838 28.3767471313477,12.371922492981 28.3767471313477,12.0499258041382 L28.3767471313477,10.9766025543213 C28.3767471313477,10.6546058654785 28.5914115905762,10.43994140625 28.9134082794189,10.43994140625 L42.8666152954102,10.43994140625 C43.1886138916016,10.43994140625 43.4032821655273,10.6546058654785 43.4032821655273,10.9766025543213 L43.4032821655273,11.7279291152954 C44.5839309692383,11.835262298584 45.6572570800781,12.1572589874268 46.6232528686523,12.5865879058838 L46.6232528686523,7.219970703125 C46.6232528686523,5.39532041549683 45.2279281616211,4 43.4032821655273,4 L28.3767471313477,4 C26.5520973205566,4 25.1567764282227,5.39532041549683 25.1567764282227,7.219970703125 L25.1567764282227,26.5397930145264 C25.1567764282227,28.3644409179688 26.5520973205566,29.759765625 28.3767471313477,29.759765625 L34.9240264892578,29.759765625 C33.2067031860352,28.0424461364746 32.0260467529297,25.7884674072266 31.8113822937012,23.31982421875 L28.9134082794189,23.31982421875 Z M42.3299560546875,14.7332334518433 C38.1439971923828,14.7332334518433 34.8166885375977,18.0605354309082 34.8166885375977,22.2464981079102 C34.8166885375977,26.4324607849121 38.1439895629883,29.7597618103027 42.3299560546875,29.7597618103027 C46.5159225463867,29.7597618103027 49.8432235717773,26.4324588775635 49.8432235717773,22.2464981079102 C49.8432235717773,18.0605354309082 46.5159149169922,14.7332334518433 42.3299560546875,14.7332334518433 Z M45.3352661132813,23.7491493225098 C45.7645874023438,24.1784801483154 45.7645874023438,24.822473526001 45.3352661132813,25.251802444458 C44.9059295654297,25.6811332702637 44.2619400024414,25.6811332702637 43.8326110839844,25.251802444458 L42.3299560546875,23.7491493225098 L40.8273010253906,25.251802444458 C40.3979721069336,25.6811332702637 39.7539749145508,25.6811332702637 39.3246459960938,25.251802444458 C38.8953170776367,24.822473526001 38.8953170776367,24.1784801483154 39.3246459960938,23.7491493225098 L40.8273010253906,22.2464981079102 L39.3246459960938,20.7438449859619 C38.8953170776367,20.3145141601563 38.8953170776367,19.6705207824707 39.3246459960938,19.2411918640137 C39.7539749145508,18.8118629455566 40.3979721069336,18.8118629455566 40.8273010253906,19.2411918640137 L42.3299560546875,20.7438449859619 L43.8326110839844,19.2411918640137 C44.2619400024414,18.8118629455566 44.9059295654297,18.8118629455566 45.3352661132813,19.2411918640137 C45.7645874023438,19.6705207824707 45.7645874023438,20.3145141601563 45.3352661132813,20.7438449859619 L43.8326110839844,22.2464981079102 L45.3352661132813,23.7491493225098 Z" p-id="24939" fill="#FFD32521" stroke="Null"></path>
1- 該控制元件位於
# 6.2. 程式設計
點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式需要引用TARSCompClient
單元。
# 6.2.1. 程式初始設定
GetImage
用於獲取影象資訊。
procedure Getiamge(AImage: TBitmap);
begin
Picture.Bitmap := AImage;
End;
2
3
4
# 6.2.2. 事件設定
- fxTimer1-OnTimer事件
計時器觸發事件,用於獲取情況彙報資訊。
Procedure fxTimer1OnTimer(Sender: TObject);
var
vDataSet:TRFDataSet;
vSQL:string;
PicStream: TMemoryStream;
Begin
vDataSet:=TRFDataSet.Create(nil);
vDataSet.UpdateOptions.KeyFields := 'TaskId';
PicStream := TMemoryStream.Create; // 建立記憶體流
PicStream.Position := 0;
try
vSQL := 'Select * from Task where TaskId = ' + QuotedStr(fxDM.Info.CustomValue);
fxDM.DataExecSql(vSQL,vDataSet);
if vDataSet.RecordCount = 0 Then exit;
Report.Text := vDataSet.FieldByName('Report').AsString;
TBlobField(vDataSet.FieldByName('Picture')).SaveToStream(PicStream);
Picture.Bitmap.LoadFromStream(PicStream);
Finally
//Except {ErrorMsg / RaiseMsg(Const Error:String)}
vDataSet.Free;
PicStream.Free;
fxTimer1.Enabled := false;
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- ④btnTaskYes-OnClick事件
點選[確認]
按鈕,提交情況彙報。
Procedure btnTaskYesOnClick(Sender: TObject);
var
vDataSet:TRFDataSet;
vSQL:string;
PicStream: TMemoryStream;
Begin
vDataSet:=TRFDataSet.Create(nil);
vDataSet.UpdateOptions.KeyFields := 'TaskId';
PicStream := TMemoryStream.Create; // 建立記憶體流
try
vSQL := 'Select * from Task where TaskId = ' + QuotedStr(fxDM.Info.CustomValue);
fxDM.DataExecSql(vDataSet,vSQL);
vDataSet.Edit;
vDataSet.FieldByName('Report').AsString := Report.Text;
if not Picture.Bitmap.IsEmpty then
begin
PicStream.Position := 0;
Picture.Bitmap.SaveToStream(PicStream);
TBlobField(vDataSet.FieldByName('Picture')).LoadFromStream(PicStream);
End
else
TBlobField(vDataSet.FieldByName('Picture')).AsVariant := nil;
vDataSet.Post;
if vDataSet.ApplyUpdates(-1) = 0 then
begin
fxMsgTaost('Ok',2);
End;
Finally
//Except {ErrorMsg / RaiseMsg(Const Error:String)}
vDataSet.Free;
PicStream.Free;
End;
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
- ⑤btnTaskStart-OnClick事件
點選[拍照]
按鈕,打開相機執行拍照操作。
Procedure btnTaskStartOnClick(Sender: TObject);
Begin
//fxOpenCamera('Getiamge');
TakePhotoFromCameraAction1.ExecuteTarget(nil);
End;
2
3
4
5
- ⑥btnTaskNo-OnClick事件
點選[刪除]
按鈕,清空該情況彙報內容。
Procedure btnTaskNoOnClick(Sender: TObject);
Begin
Picture.Bitmap := nil;
End;
2
3
4
- TakePhotoFromCameraAction1-OnDidFinishTaking事件
當完成照片拍攝后,將拍攝的照片回傳至圖片控制元件以顯示。
Procedure TakePhotoFromCameraAction1OnDidFinishTaking(Image: TBitmap);
Begin
Picture.Bitmap.Assign(Image);
End;
2
3
4
# 7. 管理模式
該界面為管理模式,僅管理員可登錄該界面。
# 7.1. 設計明細
①:TfxSuperButton元件,控制元件名稱為btSetUserInfo
。
②:TfxSuperButton元件,控制元件名稱為btSetUserPass
。
③:TfxSuperButton元件,控制元件名稱為btUserLocation
。
fxRunFrame屬性設定
Height
:設定頁面高度=480
。Width
:設定頁面寬度=320
。
fxListBox1屬性設定
Align
:設定對齊方式為HorzCenter
。Columns
:設定顯示的區域的列的數目=3
。 雙擊該控制元件,新增專案。
①btSetUserInfo屬性設定
- 該控制元件位於
fxListBox1
的ListBoxItem1
中。 Height
:設定控制元件高度=94
。Width
:設定控制元件寬度=94
。Name
:設定控制元件名稱為btSetUserInfo
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定按鈕顯示的文字內容=使用者管理
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M60.2946929931641,29.5869197845459 C60.2946929931641,34.1569709777832 63.9999084472656,37.862190246582 68.5699615478516,37.862190246582 C73.1400146484375,37.862190246582 76.8452301025391,34.1569709777832 76.8452301025391,29.5869197845459 C76.8452301025391,25.0168685913086 73.1399993896484,21.3116493225098 68.5699615478516,21.3116493225098 C63.9999084472656,21.3116493225098 60.2946929931641,25.0083885192871 60.2946929931641,29.5869197845459 Z M53.7490844726563,50.1733436584473 C47.2034797668457,70.759765625 53.7490844726563,50.1818199157715 53.7490844726563,50.1733436584473 Z M83.3908233642578,50.2835655212402 L83.3908233642578,50.2666091918945 L83.3908233642578,50.2835655212402 Z M83.3908233642578,50.2581329345703 L83.3908233642578,50.2326965332031 L83.3908233642578,50.2581329345703 Z M76.0736694335938,39.608814239502 L75.3953552246094,39.6003341674805 C75.157958984375,39.6003341674805 74.7933807373047,39.6935997009277 74.5898742675781,39.8038215637207 C74.5898742675781,39.8038215637207 74.0472412109375,40.1175346374512 73.5554656982422,40.3295059204102 C72.0716857910156,40.9654121398926 70.3844146728516,41.3384780883789 68.5953979492188,41.3384780883789 C66.8148651123047,41.3384780883789 65.1275939941406,40.9823722839355 63.6522827148438,40.3464622497559 C63.1520309448242,40.1344947814941 62.5924377441406,39.8123016357422 62.5924377441406,39.8123016357422 C62.3804626464844,39.693603515625 62.0243606567383,39.6003341674805 61.7869491577148,39.6088180541992 L61.1171264648438,39.6172943115234 C58.4039306640625,39.9734001159668 55.5635452270508,42.3813629150391 54.7411041259766,44.9758720397949 C54.7411041259766,44.9758720397949 53.8762664794922,46.7309722900391 53.7490844726563,50.1818313598633 C53.740608215332,50.6312065124512 54.1051940917969,51.1992797851563 54.563045501709,51.4451713562012 C54.563045501709,51.4451713562012 59.1754913330078,54.4127311706543 68.5614776611328,54.4127311706543 C77.9474639892578,54.4127311706543 82.5599060058594,51.4451713562012 82.5599060058594,51.4451713562012 C83.0177612304688,51.1992797851563 83.3908233642578,50.5718574523926 83.3738555908203,50.1733551025391 C83.2551574707031,46.7394561767578 82.415771484375,45.0521812438965 82.415771484375,45.0521812438965 C81.6696319580078,42.432243347168 78.7783813476563,40.0073204040527 76.0736541748047,39.6088180541992 Z M83.3908386230469,50.1903076171875 L83.3908386230469,50.1733436584473 L83.3908386230469,50.1903076171875 Z M83.3908386230469,50.2326965332031 L83.3908386230469,50.1987800598145 L83.3908386230469,50.2326965332031 Z M83.3908386230469,50.2326965332031 M25.4469909667969,37.3025894165039 C29.4828758239746,37.3025894165039 32.8404655456543,34.4113349914551 33.5696411132813,30.5874080657959 C32.4165267944336,28.5270767211914 31.7551879882813,26.1614990234375 31.7212753295898,23.6517868041992 C30.2035751342773,21.8797302246094 27.9567031860352,20.7605323791504 25.4469909667969,20.7605323791504 C20.8769397735596,20.7605323791504 17.1717205047607,24.4657497406006 17.1717205047607,29.0357990264893 C17.1717205047607,33.5973701477051 20.8769397735596,37.3025894165039 25.4469909667969,37.3025894165039 Z M22.9203186035156,47.5958061218262 C23.8360252380371,44.7808532714844 26.0065841674805,42.1609230041504 28.6519584655762,40.3888549804688 C27.6429862976074,40.6516990661621 26.5746612548828,40.7873573303223 25.4639434814453,40.7873573303223 C23.683406829834,40.7873573303223 21.9961318969727,40.4312515258789 20.5208282470703,39.7953453063965 C20.020580291748,39.5833778381348 19.4609851837158,39.2611846923828 19.4609851837158,39.2611846923828 C19.2490158081055,39.1424865722656 18.8929100036621,39.0492172241211 18.6555023193359,39.0576972961426 L17.9856815338135,39.0661735534668 C15.2724781036377,39.4222831726074 12.432092666626,41.830249786377 11.6096534729004,44.4247512817383 C11.6096534729004,44.4247512817383 10.7448215484619,46.1798553466797 10.617639541626,49.6307106018066 C10.6091613769531,50.0800857543945 10.973747253418,50.6481666564941 11.4316005706787,50.8940505981445 C11.4316005706787,50.8940505981445 14.7467956542969,53.0137405395508 21.4450149536133,53.6666069030762 C21.8604736328125,50.1140022277832 22.7083492279053,48.0706214904785 22.9203186035156,47.5958137512207 Z" p-id="5502" fill="#FFAED7FF" stroke="Null"></path> <path d="M68.5784454345703,56.5832901000977 L68.6801910400391,56.515453338623 C68.7140960693359,56.4900283813477 68.7649688720703,56.4052429199219 68.807373046875,56.3374099731445 C68.4342956542969,51.6995277404785 67.2388000488281,49.3678703308105 67.2218475341797,49.3424339294434 L67.0692138671875,48.9863243103027 C66.0093841552734,45.7813529968262 62.1854553222656,42.737476348877 58.6752471923828,42.2881011962891 L57.7595443725586,42.3135375976563 C57.7510681152344,42.3220138549805 57.6154022216797,42.3559341430664 57.5560531616211,42.3813629150391 C57.3186416625977,42.5339813232422 56.5301284790039,43.0087966918945 55.7585525512695,43.3733787536621 C53.0707817077637,44.6706275939941 50.1286544799805,45.3913269042969 47.0254287719727,45.5185050964355 C43.9730758666992,45.6456909179688 40.9037628173828,45.1539192199707 38.1651268005371,44.1110343933105 C37.4189949035645,43.8312377929688 36.6559066772461,43.4496955871582 36.3337097167969,43.2885932922363 C33.1711387634277,44.63671875 30.3222732543945,47.6551551818848 29.4743957519531,50.7922973632813 C29.4743957519531,50.7922973632813 28.3212852478027,53.3783149719238 28.3467254638672,58.3723106384277 C28.3552017211914,58.6775398254395 28.4823837280273,59.0082130432129 28.6773948669434,59.3134498596191 C31.8654098510742,60.4835166931152 38.2414360046387,62.1962242126465 47.6358985900879,61.8146820068359 C61.5749816894531,61.2550926208496 68.5106048583984,56.6341667175293 68.5784454345703,56.5832901000977 Z M48.4413795471191,14.8762741088867 C41.8279495239258,14.8762741088867 36.4693717956543,20.2348480224609 36.4693717956543,26.8482799530029 C36.4693717956543,27.5604991912842 36.5456848144531,28.2557582855225 36.6643829345703,28.9340591430664 C38.5551452636719,32.2153358459473 42.0907897949219,34.4452514648438 46.1436347961426,34.4452514648438 C52.1720314025879,34.4452514648438 57.07275390625,29.544527053833 57.07275390625,23.5161285400391 C57.07275390625,20.9046745300293 56.148567199707,18.505184173584 54.6139183044434,16.6144218444824 C52.8079376220703,15.5121822357178 50.705207824707,14.8762741088867 48.4413757324219,14.8762741088867 Z" p-id="5503" fill="#FFAED7FF" stroke="Null"></path> <path d="M46.2623405456543,64.4939727783203 C31.5347366333008,64.4939727783203 23.9716835021973,60.0426216125488 23.2255516052246,59.5762901306152 C22.0639629364014,58.9403877258301 21.2330436706543,57.6092147827148 21.2500019073486,56.3797988891602 L21.2500019073486,56.3543548583984 C21.4365329742432,51.1484031677246 22.6574764251709,48.1893196105957 22.9287948608398,47.5958061218262 C24.429536819458,42.9494438171387 29.3641662597656,38.8287696838379 34.1885871887207,38.1843795776367 L34.3496780395508,38.1759033203125 L35.4180068969727,38.1674194335938 C36.0369567871094,38.1589469909668 36.8509140014648,38.3539543151855 37.3935546875,38.6676712036133 C37.410514831543,38.6761474609375 38.2329483032227,39.1509628295898 38.9536476135254,39.4561958312988 C41.2005157470703,40.4227714538574 43.7526206970215,40.9314956665039 46.3216857910156,40.9314956665039 C48.9246673583984,40.9314956665039 51.4174194335938,40.4312438964844 53.7151679992676,39.4392395019531 C54.4273872375488,39.1424789428711 55.2243881225586,38.6761474609375 55.2328681945801,38.6761474609375 L55.2752647399902,38.6507110595703 C55.8009490966797,38.3709106445313 56.6064300537109,38.1674194335938 57.1999359130859,38.1674194335938 L58.386962890625,38.1758995056152 L58.4802322387695,38.1928558349609 C63.3216018676758,38.9050750732422 68.3071136474609,43.1698913574219 69.6637115478516,47.7314643859863 C69.9435119628906,48.3588943481445 71.1051025390625,51.2162322998047 71.2746734619141,56.33740234375 L71.2746734619141,56.3967552185059 L71.30859375,56.3967552185059 L71.30859375,56.4306716918945 L71.2746734619141,56.4306716918945 L71.2746734619141,56.4476318359375 L71.30859375,56.4476318359375 L71.30859375,56.4985008239746 L71.2746734619141,56.4985008239746 L71.30859375,56.4985008239746 L71.30859375,56.5408973693848 L71.2746734619141,56.5408973693848 L71.2746734619141,56.5493698120117 L71.30859375,56.5493698120117 L71.2746734619141,56.5493698120117 C71.2068481445313,57.6685676574707 70.3674468994141,58.9827766418457 69.3160858154297,59.5762901306152 C68.6293029785156,60.0002326965332 61.0662536621094,64.4939727783203 46.262336730957,64.4939727783203 Z M23.9462451934814,56.4221954345703 C23.9547233581543,56.5917625427246 24.2006072998047,57.0411376953125 24.5228042602539,57.2107162475586 L24.6245460510254,57.2700614929199 C24.6923789978027,57.3124656677246 31.9162788391113,61.7892456054688 46.2538566589355,61.7892456054688 C60.5999145507813,61.7892456054688 67.8153533935547,57.3124656677246 67.8916473388672,57.2700614929199 L67.9764404296875,57.2192001342773 C68.2477569580078,57.0750617980957 68.5445251464844,56.6002426147461 68.5784301757813,56.3967552185059 C68.4003753662109,51.3518943786621 67.1963958740234,48.8167457580566 67.1879119873047,48.7913093566895 L67.1370391845703,48.6810836791992 L67.1031341552734,48.5623817443848 C66.0856781005859,44.9758644104004 62.0073928833008,41.4741401672363 58.1749954223633,40.8636665344238 L57.182975769043,40.8551902770996 C57.0473251342773,40.8551902770996 56.6996917724609,40.9399757385254 56.5470733642578,41.0162887573242 C56.3774909973145,41.1095542907715 55.5550537109375,41.5758857727051 54.7665328979492,41.9065589904785 C52.1381149291992,43.0427131652832 49.2892532348633,43.6192665100098 46.3132057189941,43.6192665100098 C43.3795509338379,43.6192665100098 40.4713401794434,43.0342292785645 37.8853187561035,41.9235153198242 C37.0204849243164,41.5504493713379 36.0962982177734,41.0162887573242 36.0539093017578,40.9993286132813 C35.9436874389648,40.9399757385254 35.6130142211914,40.8551902770996 35.4688720703125,40.8551902770996 L35.4434356689453,40.8551902770996 L34.4514236450195,40.8636665344238 C30.6953353881836,41.3978271484375 26.5916137695313,44.8741188049316 25.4554595947266,48.4860763549805 L25.4215431213379,48.5878219604492 L25.379150390625,48.6810836791992 C25.3706703186035,48.6980476379395 24.1242942810059,51.3349380493164 23.9377593994141,56.3967552185059 L23.9462413787842,56.4052314758301 L23.9377593994141,56.4052314758301 C23.9462413787842,56.4052314758301 23.9462413787842,56.4137077331543 23.9462413787842,56.4221954345703 Z M46.2877769470215,38.0656776428223 C38.2583923339844,38.0656776428223 31.7212677001953,31.5285587310791 31.7212677001953,23.4991722106934 C31.7212677001953,15.4697866439819 38.2583923339844,8.93266296386719 46.2877731323242,8.93266296386719 C54.3171653747559,8.93266296386719 60.8542861938477,15.4697866439819 60.8542861938477,23.4991722106934 C60.8458099365234,31.5285587310791 54.3171653747559,38.0656776428223 46.2877731323242,38.0656776428223 Z M46.2877769470215,11.6373863220215 C39.7421760559082,11.6373863220215 34.4259948730469,16.9620456695557 34.4259948730469,23.4991703033447 C34.4259948730469,30.044771194458 39.7506523132324,35.360954284668 46.2877769470215,35.360954284668 C52.833381652832,35.360954284668 58.1495666503906,30.0362911224365 58.1495666503906,23.4991703033447 C58.1495666503906,16.9535675048828 52.8249015808105,11.6373863220215 46.2877769470215,11.6373863220215 Z" p-id="5504" fill="#FF1195FE" stroke="Null"></path> <path d="M46.2623405456543,65.426628112793 C31.3058090209961,65.426628112793 23.5647010803223,60.890495300293 22.7337837219238,60.3732948303223 C21.3093528747559,59.6017303466797 20.2919006347656,57.9398803710938 20.3173408508301,56.3628387451172 C20.5038719177246,51.1484069824219 21.6654586791992,48.1299743652344 22.0554847717285,47.2566528320313 C23.6749267578125,42.3220138549805 28.9402389526367,37.9384994506836 34.0698852539063,37.2602005004883 L34.2903327941895,37.2432403564453 L35.4095306396484,37.2262802124023 C36.1895790100098,37.2178001403809 37.1731109619141,37.455207824707 37.8514175415039,37.8452339172363 C37.8683738708496,37.8537063598633 38.6568908691406,38.3030776977539 39.3182373046875,38.5913619995117 C41.4548873901367,39.5070648193359 43.8713302612305,39.990348815918 46.3132095336914,39.990348815918 C48.7890090942383,39.990348815918 51.1545867919922,39.5155410766602 53.333625793457,38.5743942260742 C53.9949722290039,38.2945976257324 54.749584197998,37.8621826171875 54.7580604553223,37.8621826171875 L54.8174133300781,37.8282661437988 C55.4957122802734,37.4636840820313 56.4453392028809,37.2347564697266 57.1914672851563,37.2347564697266 L58.607421875,37.268669128418 C63.8133773803711,38.0317611694336 69.0363006591797,42.4831085205078 70.5370330810547,47.4007873535156 C70.8931427001953,48.2147483825684 71.9105987548828,50.885555267334 72.1734313964844,55.4556045532227 L72.2158355712891,55.4556045532227 L72.2497406005859,57.4311599731445 L72.0632171630859,57.4396324157715 C71.7240600585938,58.6266593933105 70.8507537841797,59.7882537841797 69.7739562988281,60.3902397155762 C68.9769439697266,60.8820114135742 61.2697448730469,65.4266204833984 46.2623443603516,65.4266204833984 Z M35.468879699707,39.091609954834 L35.4349670410156,39.091609954834 L34.256420135498,39.1085662841797 C29.8220291137695,39.6935997009277 25.2180633544922,43.5514335632324 23.8190670013428,47.875602722168 L23.7851524353027,47.9773483276367 C23.5477485656738,48.4945526123047 22.3776779174805,51.3264579772949 22.1911468505859,56.3797988891602 C22.1741886138916,57.2700614929199 22.8185749053955,58.2875175476074 23.6749305725098,58.7538528442383 C24.5058479309082,59.271053314209 31.8314971923828,63.5528259277344 46.2708206176758,63.5528259277344 C60.7525405883789,63.5528259277344 68.0442810058594,59.2625732421875 68.8243255615234,58.7708053588867 C69.621337890625,58.3214340209961 70.2826690673828,57.3124504089355 70.3504943847656,56.5069732666016 L70.3504943847656,56.3797988891602 C70.1809234619141,51.3603706359863 69.0447692871094,48.6047744750977 68.8158416748047,48.0960464477539 L68.7734527587891,47.9773445129395 C67.5101165771484,43.7464408874512 62.8383178710938,39.7614288330078 58.3445739746094,39.1000823974609 L58.3191528320313,39.1000823974609 L57.1914672851563,39.0916061401367 C56.7590637207031,39.0916061401367 56.1061897277832,39.2526969909668 55.7161636352539,39.4646682739258 C55.6652946472168,39.4901008605957 54.8428535461426,39.964916229248 54.0797653198242,40.2871055603027 C51.6717910766602,41.3299942016602 49.0603370666504,41.8556785583496 46.3216972351074,41.8556785583496 C43.6254501342773,41.8556785583496 40.9546432495117,41.3215179443359 38.5890655517578,40.3040657043457 C37.8175010681152,39.9733924865723 36.9357109069824,39.4646682739258 36.9272308349609,39.4646682739258 C36.5456848144531,39.2527046203613 35.9267387390137,39.0916061401367 35.4688873291016,39.0916061401367 Z M46.2623405456543,62.7303886413574 C31.6619186401367,62.7303886413574 24.2006072998047,58.1094627380371 24.1327800750732,58.0670738220215 L24.0564708709717,58.0246734619141 C23.6749267578125,57.8296699523926 23.361213684082,57.4396438598633 23.1831588745117,57.0581016540527 L23.0051040649414,56.9733123779297 L23.0220623016357,56.3543548583984 C23.0305404663086,56.1763114929199 23.0390205383301,56.0067367553711 23.0475006103516,55.8371620178223 L23.0644550323486,55.4810485839844 C23.3612117767334,50.8431663513184 24.5058441162109,48.4012870788574 24.5567169189453,48.2910652160645 L24.5821533203125,48.2232360839844 C25.8285293579102,44.2551727294922 30.2035751342773,40.5499572753906 34.3327255249023,39.9564437866211 L34.4599075317383,39.9479675292969 L35.4519195556641,39.9394912719727 C35.7741165161133,39.9479675292969 36.2574081420898,40.0497169494629 36.5202484130859,40.2023277282715 C36.6219940185547,40.2616806030273 37.478343963623,40.7449722290039 38.2583923339844,41.0841217041016 C40.725715637207,42.1439666748047 43.5152206420898,42.7035636901855 46.3216896057129,42.7035636901855 C49.1705513000488,42.7035636901855 51.8922386169434,42.1524429321289 54.4019508361816,41.0671615600586 C55.1480827331543,40.7534484863281 55.9366035461426,40.3040733337402 56.089225769043,40.2192840576172 C56.3859825134277,40.0666732788086 56.8777542114258,39.9394912719727 57.1914672851563,39.9394912719727 L58.3276214599609,39.9649276733398 C62.5415649414063,40.6347503662109 66.8826904296875,44.3823585510254 68.0103607177734,48.3334617614746 L68.0357971191406,48.4097709655762 C68.1714630126953,48.7065315246582 69.3500061035156,51.3264694213867 69.5280609130859,56.3882827758789 L69.5280609130859,56.4730758666992 L69.5111083984375,56.5578536987305 C69.4432830810547,57.0326728820801 68.9769439697266,57.7703170776367 68.4342956542969,58.0670738220215 L68.3834228515625,58.1009979248047 C68.3240814208984,58.1094627380371 60.8966827392578,62.730396270752 46.2623443603516,62.730396270752 Z M26.8290252685547,57.3294219970703 C29.7202796936035,58.6097068786621 36.2319717407227,60.8565788269043 46.2623405456543,60.8565788269043 C60.2098999023438,60.8565788269043 67.3320617675781,56.5239372253418 67.3998870849609,56.4730644226074 L67.5016326904297,56.4137077331543 C67.5355529785156,56.3882713317871 67.5948944091797,56.3119659423828 67.6372985839844,56.2441329956055 C67.4507598876953,51.5892944335938 66.3485260009766,49.2152404785156 66.3400421142578,49.1898040771484 L66.2043914794922,48.8336982727051 C65.2801971435547,45.5863342285156 61.5749816894531,42.389835357666 58.0902099609375,41.804801940918 L57.1744995117188,41.796329498291 C57.1660308837891,41.8048057556152 57.0303649902344,41.8387222290039 56.9710159301758,41.8556823730469 C56.7251281738281,41.991340637207 55.9196434020996,42.4407196044922 55.1396026611328,42.7713890075684 C52.4009666442871,43.9584121704102 49.4334030151367,44.5519256591797 46.3301734924316,44.5519256591797 C43.2693367004395,44.5519256591797 40.233943939209,43.9414520263672 37.5377006530762,42.7798652648926 C36.7322158813477,42.4322357177734 35.9013023376465,41.9659042358398 35.6554145812988,41.8302421569824 C35.596061706543,41.8132858276367 35.4943199157715,41.7878494262695 35.4519271850586,41.7878494262695 L34.5531768798828,41.7963218688965 C31.1362380981445,42.3135261535645 27.4055824279785,45.4930610656738 26.3796539306641,48.765869140625 L26.2439918518066,49.0965423583984 C26.2355117797852,49.1050148010254 25.175666809082,51.4366760253906 24.9213066101074,55.8371543884277 L26.8290252685547,57.3294219970703 Z M67.6796875,56.1763114929199 Z M46.2877769470215,38.9983406066895 C37.7411880493164,38.9983406066895 30.7886047363281,32.0457572937012 30.7886047363281,23.4991722106934 C30.7886047363281,14.952582359314 37.7411880493164,8 46.2877731323242,8 C54.8343696594238,8 61.7869415283203,14.952582359314 61.7869415283203,23.4991722106934 C61.7784729003906,32.0457572937012 54.8258895874023,38.9983406066895 46.2877769470215,38.9983406066895 Z M46.2877769470215,9.87380409240723 C38.7755966186523,9.87380409240723 32.6539306640625,15.9869909286499 32.6539306640625,23.5076484680176 C32.6539306640625,31.0198307037354 38.7671203613281,37.141487121582 46.2877731323242,37.141487121582 C53.8084335327148,37.141487121582 59.921630859375,31.0283069610596 59.921630859375,23.5076484680176 C59.9131469726563,15.986988067627 53.7999610900879,9.87380409240723 46.2877807617188,9.87380409240723 Z M46.2877769470215,36.3020935058594 C39.2334518432617,36.3020935058594 33.4848556518555,30.5619773864746 33.4848556518555,23.4991722106934 C33.4848556518555,16.4363651275635 39.224967956543,10.6962451934814 46.2877769470215,10.6962451934814 C53.3505859375,10.6962451934814 59.0906982421875,16.4363651275635 59.0906982421875,23.4991722106934 C59.0906982421875,30.5619773864746 53.3421058654785,36.3020935058594 46.2877731323242,36.3020935058594 Z M46.2877769470215,12.5700521469116 C40.2593803405762,12.5700521469116 35.3586578369141,17.4707736968994 35.3586578369141,23.4991722106934 C35.3586578369141,29.5275688171387 40.2593803405762,34.4282913208008 46.2877769470215,34.4282913208008 C52.3161811828613,34.4282913208008 57.2169036865234,29.5275688171387 57.2169036865234,23.4991722106934 C57.2169036865234,17.4707736968994 52.3076934814453,12.5700521469116 46.2877769470215,12.5700521469116 Z" p-id="5505" fill="#FF1195FE" stroke="Null"></path>
1
2
3
4- 該控制元件位於
②btSetUserPass屬性設定
- 該控制元件位於
fxListBox1
的ListBoxItem2
中。 Height
:設定控制元件高度=94
。Width
:設定控制元件寬度=94
。Name
:設定控制元件名稱為btSetUserPass
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定按鈕顯示的文字內容=修改密碼
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M53.0557670593262,49.83984375 M45.3484268188477,49.83984375 C45.3469619750977,54.0971183776855 48.7964630126953,57.548999786377 53.0531044006348,57.5504722595215 C57.3125,57.5519409179688 60.7655258178711,54.0981559753418 60.7631072998047,49.8387565612793 C60.7631072998047,45.582103729248 57.3124237060547,42.1314163208008 53.0557670593262,42.1314163208008 C48.7991180419922,42.1314163208008 45.3484268188477,45.582103729248 45.3484268188477,49.8387565612793 Z" p-id="6714" fill="#FFBAD4FF" stroke="Null"></path> <path d="M47,70.759765625 C29.9337463378906,70.759765625 15.6201171875,56.4461364746094 15.6201171875,39.3798828125 C15.6201171875,22.3136329650879 29.9337463378906,8 47,8 C64.0662536621094,8 78.3798828125,22.3136310577393 78.3798828125,39.3798828125 C78.3798828125,56.4461364746094 64.0662536621094,70.759765625 47,70.759765625 Z M47,11.8536682128906 C32.1358451843262,11.8536682128906 19.4737854003906,24.5157299041748 19.4737854003906,39.3798828125 C19.4737854003906,54.2440414428711 31.585319519043,66.9060974121094 47,66.9060974121094 C62.4146881103516,66.9060974121094 74.5262145996094,54.7945671081543 74.5262145996094,39.3798828125 C74.5262145996094,24.5157299041748 61.8641586303711,11.8536682128906 47,11.8536682128906 Z M53.0557670593262,59.1987571716309 C50.8536720275879,59.1987571716309 48.1010513305664,58.6482276916504 47,56.4461364746094 C43.6968536376953,53.1429862976074 43.1463317871094,47.6377410888672 46.4494781494141,44.334602355957 L29.3832206726074,26.7178249359131 L35.4389877319336,20.6620559692383 C41.4947547912598,14.6062908172607 35.9895095825195,20.1115341186523 36.5400390625,20.1115341186523 C37.0905609130859,20.1115341186523 37.6410827636719,20.6620559692383 38.1916122436523,20.6620559692383 C38.7421340942383,21.2125816345215 39.2926559448242,21.7631034851074 39.2926559448242,22.3136310577393 C39.2926559448242,22.8641548156738 38.7421340942383,23.4146785736084 38.7421340942383,23.9652042388916 L35.4389877319336,26.7178268432617 L38.7421340942383,30.0209732055664 L41.4947547912598,26.7178268432617 C42.045280456543,26.7178268432617 42.045280456543,26.1673030853271 43.1463279724121,26.1673030853271 C44.2473793029785,26.1673030853271 44.2473754882813,26.7178268432617 44.7979011535645,26.7178268432617 L44.7979011535645,28.3694000244141 C44.7979011535645,28.9199275970459 44.2473793029785,29.4704475402832 44.2473793029785,30.0209732055664 L40.9442291259766,33.3241195678711 L49.2020988464355,41.5819854736328 C50.303150177002,41.0314598083496 51.954719543457,41.0314598083496 53.0557670593262,41.0314598083496 C55.2578659057617,41.0314598083496 58.0104827880859,41.5819854736328 59.6620483398438,43.7840766906738 C61.8641586303711,45.4356536865234 62.4146881103516,47.6377487182617 62.4146881103516,49.8398513793945 C62.4146881103516,52.0419464111328 61.8641586303711,54.7945671081543 59.6620483398438,56.4461364746094 C58.5610122680664,58.0977096557617 55.8083839416504,59.1987609863281 53.0557670593262,59.1987609863281 Z M53.0557670593262,44.334602355957 C51.4041938781738,44.334602355957 50.303150177002,44.8851280212402 49.2020988464355,45.9861755371094 C47,48.1882667541504 47,51.4914169311523 49.2020988464355,53.6935081481934 C50.8536720275879,54.2440414428711 51.954719543457,55.3450889587402 53.0557670593262,55.3450889587402 C54.7073440551758,55.3450889587402 55.8083839416504,54.794563293457 56.9094390869141,53.6935081481934 C59.1115341186523,51.4914169311523 59.1115341186523,48.1882667541504 56.9094390869141,45.9861755371094 C55.8083839416504,44.8851280212402 54.7073440551758,44.334602355957 53.0557670593262,44.334602355957 Z" p-id="6715" fill="#FF4E8CEE" stroke="Null"></path>
1
2- 該控制元件位於
③btUserLocation屬性設定
- 該控制元件位於
fxListBox1
的ListBoxItem3
中。 Height
:設定控制元件高度=94
。Width
:設定控制元件寬度=94
。Name
:設定控制元件名稱為btSetUserLocation
。ButtonType
:設定按鈕型別,設定為TfxSvgButton
。ButtonType.Text
:設定按鈕顯示的文字內容=即時定位
。ButtonType.SvgData
:設定SVG數據,其數據內容如下。
<path d="M78.3754653930664,22.1516265869141 L78.3754653930664,56.5993118286133 C78.3754653930664,57.5439300537109 78.2871856689453,58.4708938598633 78.1106262207031,59.3625450134277 L78.0046844482422,59.8392639160156 C77.9693756103516,59.998176574707 77.9340591430664,60.1394233703613 77.8810882568359,60.2983360290527 C76.8658447265625,64.0768127441406 74.2880096435547,67.2461395263672 70.9156341552734,69.0559234619141 C70.7743835449219,69.1442031860352 70.6331329345703,69.2148284912109 70.4742202758789,69.2854537963867 C70.3329772949219,69.3737335205078 70.1740570068359,69.4443588256836 70.0151519775391,69.5149841308594 C68.24951171875,70.3007049560547 66.2808227539063,70.759765625 64.2150192260742,70.759765625 L29.7849864959717,70.759765625 C29.0169334411621,70.759765625 28.2400493621826,70.6891326904297 27.5073089599609,70.5831985473633 C27.3660545349121,70.5478820800781 27.2071495056152,70.5302276611328 27.0658988952637,70.4949188232422 C26.9246463775635,70.4595947265625 26.765739440918,70.4419555664063 26.6244869232178,70.3889770507813 C20.3388004302979,68.9676361083984 15.6245346069336,63.3352355957031 15.6245346069336,56.6081352233887 L15.6245346069336,22.1516265869141 C15.6245346069336,20.2976989746094 15.9953193664551,18.5055732727051 16.639778137207,16.8811836242676 C16.6927490234375,16.7399291992188 16.7633743286133,16.5986785888672 16.8339996337891,16.4750843048096 C16.8869686126709,16.3338317871094 16.9399375915527,16.1925811767578 17.0105648040771,16.0513305664063 C18.855655670166,12.2022294998169 22.3692855834961,9.31540393829346 26.6244850158691,8.35312843322754 C26.7657356262207,8.31781578063965 26.9246444702148,8.28250312805176 27.0658950805664,8.26484680175781 C27.207145690918,8.22953319549561 27.3660545349121,8.21187686920166 27.5073051452637,8.17656421661377 C28.2223892211914,8.07062530517578 28.9463024139404,8 29.6967010498047,8 L64.232666015625,8 C72.0368194580078,8 78.3754653930664,14.3386573791504 78.3754653930664,22.1516265869141 Z" p-id="10252" fill="#FF8ED980" stroke="Null"></path> <path d="M78.0046768188477,59.830436706543 C77.9693756103516,59.9893455505371 77.9340515136719,60.1305999755859 77.8810882568359,60.2895050048828 C76.8658447265625,64.0679779052734 74.2880096435547,67.2373123168945 70.9156188964844,69.0470886230469 C70.7743759155273,69.1353759765625 70.6331253051758,69.2059936523438 70.4742126464844,69.2766265869141 L64.3650970458984,64.9508056640625 L62.440544128418,63.5824241638184 L61.7254600524902,63.0703887939453 L60.886775970459,62.4788970947266 L55.1042938232422,58.3826065063477 L54.3185844421387,57.8440856933594 C53.5328750610352,57.3055686950684 54.3009300231934,57.8440856933594 54.3009300231934,57.8264350891113 L53.6564712524414,57.3497085571289 L52.243953704834,56.352123260498 L42.1091690063477,49.1747817993164 L39.9021148681641,47.612190246582 L39.0281219482422,46.9853858947754 L36.1059799194336,44.9195823669434 L32.9543113708496,42.6772193908691 L31.8154697418213,41.873851776123 L29.6967010498047,40.3642272949219 L27.5073013305664,38.8192901611328 L26.6333084106445,38.1924896240234 L25.9182243347168,37.6804504394531 L15.633355140686,30.3971748352051 L15.633355140686,22.1516265869141 C15.633355140686,20.2976989746094 16.0041408538818,18.5055732727051 16.6485996246338,16.8811836242676 C16.7015686035156,16.7399291992188 16.7721939086914,16.5986785888672 16.8428211212158,16.4750843048096 L26.6333084106445,23.4140586853027 L27.5073013305664,24.0408630371094 L29.6966972351074,25.5858001708984 L36.803409576416,30.6267108917236 L39.0281219482422,32.206958770752 L39.9021148681641,32.8337631225586 L61.2134208679199,47.9300117492676 L62.4581985473633,48.8040008544922 L62.8642959594727,49.1041603088379 L63.3057022094727,49.4043235778809 L67.2254333496094,52.1852073669434 L68.4525527954102,53.059196472168 L72.1162567138672,55.6546936035156 L72.5223617553711,55.9548530578613 L72.928466796875,56.2196998596191 L72.928466796875,56.2373580932617 L73.8377685546875,56.8818168640137 L78.0046844482422,59.830436706543 Z" p-id="10253" fill="#FFFFD34A" stroke="Null"></path> <path d="M39.4607009887695,8 L39.4607009887695,70.7421112060547 L29.7849826812744,70.7421112060547 C29.0169296264648,70.7421112060547 28.2400455474854,70.6714782714844 27.5073051452637,70.565544128418 C27.3660545349121,70.5302276611328 27.207145690918,70.5125732421875 27.0658950805664,70.4772567749023 L27.0658950805664,8.26484680175781 C27.207145690918,8.22953319549561 27.3660545349121,8.21187686920166 27.5073051452637,8.17656421661377 C28.2223892211914,8.07062530517578 28.9463024139404,8 29.6967010498047,8 L39.4607048034668,8 Z" p-id="10254" fill="White" stroke="Null"></path> <path d="M29.6967010498047,8 L36.8034133911133,8 L36.8034133911133,42.6772193908691 L29.6967010498047,42.6772193908691 Z" p-id="10255" fill="#FF008DDA" stroke="Null"></path> <path d="M57.5232276916504,8 L46.3996810913086,8 C46.5938987731934,25.8065052032471 60.7278671264648,40.3465728759766 78.3754653930664,41.167594909668 L78.3754653930664,30.026388168335 C66.8546447753906,29.2230224609375 57.6909637451172,19.6797256469727 57.5232276916504,8 Z" p-id="10256" fill="White" stroke="Null"></path> <path d="M57.955810546875,8 L57.0818176269531,8 C57.2583808898926,19.9269142150879 66.6074600219727,29.6644344329834 78.3754653930664,30.4678001403809 L78.3754653930664,29.593807220459 C67.0841827392578,28.7904415130615 58.1323738098145,19.4501914978027 57.955810546875,8 Z M57.955810546875,8 L57.0818176269531,8 C57.2583808898926,19.9269142150879 66.6074600219727,29.6644344329834 78.3754653930664,30.4678001403809 L78.3754653930664,29.593807220459 C67.0841827392578,28.7904415130615 58.1323738098145,19.4501914978027 57.955810546875,8 Z M57.955810546875,8 L57.0818176269531,8 C57.2583808898926,19.9269142150879 66.6074600219727,29.6644344329834 78.3754653930664,30.4678001403809 L78.3754653930664,29.593807220459 C67.0841827392578,28.7904415130615 58.1323738098145,19.4501914978027 57.955810546875,8 Z M46.8410911560059,8 L45.9759254455566,8 C46.1524887084961,26.0536937713623 60.4718475341797,40.7791557312012 78.3754653930664,41.5913505554199 L78.3754653930664,40.7350120544434 C60.9662322998047,39.8875045776367 47.0264854431152,25.5681438446045 46.8410911560059,8 Z" p-id="10257" fill="#FF80C073" stroke="Null"></path> <path d="M41.897289276123,49.5544013977051 L52.4205207824707,57.0142364501953 L53.9654579162598,58.1177673339844 L54.7511711120605,58.6562881469727 L54.7688255310059,58.6739387512207 L55.8723526000977,59.4596519470215 L59.5537147521973,62.0728073120117 L59.5713691711426,62.0728073120117 L60.7102127075195,62.8761711120605 C61.849048614502,63.6795387268066 60.7102127075195,62.8938255310059 60.7278671264648,62.8938255310059 L61.5488891601563,63.4853172302246 L63.6146926879883,64.9949340820313 L63.6676597595215,64.9949340820313 L70.0239715576172,69.4973297119141 C70.1828765869141,69.4266967773438 70.3417892456055,69.3560791015625 70.483039855957,69.2677917480469 C70.6419525146484,69.1971664428711 70.783203125,69.1265411376953 70.9244537353516,69.0382614135742 L64.9918899536133,64.8360290527344 L63.2439079284668,63.6177368164063 L62.6347618103027,63.1586685180664 C62.6171035766602,63.1586685180664 62.6171035766602,63.1586685180664 62.5994491577148,63.1410102844238 L61.9020156860352,62.6642913818359 L57.1877479553223,59.3272247314453 L56.9052467346191,59.115348815918 L54.6452293395996,57.5262718200684 L54.0007705688477,57.0671997070313 L53.4269332885742,56.6610984802246 L52.1291885375977,55.7341423034668 L42.3033828735352,48.7686805725098 C42.1709671020508,49.0335273742676 42.0385360717773,49.2983741760254 41.897289276123,49.5543899536133 Z M26.2095565795898,37.371467590332 L15.6333589553833,29.8763122558594 L15.6333589553833,30.9445247650146 L25.6092376708984,38.0159225463867 C25.8034591674805,37.7952194213867 25.9976806640625,37.5745086669922 26.2095565795898,37.371467590332 Z M17.0105590820313,16.0513305664063 C16.9399337768555,16.1925811767578 16.8869647979736,16.3338317871094 16.8339958190918,16.4750843048096 C16.763370513916,16.5986785888672 16.6927433013916,16.7399291992188 16.6397743225098,16.8811836242676 L26.6244831085205,23.952579498291 L26.6244831085205,22.8843650817871 L17.0105590820313,16.0513305664063 Z M73.9437026977539,56.4227485656738 L72.9814300537109,55.742977142334 L72.5929870605469,55.4604721069336 L72.1868896484375,55.1779708862305 L69.2117767333984,53.059196472168 L68.5849761962891,52.617790222168 L67.975830078125,52.1763801574707 L64.8771286010742,49.9869842529297 L64.8771286010742,49.9693298339844 L63.4381294250488,48.9717407226563 C63.4204750061035,48.9540824890137 63.4028167724609,48.9540824890137 63.3851623535156,48.9364242553711 L62.9260902404785,48.6097793579102 L61.7342872619629,47.7710952758789 L39.9021148681641,32.2864074707031 L39.9021148681641,33.354621887207 L60.6572418212891,48.062427520752 L61.9726486206055,48.989387512207 L62.3964042663574,49.3072052001953 L62.8201599121094,49.5897064208984 L66.4662170410156,52.1851997375488 L67.0753555297852,52.6266136169434 L67.7021636962891,53.0680198669434 L72.0279846191406,56.1490669250488 L72.4164276123047,56.4139137268066 L72.8048706054688,56.6787605285645 L73.7141723632813,57.3232192993164 L77.8987426757813,60.2983283996582 C77.9517059326172,60.1394195556641 77.9870223999023,59.9981651306152 78.0223388671875,59.8392601013184 L78.1282653808594,59.3625335693359 L73.9436950683594,56.4227409362793 Z" p-id="10258" fill="#FFFFA934" stroke="Null"></path> <path d="M26.6244850158691,70.3801574707031 C26.7657356262207,70.4331207275391 26.9246444702148,70.4507751464844 27.0658950805664,70.4860916137695 C27.207145690918,70.5214080810547 27.3660545349121,70.5390548706055 27.5073051452637,70.5743713378906 L27.5073051452637,52.6972427368164 C27.1983184814453,52.4853630065918 26.9069862365723,52.2470054626465 26.6333122253418,51.999813079834 L26.6333122253418,70.3801574707031 Z" p-id="10259" fill="#FFFFB0BD" stroke="Null"></path> <path d="M27.5073051452637,23.4935131072998 L27.5073051452637,8.17656421661377 C27.3660545349121,8.21187782287598 27.207145690918,8.22953414916992 27.0658950805664,8.26484680175781 C26.9246425628662,8.28250312805176 26.7657356262207,8.31781578063965 26.6244850158691,8.35312843322754 L26.6244850158691,22.8843650817871 L27.0658950805664,23.1845283508301 L27.5073051452637,23.4935131072998 Z" p-id="10260" fill="#FFC5C3BD" stroke="Null"></path> <path d="M27.5073051452637,24.5617275238037 L27.0658950805664,24.261568069458 L26.6244850158691,23.9437522888184 L26.6244850158691,36.974193572998 C26.9069862365723,36.7270050048828 27.1983184814453,36.4974670410156 27.498477935791,36.2767639160156 L27.498477935791,24.5617275238037 Z" p-id="10261" fill="#FFEAC243" stroke="Null"></path> <path d="M39.9021148681641,8 L39.0281219482422,8 L39.0281219482422,31.6596088409424 L39.9021148681641,32.2864151000977 Z" p-id="10262" fill="#FF80C073" stroke="Null"></path> <path d="M39.0281219482422,70.7421112060547 L39.9021148681641,70.7421112060547 L39.9021148681641,51.9733238220215 C39.6196098327637,52.220516204834 39.3282814025879,52.4588775634766 39.0281219482422,52.6707572937012 L39.0281219482422,70.7421112060547 Z" p-id="10263" fill="#FFC5C3BD" stroke="Null"></path> <path d="M39.0281219482422,32.7454795837402 L39.0281219482422,36.3209037780762 C39.3371086120605,36.5416107177734 39.6284408569336,36.7711410522461 39.9021148681641,37.0183334350586 L39.9021148681641,33.354621887207 L39.4607009887695,33.0544662475586 L39.0281219482422,32.745475769043 Z" p-id="10264" fill="#FFEAC243" stroke="Null"></path> <path d="M39.0281219482422,31.6596088409424 L39.0281219482422,32.7454833984375 L39.4607009887695,33.0632972717285 L39.9021148681641,33.3546295166016 L39.9021148681641,32.2864151000977 Z M27.5073051452637,24.5617275238037 L27.5073051452637,23.4935131072998 L27.0658950805664,23.1845283508301 L26.6244850158691,22.8843650817871 L26.6244850158691,23.952579498291 L27.0658950805664,24.2703952789307 Z" p-id="10265" fill="#FFEE9B30" stroke="Null"></path> <path d="M42.3033905029297,48.7686882019043 C42.9125366210938,47.4709396362305 43.2656631469727,46.0319442749023 43.2656631469727,44.4958343505859 C43.2656631469727,41.5207252502441 41.9590911865234,38.854606628418 39.9021148681641,37.0183334350586 L39.9021148681641,47.0648422241211 L42.3033905029297,48.7686882019043 Z M25.6092376708984,38.0159225463867 C24.1260986328125,39.7639122009277 23.225622177124,42.0239334106445 23.225622177124,44.4958343505859 C23.225622177124,47.488597869873 24.5498542785645,50.1723747253418 26.6244831085205,52.0086441040039 L26.6244831085205,38.7310066223145 L25.6092376708984,38.0159225463867 Z M27.5073051452637,36.2944221496582 L27.5073051452637,38.2984237670898 L29.6967010498047,39.8433685302734 L31.9743804931641,41.4500999450684 L33.6870536804199,42.6772232055664 L35.8587951660156,44.2221603393555 L35.8764533996582,44.2221603393555 L39.0281219482422,46.464527130127 L39.0281219482422,36.3209075927734 C37.394905090332,35.1644096374512 35.399730682373,34.4758110046387 33.2456436157227,34.4758110046387 C31.1092166900635,34.4758110046387 29.1316967010498,35.1555862426758 27.5073051452637,36.2944221496582 Z M36.3443450927734,45.6346702575684 L32.1774291992188,42.6772193908691 L31.6477355957031,42.3064308166504 L29.687873840332,40.9027481079102 L27.4984760284424,39.3578109741211 L27.4984760284424,52.6972351074219 C29.1228675842285,53.8360786437988 31.1003837585449,54.5158500671387 33.2456436157227,54.5158500671387 C35.3997268676758,54.5158500671387 37.394905090332,53.8272514343262 39.0281219482422,52.6707534790039 L39.0281219482422,47.5239028930664 L36.3443450927734,45.6346626281738 Z M26.6244850158691,36.9918518066406 C26.4832324981689,37.1154479980469 26.3419799804688,37.2390365600586 26.2095565795898,37.371467590332 L26.6244850158691,37.6716232299805 L26.6244850158691,36.9918479919434 Z M39.9021148681641,51.9733238220215 C40.6878280639648,51.2758979797363 41.358772277832,50.4637031555176 41.8884658813477,49.5455665588379 L39.9021148681641,48.1330528259277 L39.9021148681641,51.9733238220215 Z" p-id="10266" fill="#FF0078D3" stroke="Null"></path> <path d="M36.1059799194336,44.910758972168 L32.9543113708496,42.6772232055664 L31.8154716491699,41.8650283813477 L29.6967010498047,40.3642311096191 L27.507303237915,38.8192939758301 L27.507303237915,39.3666458129883 L29.6967010498047,40.9027519226074 L31.6565628051758,42.3064384460449 L32.1774291992188,42.6772232055664 L36.3443450927734,45.6346740722656 L39.0281219482422,47.5239105224609 L39.0281219482422,46.9765625 Z" p-id="10267" fill="#FF0078D3" stroke="Null"></path> <path d="M35.8587951660156,44.2133293151855 L33.6870536804199,42.6772232055664 L31.9655513763428,41.4500999450684 L29.6967010498047,39.8345413208008 L27.507303237915,38.2984313964844 L27.507303237915,38.8192939758301 L29.6967010498047,40.3642311096191 L31.8154716491699,41.8650283813477 L32.9543113708496,42.6772232055664 L36.1059799194336,44.910758972168 L39.0281219482422,46.9765625 L39.0281219482422,46.455696105957 L35.8764495849609,44.2133293151855 Z M26.6244850158691,37.6627960205078 L26.2095565795898,37.3626365661621 C25.9976806640625,37.5656890869141 25.8034610748291,37.7863922119141 25.6092395782471,38.0070953369141 L26.6244850158691,38.7221794128418 L26.6244850158691,37.6627960205078 Z M39.9021148681641,48.133056640625 L41.8884658813477,49.5455703735352 C42.0385437011719,49.28955078125 42.1709671020508,49.0335350036621 42.3033905029297,48.7598571777344 L39.9021148681641,47.0648422241211 L39.9021148681641,48.133056640625 Z M26.6244850158691,38.7310066223145 L26.6244850158691,52.0086441040039 C26.9069862365723,52.2558326721191 27.1983184814453,52.4853630065918 27.498477935791,52.7060699462891 L27.498477935791,39.3666381835938 L26.6244850158691,38.7310066223145 Z M39.4607009887695,47.8417282104492 L39.0192947387695,47.5239105224609 L39.0192947387695,52.6707572937012 C39.3282814025879,52.4500503540039 39.6196098327637,52.220516204834 39.8932876586914,51.9733238220215 L39.8932876586914,48.133056640625 L39.4607009887695,47.8417282104492 Z" p-id="10268" fill="#FF0078D3" stroke="Null"></path> <path d="M39.0281219482422,46.455696105957 L39.4695358276367,46.7735137939453 L39.9109420776367,47.073673248291 L39.9109420776367,37.0183334350586 C39.6284408569336,36.7711486816406 39.3371086120605,36.5327835083008 39.0369529724121,36.3209075927734 L39.0369529724121,46.455696105957 Z M27.5073051452637,38.2984237670898 L27.5073051452637,36.2944221496582 C27.1983184814453,36.5062980651855 26.9069862365723,36.7446594238281 26.6333122253418,36.9918518066406 L26.6333122253418,37.6716232299805 L27.5073051452637,38.2984313964844 Z" p-id="10269" fill="#FF0078D3" stroke="Null"></path> <path d="M27.5073051452637,38.2984237670898 L26.6244850158691,37.6627960205078 L26.6244850158691,38.7310066223145 L27.5073051452637,39.3666381835938 L27.5073051452637,38.8192901611328 Z M39.0281219482422,47.5239105224609 L39.4607009887695,47.8417282104492 L39.9021148681641,48.133056640625 L39.9021148681641,47.0648422241211 L39.4607009887695,46.7735137939453 L39.0281219482422,46.455696105957 L39.0281219482422,46.9765625 Z M74.2615203857422,53.871395111084 C74.2615203857422,60.0334854125977 69.2735748291016,65.0302581787109 63.1026573181152,65.0302581787109 C56.9405632019043,65.0302581787109 51.9437942504883,60.0423164367676 51.9437942504883,53.871395111084 C51.9437942504883,51.5407447814941 52.658878326416,49.3690071105957 53.8859977722168,47.5680503845215 C55.1837463378906,48.1065711975098 56.5786056518555,48.3890762329102 58.0705718994141,48.3890762329102 C59.977466583252,48.3890762329102 61.7695960998535,47.9123497009277 63.3233604431152,47.0560150146484 C64.8859558105469,47.9123497009277 66.6692504882813,48.3890762329102 68.5761489868164,48.3890762329102 C69.9268646240234,48.3890762329102 71.2069549560547,48.1418838500977 72.3899383544922,47.709300994873 C73.5729217529297,49.4749412536621 74.2615203857422,51.5937156677246 74.2615203857422,53.871395111084 Z" p-id="10270" fill="#FF0078D3" stroke="Null"></path> <path d="M72.6724395751953,54.3216323852539 C72.6724395751953,59.2124633789063 68.390754699707,63.1763305664063 63.1026573181152,63.1763305664063 C57.8145561218262,63.1763305664063 53.5328750610352,59.2124557495117 53.5328750610352,54.3216323852539 C53.5328750610352,52.4677085876465 54.1508483886719,50.746208190918 55.2014045715332,49.316032409668 C56.3137588500977,49.7486152648926 57.5143928527832,49.9693222045898 58.7944869995117,49.9693222045898 C60.4365310668945,49.9693222045898 61.9638137817383,49.5897102355957 63.3057022094727,48.9099349975586 C64.647590637207,49.5897102355957 66.1748657226563,49.9693222045898 67.8169250488281,49.9693222045898 C68.9734191894531,49.9693222045898 70.068115234375,49.7751007080078 71.0921859741211,49.4308013916016 C72.0897674560547,50.8256607055664 72.6724395751953,52.511848449707 72.6724395751953,54.3216323852539 Z" p-id="10271" fill="#FF0078D3" stroke="Null"></path> <path d="M73.0343933105469,53.059196472168 L72.9284591674805,52.5295104980469 L72.9284591674805,52.5118522644043 C72.8225250244141,51.9821586608887 72.6636123657227,51.4789505004883 72.4517364501953,50.9845695495605 C72.43408203125,50.966911315918 72.43408203125,50.9316024780273 72.4164199829102,50.9139442443848 L72.2575073242188,50.5431594848633 C72.0279846191406,50.0487823486328 71.745475769043,49.5985412597656 71.4364929199219,49.139476776123 L71.2422637939453,48.8922843933105 L70.9421081542969,48.9982223510742 C70.4300689697266,49.1747856140137 69.9092102050781,49.2983818054199 69.3795166015625,49.3866653442383 C68.8674774169922,49.4572868347168 68.3289642333984,49.5102577209473 67.781608581543,49.5102577209473 C66.2190170288086,49.5102577209473 64.7888488769531,49.1747856140137 63.491096496582,48.5126686096191 L63.296875,48.4067306518555 L63.102653503418,48.5214958190918 C63.0496826171875,48.5568084716797 62.9967155456543,48.574462890625 62.9260902404785,48.6097793579102 C62.7671813964844,48.6804046630859 62.6082763671875,48.7510299682617 62.4493675231934,48.8040008544922 C62.290454864502,48.8922843933105 62.1315498352051,48.9452514648438 61.9549903869629,48.9982223510742 C60.9573974609375,49.3513526916504 59.8891868591309,49.5279159545898 58.7680015563965,49.5279159545898 C57.5761947631836,49.5279159545898 56.4196968078613,49.3160400390625 55.3338279724121,48.9187698364258 L55.0336685180664,48.7951774597168 L54.8217926025391,49.0600242614746 C54.6452293395996,49.2895545959473 54.5039749145508,49.5367469787598 54.362720489502,49.757453918457 C54.2744407653809,49.8987045288086 54.1861572265625,50.0399551391602 54.1155319213867,50.1812057495117 C54.0802154541016,50.2518310546875 54.0449066162109,50.3224601745605 54.0272483825684,50.3754272460938 C53.9213104248047,50.5519905090332 53.8330268859863,50.7462158203125 53.7624015808105,50.9316024780273 C53.5858383178711,51.3200416564941 53.4445838928223,51.7349700927734 53.3563041687012,52.1410675048828 C53.3033332824707,52.2823219299316 53.2856788635254,52.4059143066406 53.2503623962402,52.5471687316895 L53.2503623962402,52.6001396179199 L53.1444244384766,53.0415458679199 L53.1444244384766,53.0768661499023 C53.0914535522461,53.500617980957 53.0561447143555,53.9155426025391 53.0561447143555,54.339298248291 C53.0561447143555,55.1426620483398 53.1620788574219,55.9372024536133 53.3916130065918,56.6875991821289 C53.4445838928223,56.9171333312988 53.515209197998,57.1466674804688 53.6211471557617,57.367374420166 C53.7094306945801,57.6322212219238 53.8153648376465,57.8970718383789 53.9389610290527,58.1354293823242 C55.3073348999023,60.9516258239746 58.1411895751953,63.0174293518066 61.5223922729492,63.5118103027344 C61.8225517272949,63.5647811889648 62.0962257385254,63.6000938415527 62.4140434265137,63.6000938415527 C62.6259231567383,63.6354026794434 62.8554573059082,63.6354026794434 63.0761566162109,63.6354026794434 L63.2174110412598,63.6354026794434 C67.8080825805664,63.5824356079102 71.6571807861328,60.6426429748535 72.7607116699219,56.6875991821289 C72.8136749267578,56.5463485717773 72.848991394043,56.405101776123 72.8843078613281,56.2461891174316 L72.8843078613281,56.2285346984863 C72.9196166992188,56.0696296691895 72.9549255371094,55.9107208251953 72.9549255371094,55.7518157958984 C73.0608673095703,55.2927436828613 73.0961761474609,54.8248519897461 73.0961761474609,54.3304710388184 C73.1226654052734,53.8978881835938 73.0873565673828,53.4741325378418 73.0343856811523,53.0592079162598 Z M72.1074371337891,55.6458625793457 C72.1074371337891,55.8224296569824 72.0721206665039,55.9813346862793 72.0191497802734,56.1402435302734 C71.1275024414063,59.9010620117188 67.4637908935547,62.7437438964844 63.1026573181152,62.7437438964844 C62.6789016723633,62.7437438964844 62.2816314697266,62.7260894775391 61.8931884765625,62.6731185913086 C61.5400581359863,62.6201515197754 61.2134170532227,62.5671844482422 60.8779449462891,62.4788970947266 C60.4188766479492,62.3906173706055 59.9862937927246,62.2493667602539 59.5625419616699,62.0727996826172 L59.5448875427246,62.0727996826172 C58.0882339477539,61.5166244506836 56.8346252441406,60.5984878540039 55.8635215759277,59.4596481323242 C55.5810203552246,59.1241798400879 55.3250007629395,58.7622184753418 55.0954704284668,58.373779296875 C54.9189071655273,58.1089324951172 54.7776527404785,57.8176078796387 54.6363983154297,57.5174407958984 C54.1949920654297,56.5375137329102 53.9566268920898,55.4516448974609 53.9566268920898,54.3128051757813 C53.9566268920898,53.8890495300293 53.9919395446777,53.47412109375 54.0625648498535,53.0503692626953 C54.0802230834961,52.9091148376465 54.115535736084,52.7678680419922 54.1508483886719,52.6089630126953 C54.186164855957,52.4677085876465 54.2214736938477,52.3087959289551 54.2567863464355,52.1675491333008 C54.2920989990234,52.0616111755371 54.3274116516113,51.9380187988281 54.3627243041992,51.8320770263672 C54.3980407714844,51.6908264160156 54.4510078430176,51.5495758056641 54.5216369628906,51.4083251953125 C54.6628875732422,51.0551948547363 54.8217964172363,50.7108955383301 55.0160102844238,50.3754234313965 C55.1219520568848,50.1812019348145 55.2455444335938,50.004638671875 55.369140625,49.8192481994629 C56.4550132751465,50.1900329589844 57.6115074157715,50.3754234313965 58.7856597900391,50.3754234313965 C60.2246589660645,50.3754234313965 61.5665473937988,50.1105766296387 62.8113250732422,49.5720596313477 C62.9702377319336,49.5367431640625 63.1467971801758,49.4484634399414 63.3057022094727,49.3778343200684 C63.817741394043,49.6250267028809 64.3386077880859,49.8192443847656 64.8859558105469,49.9516716003418 L64.8859558105469,49.9693260192871 C65.8129196166992,50.2341690063477 66.7928466796875,50.3754234313965 67.8080902099609,50.3754234313965 C68.1082611083984,50.3754234313965 68.3819274902344,50.3577690124512 68.6820831298828,50.3401107788086 C69.4324798583984,50.2871437072754 70.1917114257813,50.1458892822266 70.9244537353516,49.9163551330566 C71.3482055664063,50.5608139038086 71.6925048828125,51.2670707702637 71.9043807983398,52.0174713134766 C71.9220428466797,52.0527839660645 71.939697265625,52.1057510375977 71.939697265625,52.1587181091309 C71.9926681518555,52.2999725341797 72.0279846191406,52.4412231445313 72.0632934570313,52.6001319885254 C72.0986022949219,52.741382598877 72.133918762207,52.8826332092285 72.1515731811523,53.0415420532227 C72.2221984863281,53.4652938842773 72.2575073242188,53.8802223205566 72.2575073242188,54.3039741516113 C72.2575073242188,54.604133605957 72.239860534668,54.8778114318848 72.2045440673828,55.1603126525879 C72.1780624389648,55.3368759155273 72.160400390625,55.4957847595215 72.1074371337891,55.6458625793457 Z" p-id="10272" fill="#FFEEEAE5" stroke="Null"></path> <path d="M72.4958801269531,52.6177825927734 L53.7094421386719,52.6177825927734 C53.9566307067871,51.4083213806152 54.4774932861328,50.2871360778809 55.2014083862305,49.3072090148926 C56.3049354553223,49.7309608459473 57.5143966674805,49.9516677856445 58.794490814209,49.9516677856445 C60.4365425109863,49.9516677856445 61.9638175964355,49.580883026123 63.3145370483398,48.9011077880859 C64.6475982666016,49.580883026123 66.1660537719727,49.9516677856445 67.8169250488281,49.9516677856445 C68.9734191894531,49.9516677856445 70.0769500732422,49.7574462890625 71.0921936035156,49.4131469726563 C71.7631378173828,50.3577651977539 72.2575149536133,51.4436340332031 72.4958801269531,52.6177825927734 Z" p-id="10273" fill="White" stroke="Null"></path> <path d="M72.4958801269531,52.6177825927734 L53.7094421386719,52.6177825927734 C53.9566307067871,51.4083213806152 54.4774932861328,50.2871360778809 55.2014083862305,49.3072090148926 C56.3049354553223,49.7309608459473 57.5143966674805,49.9516677856445 58.794490814209,49.9516677856445 C60.4365425109863,49.9516677856445 61.9638175964355,49.580883026123 63.3145370483398,48.9011077880859 C64.6475982666016,49.580883026123 66.1660537719727,49.9516677856445 67.8169250488281,49.9516677856445 C68.9734191894531,49.9516677856445 70.0769500732422,49.7574462890625 71.0921936035156,49.4131469726563 C71.7631378173828,50.3577651977539 72.2575149536133,51.4436340332031 72.4958801269531,52.6177825927734 Z" p-id="10274" fill="#FFE7322C" stroke="Null"></path> <path d="M72.9284591674805,52.5295104980469 L72.9284591674805,52.5118522644043 C72.8048706054688,51.9821586608887 72.6459503173828,51.4789505004883 72.4517364501953,50.9845695495605 C72.43408203125,50.966911315918 72.43408203125,50.9316024780273 72.4164199829102,50.9139442443848 L72.2575073242188,50.5431594848633 C72.0279846191406,50.0487823486328 71.745475769043,49.5985412597656 71.4364929199219,49.139476776123 L71.2422637939453,48.8922843933105 L71.2422637939453,48.8746299743652 L70.9244537353516,48.9805679321289 C70.4124145507813,49.1571311950684 69.9092102050781,49.2807273864746 69.3795166015625,49.3866653442383 C68.8674774169922,49.4572906494141 68.3289642333984,49.5102577209473 67.781608581543,49.5102577209473 C66.2190170288086,49.5102577209473 64.7888488769531,49.1747894287109 63.491096496582,48.5126724243164 L63.296875,48.4067344665527 L63.102653503418,48.5214996337891 C63.0496826171875,48.556812286377 62.9967155456543,48.5744705200195 62.9260902404785,48.6097831726074 C62.7671813964844,48.6804046630859 62.6082763671875,48.751033782959 62.4493675231934,48.8040046691895 C62.290454864502,48.8922882080078 62.1315498352051,48.9452590942383 61.9549903869629,48.9982261657715 C60.9573974609375,49.3513565063477 59.8891868591309,49.5279197692871 58.7680015563965,49.5279197692871 C57.5761947631836,49.5279197692871 56.4196968078613,49.3160438537598 55.3338279724121,48.918773651123 L55.0336685180664,48.7951812744141 L55.0160102844238,48.7951812744141 L54.8217926025391,49.0600242614746 C54.6452293395996,49.2895622253418 54.5039749145508,49.536750793457 54.362720489502,49.757453918457 C54.2744407653809,49.8987083435059 54.1861572265625,50.0399551391602 54.1155319213867,50.181209564209 C54.0802154541016,50.2518348693848 54.0449066162109,50.3224601745605 54.0272483825684,50.375431060791 C53.9213104248047,50.5519943237305 53.8330268859863,50.7462158203125 53.7624015808105,50.9316062927246 C53.5858383178711,51.3200492858887 53.4445838928223,51.7349739074707 53.3563041687012,52.1410751342773 C53.3033332824707,52.2823295593262 53.2856788635254,52.4059219360352 53.2503623962402,52.5471687316895 L53.2503623962402,52.6001434326172 L53.1444244384766,53.0415534973145 L53.1444244384766,53.0768661499023 L72.9990768432617,53.0768661499023 L72.9284515380859,52.5295181274414 Z M54.2656173706055,52.1852073669434 C54.3009338378906,52.0792655944824 54.3362426757813,51.9556732177734 54.3715591430664,51.849739074707 C54.4068717956543,51.7084846496582 54.4598426818848,51.5672340393066 54.5304641723633,51.4259834289551 C54.6540603637695,51.0728530883789 54.830623626709,50.7285537719727 55.024845123291,50.3930854797363 C55.1307830810547,50.198860168457 55.2543792724609,50.0222969055176 55.3779716491699,49.8369064331055 C56.4638442993164,50.207691192627 57.6203384399414,50.3930854797363 58.794490814209,50.3930854797363 C60.2334899902344,50.3930854797363 61.5753784179688,50.1282348632813 62.8201599121094,49.5897178649902 C62.9790649414063,49.5544013977051 63.1556282043457,49.466121673584 63.3145370483398,49.3954963684082 C63.8265762329102,49.6426849365234 64.3474349975586,49.8369026184082 64.8947906494141,49.9693298339844 L64.8947906494141,49.9869842529297 C65.8217468261719,50.2518310546875 66.8016815185547,50.3930854797363 67.8169250488281,50.3930854797363 C68.1170806884766,50.3930854797363 68.3907623291016,50.3754272460938 68.69091796875,50.3577690124512 C69.4589691162109,50.2871437072754 70.2182006835938,50.1458930969238 70.9332885742188,49.9340133666992 C71.3570404052734,50.5784721374512 71.7013397216797,51.2847328186035 71.913215637207,52.0351257324219 C71.9308700561523,52.0880966186523 71.9485321044922,52.1234130859375 71.9661865234375,52.1763801574707 L54.2656173706055,52.1763801574707 Z" p-id="10275" fill="#FFEEEAE5" stroke="Null"></path> <path d="M59.6508293151855,56.9259567260742 C59.9333305358887,56.5022010803223 60.0922355651855,56.1490707397461 60.118724822998,55.8312568664551 C60.1540374755859,55.5134391784668 60.1098976135254,55.2309379577637 59.9863014221191,54.9925765991211 C59.8627052307129,54.7630386352539 59.703800201416,54.5776443481445 59.5184059143066,54.4628791809082 C59.3330154418945,54.3481140136719 59.1476211547852,54.2774925231934 58.9798851013184,54.2421722412109 C58.8121490478516,54.2068634033203 58.6179275512695,54.2068634033203 58.4237098693848,54.2245216369629 C58.0617523193359,54.2421722412109 57.7351112365723,54.3657722473145 57.4702644348145,54.5864791870117 C57.2054176330566,54.7983589172363 56.993537902832,55.1338233947754 56.8258056640625,55.5840644836426 L56.7375221252441,55.8312568664551 L57.7174530029297,55.9813385009766 L57.7792472839355,55.813606262207 C57.858699798584,55.6017265319824 57.9646377563477,55.4516448974609 58.1058921813965,55.3457069396973 C58.247142791748,55.2397651672363 58.3972206115723,55.1867980957031 58.5561294555664,55.1691398620605 C58.688549041748,55.1603202819824 58.8033180236816,55.1867980957031 58.9092597961426,55.2662544250488 C59.0151977539063,55.3545341491699 59.0769920349121,55.4516448974609 59.0946464538574,55.5752410888672 C59.1123046875,55.716495513916 59.0769920349121,55.8930587768555 58.988712310791,56.1049385070801 C58.8827705383301,56.3344650268555 58.6532402038574,56.6787719726563 58.2912788391113,57.1201782226563 C57.9293251037598,57.5704154968262 57.6203346252441,57.8970642089844 57.3908042907715,58.108943939209 C57.1083030700684,58.3649635314941 56.9493942260742,58.6562881469727 56.922908782959,58.9829330444336 L56.922908782959,59.3184051513672 L60.1893463134766,59.3184051513672 L60.1893463134766,58.4090919494629 L58.4413566589355,58.4090919494629 C59.0240211486816,57.7558097839355 59.4212875366211,57.2614250183105 59.650821685791,56.9259567260742 Z M64.6475982666016,56.9789237976074 C64.5593109130859,56.8553314208984 64.4357223510742,56.7317352294922 64.2768096923828,56.6434555053711 C64.4710388183594,56.4845428466797 64.5946273803711,56.2903213500977 64.6652526855469,56.0696182250977 C64.7711868286133,55.7341461181641 64.7711868286133,55.4428176879883 64.6829071044922,55.1779708862305 C64.5946197509766,54.930778503418 64.4357147216797,54.7188987731934 64.2238388061523,54.5864791870117 C64.0296173095703,54.4452247619629 63.8530540466309,54.3569450378418 63.6853218078613,54.3216323852539 C63.3498497009277,54.2333450317383 62.8996086120605,54.2333450317383 62.5464782714844,54.3216323852539 C62.3522567749023,54.3922576904297 62.1580390930176,54.4981918334961 62.0079574584961,54.6394462585449 C61.8667068481445,54.7983589172363 61.7431144714355,54.9572639465332 61.672492980957,55.1161727905273 C61.5842056274414,55.2927360534668 61.5488929748535,55.5046119689941 61.5665473937988,55.7253150939941 C61.5842056274414,55.9548492431641 61.6195182800293,56.1667289733887 61.7078018188477,56.3344612121582 C61.7784271240234,56.4403991699219 61.8490562438965,56.5463409423828 61.9726486206055,56.6522750854492 C61.8137397766113,56.7758712768555 61.6901473999023,56.8994674682617 61.6018676757813,57.0583763122559 C61.4782676696777,57.3055686950684 61.407642364502,57.5527534484863 61.407642364502,57.7911186218262 C61.407642364502,58.0383071899414 61.4429550170898,58.250186920166 61.4959259033203,58.4355773925781 C61.5488929748535,58.6474571228027 61.6548347473145,58.8240165710449 61.8137397766113,58.9740982055664 C61.9726486206055,59.1153526306152 62.1668739318848,59.2389450073242 62.3875732421875,59.3095703125 C62.6171112060547,59.3801956176758 62.8642997741699,59.4155082702637 63.1556282043457,59.4155082702637 C63.473445892334,59.4155082702637 63.7118034362793,59.3801956176758 63.9060287475586,59.3095703125 C64.1179046630859,59.2389450073242 64.2944641113281,59.1330032348633 64.4180603027344,58.991756439209 C64.5416564941406,58.8681602478027 64.6475982666016,58.7092514038086 64.7358856201172,58.5326843261719 C64.8418121337891,58.3384628295898 64.8947906494141,58.0912780761719 64.8947906494141,57.7822914123535 C64.8947906494141,57.4732971191406 64.8065032958984,57.2084541320801 64.6475982666016,56.9789199829102 Z M62.652416229248,55.3192176818848 C62.7230415344238,55.2309379577637 62.8642959594727,55.1779708862305 63.0761756896973,55.1779708862305 C63.1114845275879,55.1779708862305 63.1291427612305,55.1603126525879 63.1644554138184,55.1603126525879 C63.3410224914551,55.1603126525879 63.4822692871094,55.1956253051758 63.570556640625,55.2662506103516 C63.6411819458008,55.3192176818848 63.7294616699219,55.3898429870605 63.7294616699219,55.6017227172852 C63.7471160888672,55.7782897949219 63.694149017334,55.9195365905762 63.5882110595703,56.0431289672852 C63.499927520752,56.1490707397461 63.3410224914551,56.2020416259766 63.1291427612305,56.2020416259766 C62.9172630310059,56.2020416259766 62.7760162353516,56.1490707397461 62.6877326965332,56.0431289672852 C62.5817909240723,55.9195365905762 62.5288238525391,55.7959403991699 62.5288238525391,55.6546897888184 C62.5288238525391,55.5222702026367 62.5641403198242,55.4251594543457 62.652416229248,55.3192176818848 Z M63.7912559509277,58.1530799865723 C63.7206344604492,58.2943267822266 63.6146965026855,58.3826065063477 63.4381294250488,58.4179191589355 C63.2262496948242,58.4708938598633 63.0143737792969,58.4708938598633 62.8289833068848,58.4355773925781 C62.6347618103027,58.3826065063477 62.564136505127,58.2943267822266 62.5288238525391,58.2413520812988 C62.4581985473633,58.1001052856445 62.4228820800781,57.9411964416504 62.4405364990234,57.7646331787109 C62.4405364990234,57.6057243347168 62.4935073852539,57.4821319580078 62.6170997619629,57.3761940002441 C62.7406959533691,57.2702522277832 62.899600982666,57.1996269226074 63.0938262939453,57.1819725036621 L63.1467933654785,57.1819725036621 C63.3233604431152,57.1819725036621 63.4822654724121,57.2349395751953 63.6235198974609,57.3232269287109 C63.7824249267578,57.4291610717773 63.8530502319336,57.5527534484863 63.8707084655762,57.6763534545898 C63.8971939086914,57.8352584838867 63.8618812561035,57.9941673278809 63.7912559509277,58.1530799865723 Z M69.4413146972656,55.769458770752 C69.35302734375,55.3457069396973 69.1764678955078,54.9837532043457 68.9027938842773,54.68359375 C68.6203002929688,54.3657760620117 68.2759857177734,54.2245216369629 67.8875503540039,54.2245216369629 C67.4991149902344,54.2245216369629 67.1901245117188,54.3304634094238 66.9252777099609,54.5423393249512 C66.6604309082031,54.7365608215332 66.4662017822266,55.001407623291 66.3337860107422,55.3103904724121 C66.2101898193359,55.6105537414551 66.1395645141602,56.0078239440918 66.104248046875,56.5198593139648 C66.0866012573242,57.0142364501953 66.1219024658203,57.4115104675293 66.1748809814453,57.7116661071777 C66.2278442382813,58.0118255615234 66.3337860107422,58.2854995727539 66.4750366210938,58.5680046081543 C66.6339416503906,58.8505058288574 66.8987884521484,59.0976982116699 67.2430877685547,59.2654304504395 C67.4549713134766,59.3537178039551 67.6668395996094,59.4066848754883 67.8698959350586,59.4066848754883 C68.0464553833008,59.4066848754883 68.2053680419922,59.3713722229004 68.3819351196289,59.3007469177246 C68.7527160644531,59.1594924926758 69.0263977050781,58.894645690918 69.2206115722656,58.5326919555664 C69.3795166015625,58.1795616149902 69.4854583740234,57.7293281555176 69.5207748413086,57.1819763183594 C69.5296020507813,56.6611099243164 69.5119476318359,56.1932182312012 69.4413223266602,55.769458770752 Z M68.3731002807617,57.9412002563477 C68.2848205566406,58.1883964538574 68.1612243652344,58.3473014831543 68.0023193359375,58.4179267883301 C67.8963775634766,58.4708938598633 67.755126953125,58.4885482788086 67.5609130859375,58.3473014831543 C67.3843460083008,58.2237091064453 67.2607498168945,57.9765167236328 67.1901245117188,57.6498756408691 C67.1018371582031,57.2967414855957 67.0841827392578,56.8641624450684 67.1371612548828,56.4050979614258 C67.1901245117188,55.9460258483887 67.2784042358398,55.619384765625 67.4373168945313,55.4075088500977 C67.5609130859375,55.2486000061035 67.7021636962891,55.1603202819824 67.8610687255859,55.1603202819824 L67.8787231445313,55.1603202819824 C67.9670104980469,55.1603202819824 68.1082611083984,55.195629119873 68.24951171875,55.4251594543457 C68.3731002807617,55.619384765625 68.4437255859375,55.8665733337402 68.4790420532227,56.1049385070801 C68.496696472168,56.3874397277832 68.5143585205078,56.6964263916016 68.5143585205078,57.0495567321777 C68.5143585205078,57.3673706054688 68.4613876342773,57.6763572692871 68.3731002807617,57.9412040710449 Z M33.1573600769043,38.1836585998535 L29.0169296264648,49.5190887451172 C28.9021625518799,49.8280792236328 29.2817764282227,50.0840950012207 29.5466232299805,49.881046295166 L33.2721328735352,47.0118751525879 C33.3957252502441,46.9147644042969 33.5811157226563,46.9147644042969 33.7047119140625,47.0207023620605 L37.1388854980469,49.8457298278809 C37.394905090332,50.0576095581055 37.7833442687988,49.810417175293 37.6774063110352,49.5014343261719 L33.8018226623535,38.2013206481934 C33.6958847045898,37.892333984375 33.2633018493652,37.892333984375 33.1573638916016,38.1836624145508 Z" p-id="10276" fill="White" stroke="Null"></path> <path d="M63.6146965026855,65.0037689208984 C63.4469566345215,65.0125961303711 63.279224395752,65.0302581787109 63.1026573181152,65.0302581787109 C58.0264358520508,65.0302581787109 53.7535820007324,61.6402206420898 52.4028625488281,57.0054054260254 L41.897289276123,49.5632209777832 L41.8884658813477,49.5543937683105 C41.358772277832,50.4636993408203 40.6878242492676,51.284725189209 39.9021148681641,51.9821548461914 L39.9021148681641,70.7509307861328 L64.2238388061523,70.7509307861328 C66.2896423339844,70.7509307861328 68.24951171875,70.2918701171875 70.0239715576172,69.5061492919922 L63.6676635742188,65.0037689208984 L63.6146965026855,65.0037689208984 Z M26.6244850158691,8.38844108581543 C22.3692855834961,9.35071659088135 18.855655670166,12.2375411987305 17.0105609893799,16.0954704284668 L26.6244850158691,22.9196796417236 L26.6244850158691,8.38844108581543 Z" p-id="10277" fill="#FFDFDCD6" stroke="Null"></path> <path d="M23.225622177124,44.5752868652344 C23.225622177124,42.103385925293 24.1260986328125,39.8433609008789 25.6092376708984,38.0953750610352 L15.6333589553833,31.0151481628418 L15.6333589553833,56.6699371337891 C15.6333589553833,63.397029876709 20.3476238250732,69.0294342041016 26.6333122253418,70.4507751464844 L26.6333122253418,52.0880889892578 C24.5498542785645,50.2518196105957 23.225622177124,47.568042755127 23.225622177124,44.5752792358398 Z" p-id="10278" fill="#FFFFC9D1" stroke="Null"></path>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27- 該控制元件位於
# 7.2. 程式設計
點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式需要引用TARSCompClient
、AMap
、AMapNavi
單元。
# 7.2.1. 程式初始設定
設定全域性變數。
var
vLocation:TRFDataSet;
vLocationTime:string;
2
3
程式啟動時開啟定位,建立數據集。
Procedure fxRunFrameAfterShow(Sender: TObject);
Begin
AMap.StartLocation;
End;
2
3
4
Begin
vLocation:=TfxRFDataSet.Create(nil);
End.
2
3
# 7.2.2. 事件設定
- ①btSetUserInfo-OnClick事件
點選[使用者管理]
按鈕,打開使用者管理界面。
Procedure btSetUserInfoOnClick(Sender: TObject);
Begin
fxOpenFrameToPage('SetUserInfo');
End;
2
3
4
- ②btSetUserPass-OnClick事件
點選[修改密碼]
按鈕,打開修改密碼界面。
Procedure btSetUserPassOnClick(Sender: TObject);
Begin
fxOpenFrameToForm('SetUserPass',[syFree],'');
End;
2
3
4
- ③btUserLocation-OnClick事件
點選[即時定位]
按鈕,打開即時定位界面。
Procedure btUserLocationOnClick(Sender: TObject);
Begin
fxOpenFrameToPage('UserLocation');
End;
2
3
4
# 8. 運行結果
使用滑鼠在 PinToo 功能表,點選[儲存至資料庫]
按鈕,將其儲存至資料庫,點選[除錯運行]
確認能夠正常打開。
通過同步中心,將程式上傳至手機PinToo運行;同步時,請確保手機已經運行PinToo,並且已經登陸。