⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpsnetcommctrl.pas

📁 a voice guide client ,it is the second part of voice guide center
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 + -