📄 ufrmsyssett.pas
字号:
begin
cbGISBkgColor.ColorValue := active_viewer.Color;
cbRulerBkgColor.ColorValue := active_map_frame.GIS_ControlScale1.Color;
cbRulerInterColor1.ColorValue := active_map_frame.GIS_ControlScale1.InterColor1;
cbRulerInterColor2.ColorValue := active_map_frame.GIS_ControlScale1.InterColor2;
end;
// 定制选项
// 状态
ckbIsShowDebugLog.Checked := gShowDebugInfo;
ckbIsAutoCancelAlarm.Checked := gSysAutoCancelAlert;
displayGPSDescFilter;
// 定位数据
ckbIsTrackGenOper.Checked := gTrackGenOper;
ckbIsEnableTrackHijack.Enabled := gTrackGenOper;
ckbIsEnableTrackHijack.Checked := gShowDacoity;
ckbIsIgnoreAdditionalTrack.Checked := gIgnorCompensate;
ckbIsGenLowSpeedAlarm.Checked := gLowSpeedAlert;
edtLowSpeedAlarmValue.Enabled := gLowSpeedAlert;
edtLowSpeedAlarmValue.Text := IntToStr(gEmSpeedSlow);
displayGPSTrackConverter;
// 业务
ckbIsNormalizeSpeedAlarm.Checked := gOverSpeedNormal;
ckbIsGenDoorOpen.Checked := gDoorAlert;
ckbIsGenEFenAlarm.Checked := gEmAreaEnable;
ckbIsGenLateAlarm.Checked := gEmLaterEnable;
ckbIsShowMessage.Checked := gShowMessages;
ckbIsIgnoreAdditionalTrack.Checked := frmMain.FIgnorOper;
displayOperationFilter;
// 轨迹回放
cbxShowRoadName.Checked := gShowQryGetRoadName;
cbxShowStopSect.Checked := gIsShowStopSect;
cbxShowStirCan.Checked := gShowQryResultStirCan;
cbxQryResult.Items.Items[1].Checked := gShowQryResultVehicleName;
cbxQryResult.Items.Items[2].Checked := gShowQryResultTimeSect;
cbxQryResult.Items.Items[3].Checked := gShowQryResultRecordCount;
cbxQryResult.Items.Items[4].Checked := gShowQryResultMileage;
cbxQryResult.Items.Items[5].Checked := gShowQryResultAverageSpeed;
cbxQryResult.Items.Items[6].Checked := gShowQryResultOilCost;
cbxQryResult.Items.Items[7].Checked := gShowQryResultOilFee;
cbxQryResult.Items.Items[8].Checked := gShowQryResultInvalidRate;
cbxQryResult.Items.Items[9].Checked := gShowQryResultValidRate;
end;
//------------------------------------------------------------------------------
// 控件事件
//------------------------------------------------------------------------------
procedure TfrmSysSett.OnObjEnter(Sender: TObject);
begin
if (Sender is TControl) then
StatusBar1.SimpleText := (Sender as TControl).Hint;
end;
procedure TfrmSysSett.OnObjExit(Sender: TObject);
begin
if (Sender is TControl) then
StatusBar1.SimpleText := '';
end;
procedure TfrmSysSett.actOkExecute(Sender: TObject);
begin
//
end;
procedure TfrmSysSett.clbCarInfoTypeSetDblClick(Sender: TObject);
var
i : Integer;
p_column_info : PGPSClientVehicleInfoColumn;
form_edit : TfrmGPSClientVehicleInfoEdit;
begin
for i := 0 to clbCarInfoTypeSet.Count - 1 do
begin
if clbCarInfoTypeSet.Selected[i] then
begin
p_column_info := PGPSClientVehicleInfoColumn(
FVehicleInfoFieldList.Items[i]
);
form_edit := TfrmGPSClientVehicleInfoEdit.Create(nil);
try
form_edit.edtFieldCaption.Text := p_column_info^.FieldInfo^.FieldCaption;
form_edit.spedtWidth.Value := p_column_info^.FieldInfo^.ColumnWidth;
if not p_column_info^.FieldInfo^.IsInput then
begin
form_edit.lblShowInActive.Visible := True;
form_edit.ckbShowInActive.Visible := True;
form_edit.ckbShowInActive.Checked := p_column_info^.IsShowInActive;
end
else begin
form_edit.lblShowInActive.Visible := False;
form_edit.ckbShowInActive.Visible := False;
end;
if form_edit.ShowModal = mrOk then
begin
p_column_info^.FieldInfo^.ColumnWidth := form_edit.spedtWidth.Value;
if form_edit.ckbShowInActive.Visible then
p_column_info^.IsShowInActive := form_edit.ckbShowInActive.Checked;
end;
finally
form_edit.Free;
end;
Break;
end;
end;
end;
procedure TfrmSysSett.FormCreate(Sender: TObject);
begin
FVehicleInfoFieldList := TList.Create;
tsFilterDescription.TabVisible := False;
tsFilterTrack.TabVisible := False;
tsFilterOperation.TabVisible := False;
tsTrackReplay.TabVisible := False;
end;
procedure TfrmSysSett.FormDestroy(Sender: TObject);
begin
clearVehicleInfoFieldList;
FreeAndNil(FVehicleInfoFieldList);
end;
procedure TfrmSysSett.clearVehicleInfoFieldList;
begin
FVehicleInfoFieldList.Clear;
end;
procedure TfrmSysSett.StatusBar1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (ssCtrl in Shift) and
(ssAlt in Shift) then
begin
tsFilterDescription.TabVisible := not tsFilterDescription.TabVisible;
tsFilterTrack.TabVisible := not tsFilterTrack.TabVisible;
tsFilterOperation.TabVisible := not tsFilterOperation.TabVisible;
tsTrackReplay.TabVisible := not tsTrackReplay.TabVisible;
end;
end;
procedure TfrmSysSett.ckbIsTrackGenOperPropertiesChange(Sender: TObject);
begin
ckbIsEnableTrackHijack.Enabled := ckbIsTrackGenOper.Checked;
end;
procedure TfrmSysSett.ckbIsGenLowSpeedAlarmPropertiesChange(
Sender: TObject);
begin
edtLowSpeedAlarmValue.Enabled := ckbIsGenLowSpeedAlarm.Checked;
end;
{: 显示轨迹数据转换器设置。
}
procedure TfrmSysSett.displayGPSTrackConverter;
var
i : Integer;
p_converter : PGPSClientProcessTrackConverter;
list_item : TcxCheckListBoxItem;
begin
clbConverter.Items.BeginUpdate;
try
clbConverter.Clear;
for i := 0 to GPSClientProcessTrackConverter.Count - 1 do
begin
p_converter :=
PGPSClientProcessTrackConverter(GPSClientProcessTrackConverter.Objects[i]);
list_item := clbConverter.Items.Add;
list_item.Text := Format(
'%s - %s: (%s) 替换为 (%s)', [
p_converter^.ConfigName,
p_converter^.Description,
p_converter^.StringForm,
p_converter^.StringTo
]);
if not p_converter^.IsConfig then
begin
list_item.Checked := True;
list_item.State := cbsGrayed;
list_item.Enabled := False;
end
else begin
if p_converter^.Active then
list_item.State := cbsChecked
else
list_item.State := cbsUnchecked;
end;
end;
finally
clbConverter.Items.EndUpdate;
end;
end;
{: 保存轨迹数据转换器设置。
}
procedure TfrmSysSett.storeGPSTrackConverter;
var
i : Integer;
p_converter : PGPSClientProcessTrackConverter;
list_item : TcxCheckListBoxItem;
begin
for i := 0 to GPSClientProcessTrackConverter.Count - 1 do
begin
p_converter :=
PGPSClientProcessTrackConverter(GPSClientProcessTrackConverter.Objects[i]);
list_item := clbConverter.Items[i];
p_converter^.Active := list_item.State <> cbsUnchecked;
end;
end;
{: 显示轨迹数据过滤器设置。
}
procedure TfrmSysSett.displayGPSDescFilter;
var
i : Integer;
p_desc_filter : PGPSClientProcessGPSDescFilter;
list_item : TcxCheckListBoxItem;
begin
clbGPSDescFilter.Items.BeginUpdate;
try
clbGPSDescFilter.Clear;
for i := 0 to GPSClientProcessGPSDescFilter.Count - 1 do
begin
p_desc_filter :=
PGPSClientProcessGPSDescFilter(GPSClientProcessGPSDescFilter.Objects[i]);
list_item := clbGPSDescFilter.Items.Add;
list_item.Text := Format(
'%s - %s: 替换(%s)', [
p_desc_filter^.ConfigName,
p_desc_filter^.Description,
p_desc_filter^.FilterString
]);
if p_desc_filter^.ShowItem then
list_item.State := cbsChecked
else
list_item.State := cbsUnchecked;
end;
finally
clbGPSDescFilter.Items.EndUpdate;
end;
end;
{: 保存轨迹数据过滤器设置。
}
procedure TfrmSysSett.storeGPSDescFilter;
var
i : Integer;
p_desc_filter : PGPSClientProcessGPSDescFilter;
list_item : TcxCheckListBoxItem;
begin
for i := 0 to GPSClientProcessGPSDescFilter.Count - 1 do
begin
p_desc_filter :=
PGPSClientProcessGPSDescFilter(GPSClientProcessGPSDescFilter.Objects[i]);
list_item := clbGPSDescFilter.Items[i];
p_desc_filter^.ShowItem := list_item.State <> cbsUnchecked;
end;
end;
{: 显示业务数据过滤器设置。
}
procedure TfrmSysSett.displayOperationFilter;
var
i : Integer;
p_desc_filter : PGPSClientProcessOperationFilter;
list_item : TcxCheckListBoxItem;
begin
clbOperationFilter.Items.BeginUpdate;
try
clbOperationFilter.Clear;
for i := 0 to GPSClientProcessOperationFilter.Count - 1 do
begin
p_desc_filter :=
PGPSClientProcessOperationFilter(GPSClientProcessOperationFilter.Objects[i]);
list_item := clbOperationFilter.Items.Add;
list_item.Text := Format(
'%s - %s: 关键字(%s)', [
p_desc_filter^.ConfigName,
p_desc_filter^.Description,
p_desc_filter^.FilterString
]);
if not p_desc_filter^.IsConfig then
begin
list_item.Enabled := False;
list_item.Checked := False;
end
else begin
if p_desc_filter^.GenOperation then
list_item.State := cbsChecked
else
list_item.State := cbsUnchecked;
end;
end;
finally
clbOperationFilter.Items.EndUpdate;
end;
end;
{: 保存业务数据过滤器设置。
}
procedure TfrmSysSett.storeOperationFilter;
var
i : Integer;
p_desc_filter : PGPSClientProcessOperationFilter;
list_item : TcxCheckListBoxItem;
begin
for i := 0 to GPSClientProcessOperationFilter.Count - 1 do
begin
p_desc_filter :=
PGPSClientProcessOperationFilter(GPSClientProcessOperationFilter.Objects[i]);
list_item := clbOperationFilter.Items[i];
p_desc_filter^.GenOperation := list_item.State <> cbsUnchecked;
end;
end;
//------------------------------------------------------------------------------
// 控件事件
//------------------------------------------------------------------------------
procedure TfrmSysSett.clbGPSDescFilterClickCheck(Sender: TObject;
AIndex: Integer; APrevState, ANewState: TcxCheckBoxState);
var
i : Integer;
p_check_filter : PGPSClientProcessGPSDescFilter;
p_desc_filter : PGPSClientProcessGPSDescFilter;
config_name : string;
check_event : TcxClickCheckEvent;
begin
if AIndex < 0 then
Exit;
p_check_filter :=
PGPSClientProcessGPSDescFilter(GPSClientProcessGPSDescFilter.Objects[AIndex]);
config_name := p_check_filter^.ConfigName;
for i := 0 to GPSClientProcessGPSDescFilter.Count - 1 do
begin
p_desc_filter :=
PGPSClientProcessGPSDescFilter(GPSClientProcessGPSDescFilter.Objects[i]);
if p_desc_filter^.ConfigName = config_name then
p_desc_filter^.ShowItem := ANewState = cbsChecked;
end;
check_event := clbGPSDescFilter.OnClickCheck;
clbGPSDescFilter.OnClickCheck := nil;
try
displayGPSDescFilter;
finally
clbGPSDescFilter.OnClickCheck := check_event;
end;
end;
procedure TfrmSysSett.clbConverterClickCheck(Sender: TObject;
AIndex: Integer; APrevState, ANewState: TcxCheckBoxState);
var
i : Integer;
p_check_converter : PGPSClientProcessTrackConverter;
p_converter : PGPSClientProcessTrackConverter;
config_name : string;
check_event : TcxClickCheckEvent;
begin
if AIndex < 0 then
Exit;
p_check_converter :=
PGPSClientProcessTrackConverter(GPSClientProcessTrackConverter.Objects[AIndex]);
config_name := p_check_converter^.ConfigName;
for i := 0 to GPSClientProcessTrackConverter.Count - 1 do
begin
p_converter :=
PGPSClientProcessTrackConverter(GPSClientProcessTrackConverter.Objects[i]);
if p_converter^.ConfigName = config_name then
p_converter^.Active := ANewState = cbsChecked;
end;
check_event := clbConverter.OnClickCheck;
clbConverter.OnClickCheck := nil;
try
displayGPSTrackConverter;
finally
clbConverter.OnClickCheck := check_event;
end;
end;
procedure TfrmSysSett.clbOperationFilterClickCheck(Sender: TObject;
AIndex: Integer; APrevState, ANewState: TcxCheckBoxState);
var
i : Integer;
p_check_filter : PGPSClientProcessOperationFilter;
p_desc_filter : PGPSClientProcessOperationFilter;
config_name : string;
check_event : TcxClickCheckEvent;
begin
if AIndex < 0 then
Exit;
p_check_filter :=
PGPSClientProcessOperationFilter(GPSClientProcessOperationFilter.Objects[AIndex]);
config_name := p_check_filter^.ConfigName;
for i := 0 to GPSClientProcessOperationFilter.Count - 1 do
begin
p_desc_filter :=
PGPSClientProcessOperationFilter(GPSClientProcessOperationFilter.Objects[i]);
if p_desc_filter^.ConfigName = config_name then
p_desc_filter^.GenOperation := ANewState = cbsChecked;
end;
check_event := clbOperationFilter.OnClickCheck;
clbOperationFilter.OnClickCheck := nil;
try
displayOperationFilter;
finally
clbOperationFilter.OnClickCheck := check_event;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -