📄 gpsnetcommctrl.pas
字号:
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
//********************** 呼叫类 *****************************************
function CallOne(var ANote: string): string;
function CallMore(var ANote: string; AInterval, ATimes: Integer): string;
function CallStop(var ANote: string): string;
function CallInDistance(var ANote: string; ADistance: Integer): string;
function Call_Sg_AtTime(var ANote: string; AEnable: Boolean; AHours, AMinutes: Integer):string;
function Call_SgGPRS_AtTime(var ANote: string; AEnable: Boolean; AMinutes: Integer; _second: Integer):string;
function Call_Sg_History(var ANote: string; AHistoryTime: TDateTime): string;
//华强
function Call_Hq_Mileage(var ANote:String;SCallType:integer):String;
//GpsOne
function Call_GpsOne_SeriesCall(var ANote:String;SCallBeginDataTime,SCallEndDataTime:String;SInterval,SCallCount:Integer):String;
//厦门
function Call_Yx_InTime(var ANote:string;ATimes,Ainterval:integer):string;// ='定时监控' ; //定时监控
//********************** 信息类 *****************************************
function MsgAttemper(var ANote: string; AMsgNo: Integer; AMsg: string): string;
function MsgBroadcast(var ANote: string; AMsg: string): string;
//天禾
function Text_Th_EachOther(var ANote: string; AMsg: string): string;
//华强
function MsgHqText(var ANote: string; AMsgType:Integer;AMsg: string):String;
//********************** 控制类 *****************************************
function CtrlLock(var ANote: string; ALock: Boolean): string;
function CtrlLstn(var ANote: string; APhone: string): string;
function CtrlCancelEm(var ANote: string): string;
function Ctrl_Sg_Reset(var ANote: string): string;
function Ctrl_Sg_PasswordClear(var ANote: string): string;
function Ctrl_Sg_Door(var ANote: string; AOpen: Boolean): string;
function Ctrl_SgGPRS_Door(var ANote: string; AOpen: Boolean): string;
function Ctrl_SgGSM_Door(var ANote: string; AOpen: Boolean): string;
function Ctrl_Sg_Phone(var ANote: string; ACtrlPhone: TCtrlPhone): string;
function Ctrl_Sg_BegPhone(var ANote: string; ABegPhone: string): string;
function Set_Sg_EnSettByPhone(var ANote: string): string;
function Set_SgGPRS_EnSettByPhone(var ANote: string): string;
function Ctrl_Sg_RingForMoment(var ANote: string): string;
function Ctrl_Sg_ForceCloseDoor(var ANote: string): string;
function Ctrl_Sg_SplashSmallLamp(var ANote: string): string;
///华强GSM
function Set_HqGSM_CanCall(var ANote: string; ACtrl: Boolean; ALmdPhones: TStringList): string;
function Crtl_HqGSM_CancelAlarm(Var ANote:String):String;//解除报警
function Ctrl_HqGSM_ReStart(var ANote:string):string;//关机重启
function MsgHqGSMText(var ANote: string; AMsgType:Integer;AMsg: string):String;
///华强
function Crtl_Hq_CancelAlarm(Var ANote:String):String;//解除报警
function Ctrl_Hq_ReStart(var ANote:string):string;//关机重启
//天禾
function Ctrl_Th_Phone(var ANote: string; ACtrlPhone: TCtrlPhone): string;
function Ctrl_Th_Reset(var ANote: string): string;
function Ctrl_Th_RestoreParam(var ANote: string): string;
function Ctrl_Th_ReadState(var ANote: string): string;
function Ctrl_Th_GetPasswd(var ANote: string): string;
function Ctrl_Th_PhoneSection(var ANote: string; APos, AType:Integer; APhoneSection: string): string;
////厦门雅训
function Ctrl_Yx_AskState(var ANote:String):String;
function Ctrl_Yx_RestoreParam(var ANote:String):String;
//********************** 设置类 *****************************************
function SetSvrCenterNo(var ANote: string; ASvrCenterNo: string): string;
function SetSmCenterNo(var ANote: string; AListenNo: string): string;
function SetOverSpeed(var ANote: string; AOverSpeed: Integer): string;
function Set_Sg_HotLinePhone(var ANote: string; AHotLinePhone: string): string;
function Set_Sg_HistoryInterval(var ANote: string; AHistory: Integer): string;
function Set_Sg_AccEnable(var ANote: string; AEnable: Boolean): string;
function Set_Sg_TerminalEnable(var ANote: string; AEnable: Boolean): string;
function Set_Sg_GPRSNetwork(var ANote: string; _phone_no: string;
_ip_address: string; _port_service: Integer; _port_terminal: Integer;
_reconn_interval: Integer; _comm_mode: Integer): string;
function Set_Sg_GPRSAPN(var ANote: string; _apn_name: string): string;
function Set_Sg_StartPluse(const AMileageCount:Integer):string;
function Set_Sg_StopPluse():string;
function Set_Sg_GetPluse():string;
function Set_Sg_OverSpeed():string;
function Set_Sg_GprsSetting():string;
function Set_704_LmdPhone(var ANote: string; ACtrl: Boolean; ALmdPhones: TStringList): string;
function Set_704_EdieFixSm(var ANote: string; AGroupNo: Integer; AFixSm: string): string;
//新星远
function Set_Xxy_OverSpeed(var ANote: string; AOverSpeed, AKeepTime: Integer):string;
function Set_Xxy_LowSpeed(var ANote: string; ALowSpeed, AKeepTime: Integer):string;
function Set_Xxy_StayLong(var ANote: string; AStayLong: Integer):string;
function Set_Xxy_EFence(var ANote: string; AEFenceId: string; GpsRectList: TList): string;
//华强
function Set_Hq_AccTime(Var ANote:String; ALongTime:Integer):String;
function Set_Hq_CanCall(var ANote: string; ACtrl: Boolean; ALmdPhones: TStringList): string;
function Set_Hq_SetParams(Var Anote:String; SParamType:integer;SParamsValue:String):String;
function Set_Hq_ShutAcc(var ANote: String; ALongTime: Integer): String;
function Set_Hq_SaveInterval(var ANote: String;
ALongTime: Integer): String;
function Set_Hq_ChekInterval(var ANote: String;
ALongTime: Integer): String;
function Set_Hq_CheckData(var ANote: String): String;
function Set_Hq_CarCancelAlarm(var ANote: String): String;
function Set_Hq_NOOPInterval(var ANote: String; ALongTime: Integer): String;
//function SetFixSm(var ANote: string; )
//天禾
function Set_Th_S12(var ANote: string; ASupportLockCar, ASupportAutoCtrle: Boolean): string;
function Set_Th_SpeedLmd(var ANote: string; AMaxSpeed, AMinSpeed, ALong: Integer): string;
function Set_Th_LongOfOverArea(var ANote: string; ALong: Integer): string;
function Set_Th_CustAlarm(var ANote: string; AAlarmType, ALong, ATriggerType: Integer): string;
function Set_Th_ToGroup(var ANote:string; AGroupID: Word):string;
function Set_Th_BakSmCtrlNo(var ANote: string; ABakSmCtrlNo:string):string;
function Set_Th_TempratureAlarm(var ANote: string; AQuery: Boolean; AMaxTemp, AMinTemp: Integer):string;
function Set_Th_OverSpeedAlarmOnBus(var ANote: string; AMaxSpeed: Integer):string;
function Set_Th_CustMsg(var ANote: string; AType: Integer):string;
//飞田
function Set_Ft_DoAfterAlarm(var ANote: string; AActionId, AGpsInterval:Integer;
AOpenSpk: Boolean): string;
function Set_Ft_CallInterval(var ANote: string;
AEmpty, ANoEmpty, AEm, ANoLogon: Integer): string;
function Set_Ft_SingleListenNo(var ANote: string; AListenNo: string): string;
function Set_Ft_CommServerParams(var ANote: string;
AMasterIp, ABakIp: string; AMasterPort, ABakPort: Integer): string;
function Set_Ft_AlarmTel(var ANote: string; AAlarmTel: string): string;
function Set_Ft_CallCenterNo(var ANote:string; ANo1, ANo2, ANo3, ANo4, ANo5:string):string;
function Set_Ft_ResetTelNo(var ANote: string; AResetTel: string): string;
function Set_Ft_DriveId(var ANote: string; DrvId1, DrvName1, DrvId2, DrvName2: string): string;
function Set_Ft_CanCallInTelNo(var ANote: string; ANo1, ANo2, ANo3, ANo4, ANo5:string):string;
function Set_Ft_CanRecvSmTelNo(var ANote: string; ANo1, ANo2:string):string;
//厦门雅训
function Set_Yx_CommParam(var ANote:string; OldCenterNumb:string;ATimes,AInterval:integer):String;// ='修改监控参数请求'; //修改监控参数请求
function Set_Yx_AlarmTelNo(var ANote:string;NewPhoneNum:string):String;// ='设置报警号码'; //设置报警号码
function Set_Yx_LstnTelNo(var ANote:string;NewPhoneNum:string):string; // ='设置监听电话号码'; //设置监听电话号码
function Set_Yx_CtrlPhone(var ANote:string;Mode:integer):string;// ='设置通话控制'; //设置通话控制
function Set_Yx_CfgAlarmer(Var ANote:string;P1,P2:string):string;// ='设置报警器'; //设置报警器
function Set_Yx_HelpTelNo(var ANote:string;HelpPhone:string):string; // ='设置求助电话'; //设置求助电话
function Set_Yx_BlackBoxSampling(var ANote:string;AInterval:integer):string;// ='设置黑匣子采样间隔'; //设置黑匣子采样间隔
//亿程
function Set_YC_OverSpeedAlarmOnBus(var ANote: string;
AMaxSpeed: Integer): string;
//********************** 围栏类 *****************************************
function AreaRect(var ANote: string; x1, y1, x2, y2: Double): string;
function Area_Th_Rect(var ANote: string; ASeq, AType: Integer; x1, y1, x2, y2: Double): string;
//厦门
function Area_Yx_Rect(var ANote:string;AreaIndex:integer;X1,y1,X2,Y2:Double):string; // ='电子围栏'; //电子围栏
function Area_ETGPRS_Rect(var ANote: string; AreaIndex,
TypeIndex: integer; X1, y1, X2, Y2: Double): string;
//********************** 出租业务类 *****************************************
function Opr_Ft_Msg(var ANote: string; var OperId: Integer;
ARequireTime: TDateTime; AOperStr: string): string;
function Oper_Ft_MsgDetail(var ANote: string; OperId: Integer;
AOperStrDetail: string): string;
function Oper_Ft_MsgNoDetail(var ANote: string; OperId: Integer): string;
function Oper_Ft_MsgCancel(var ANote: string; OperId: Integer): string;
//********************** 维护发送列表 *****************************************
function SendItemNew(ASendNote: string; ACarId, ASendNo: Integer): Integer;
function SendItemTrasmit(AOldSendNo, ANewSendNo: Integer;
var ACarId: Integer; var ASendNote: string): Integer;
function SendItemSended(ANewSendNo: Integer; var ACarId: Integer;
var ASendNote: string): Integer;
function SendItemRevert(ANewSendNo: Integer; var ACarId: Integer;
var ASendNote: string): Integer;
public
function Get_Ft_OperId: Integer;
procedure Set_Ft_OperId(ACarId, AOperId: Integer);
function Get_Ft_LastOperId(ACarId: Integer): Integer;
published
{ Published declarations }
end;
procedure Register;
implementation
uses Math{, EnCdDecd}, uPubFun, StrUtils;
procedure Register;
begin
RegisterComponents('Treble', [TGpsNetCommCtrl]);
end;
{ TGpsNetCommCtrl }
//********************** 围栏类 *****************************************
function TGpsNetCommCtrl.AreaRect(var ANote: string; x1, y1, x2,
y2: Double): string;
var
xi, xa, yi, ya: Double;
//function TGpsNetCommCtrl.AreaRect(var ANote: string; x1, y1, x2,
// y2: Double): string;
//begin
//
//end;
begin
xi:= Min(x1, x2); xa:= Max(x1, x2);
yi:= Min(y1, y2); ya:= Max(y1, y2);
//ANote:= Format('设置矩形电子围栏坐标为(%.5f, %.f),(%.5f,%.5f)', [xi, yi, xa, ya]);
ANote:= Format(rsNoteEFence+ '(%.5f, %.f),(%.5f,%.5f)', [xi, yi, xa, ya]);
Result := Format('AREA,1,%.6f,%.6f,%.6f,%.6f', [xi, yi, xa, ya]);
end;
//********************** 呼叫类 *****************************************
function TGpsNetCommCtrl.CallMore(var ANote: string;
AInterval, ATimes: Integer): string;
begin
//ANote := Format('多次呼叫%d次%d秒间隔', [ATimes, AInterval]);
ANote := Format(rsNoteCallTimes, [ATimes, AInterval]);
Result:= Format('CALL,2,%d,%d', [ATimes, AInterval]);
end;
function TGpsNetCommCtrl.CallOne(var ANote: string): string;
begin
ANote := rsNoteCallOne; // '单次呼叫';
Result := 'CALL,1,0,0';
end;
function TGpsNetCommCtrl.CallStop(var ANote: string): string;
begin
ANote := rsNoteCallStop; // '停止呼叫';
Result := 'CALL,0,0,0';
end;
function TGpsNetCommCtrl.CallInDistance(var ANote: string;
ADistance: Integer): string;
begin
ANote := Format(rsNoteCallInDistance, [ADistance]); // '定长呼叫';
Result := Format('CALL,3,%d,0', [ADistance]);
end;
function TGpsNetCommCtrl.Call_Sg_AtTime(var ANote: string;
AEnable: Boolean; AHours, AMinutes: Integer): string;
//CALL,4,P1,P2,P3
//P1: =0禁止此功能;=1开启此功能,
//P2: 小时(<=0xFF)
//P3: 分钟(<=0x3B)
begin
ANote := rsNoteCallAtTime; // '连续定时上报位置信息';
Result := Format('CALL,4,%d,%d,%d', [Ord(AEnable), AHours, AMinutes]);
end;
function TGpsNetCommCtrl.Call_SgGPRS_AtTime(var ANote: string;
AEnable: Boolean; AMinutes: Integer; _second: Integer): string;
//5://:要求连续定时上报位置信息
//CALL,4,P1,P2
//P1=0,禁止此功能
// =1,应用此功能
//P2:回传间隔(<15000分钟)
begin
ANote := rsNoteCallAtTime; // '连续定时上报位置信息';
Result := Format('CALL,4,%d,%d,%d', [Ord(AEnable), AMinutes, _second]);
end;
function TGpsNetCommCtrl.Call_Sg_History(var ANote: string;
AHistoryTime: TDateTime): string;
//CALL,5,P1
//P1:时间(2004-02-12 12:02:14)
begin
ANote := rsNoteCallHistory+FormatDateTime('yyyy-mm-dd hh:nn:ss', AHistoryTime); // '回报历史数据';
Result := Format('CALL,5,%s', [FormatDateTime('yyyy-mm-dd,hh:nn:ss', AHistoryTime)]);
end;
constructor TGpsNetCommCtrl.Create(AOwner: TComponent);
begin
F_Ft_OperId:= 0;
FCmdList:= TStringList.Create;
LastSendCommandTime := GetTickCount;
end;
//********************** 控制类 *****************************************
function TGpsNetCommCtrl.Ctrl_Sg_BegPhone(var ANote: string;
ABegPhone: string): string;
begin
ANote:= rsNoteCtrlBugTalk+ ABegPhone; // '请求通话:'
Result := 'CTRL,5,0';
end;
function TGpsNetCommCtrl.Set_Sg_EnSettByPhone(var ANote: string): string;
//允许手柄设置
//CTRL,6
begin
//rsNote_Sg_EnSettByPhone = '手柄设置参数';
ANote:= '允许'+rsNote_Sg_EnSettByPhone;
//else ANote:= '禁止'+rsNote_Sg_EnSettByPhone;
Result:= 'CTRL,6,0';
end;
function TGpsNetCommCtrl.Set_SgGPRS_EnSettByPhone(var ANote: string): string;
//允许手柄设置
//CTRL,6
begin
//rsNote_Sg_EnSettByPhone = '手柄设置参数';
ANote:= '允许'+rsNote_Sg_EnSettByPhone;
//else ANote:= '禁止'+rsNote_Sg_EnSettByPhone;
Result:= 'CTRL,5,0';
end;
function TGpsNetCommCtrl.Ctrl_Sg_RingForMoment(var ANote: string): string;
//响喇叭60秒
//CTRL,7
begin
//rsNote_Sg_RingForMoment = '响喇叭60秒';
ANote:= rsNote_Sg_RingForMoment;
Result:= 'CTRL,7,0';
end;
function TGpsNetCommCtrl.Ctrl_Sg_ForceCloseDoor(var ANote: string): string;
//强制鍞车门
//CTRL,8
begin
//rsNote_Sg_ForceCloseDoor = '强制鍞车门';
ANote:= rsNote_Sg_ForceCloseDoor;
Result:= 'CTRL,8';
end;
function TGpsNetCommCtrl.Ctrl_Sg_SplashSmallLamp(
var ANote: string): string;
//闪烁小灯60秒
//CTRL,9
begin
//rsNote_Sg_SplashSmallLamp = '闪烁小灯60秒';
ANote:= rsNote_Sg_SplashSmallLamp;
Result:= 'CTRL,9';
end;
//设置GPRS网络APN
//SETT,2,P1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -