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

📄 ufrmmain.pas

📁 a voice guide client ,it is the second part of voice guide center
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    pnlTestGPS: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    btnSendTestGPS: TButton;
    btnSendTestGPSOP: TButton;
    edtTestGPSTarget: TEdit;
    edtTestGPSOperator: TEdit;
    cbTestGPSOpDesc: TComboBox;
    cbTestGPSStatus: TComboBox;
    edtTestGPSOPType: TEdit;
    cbTestGPSOPContent: TComboBox;
    edtTestGPSOPNO: TEdit;
    Button1: TButton;
    Button2: TButton;
    edtGpsTime: TEdit;
    ckbValid: TCheckBox;
    dxBarButton25: TdxBarButton;
    actReplayToAll: TAction;
    dxBarButton26: TdxBarButton;
    actReplaySetStopSectMinute: TAction;
    dxBarButton27: TdxBarButton;
    actReplayViewStopSect: TAction;
    dxBarSubItem2: TdxBarSubItem;
    dxBarButton28: TdxBarButton;
    actGISClient: TAction;
    dxBarButton29: TdxBarButton;
    actMapSelection: TAction;
    dxBarButton30: TdxBarButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure actFileCloseExecute(Sender: TObject);
    procedure actFileNetSettExecute(Sender: TObject);
    procedure actFileAddWinExecute(Sender: TObject);
    procedure actMapUpdate(Sender: TObject);
    procedure actMapExecute(Sender: TObject);
    procedure actFileSysSettExecute(Sender: TObject);
    procedure dxStatusBar1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure GpsClientConnect(Sender: TObject);
    procedure GpsClientDisconnect(Sender: TObject);
    procedure GpsClientRecvGps(Sender: TObject; Target: String;
      Sequence: Integer; GpsData: TGpsData);
    procedure GpsClientRecvGpsSendResult(Sender: TObject;
      Sequence: Integer; LogResult: Boolean);
    procedure GpsClientRecvGpsTransmit(Sender: TObject; OldSequence,
      NewSequence, ResultCode: Integer; TransmitResult: String);
    procedure GpsClientRecvLogResult(Sender: TObject; Sequence: Integer;
      LogResult: Boolean);
    procedure GpsClientRecvOperation(Sender: TObject; Target: String;
      Sequence, OperateType: Integer; OperateId, OperateContent,
      OperateScribe: String);
    procedure Timer1Timer(Sender: TObject);
    procedure actCallOneExecute(Sender: TObject);
    procedure lvCarInfoList1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure cbMapChangerChange(Sender: TObject);
    procedure actFileExecute(Sender: TObject);
    procedure dpCarListDocking(Sender: TdxCustomDockControl;
      Zone: TdxZone; X, Y: Integer; var Accept: Boolean);
    procedure dpHawkEyeDocking(Sender: TdxCustomDockControl; Zone: TdxZone;
      X, Y: Integer; var Accept: Boolean);
    procedure dpWatchDocking(Sender: TdxCustomDockControl; Zone: TdxZone;
      X, Y: Integer; var Accept: Boolean);
    procedure actCtrlExecute(Sender: TObject);
    procedure actCtrlStopExecute(Sender: TObject);
    procedure actCtrlTrackShowAllUpdate(Sender: TObject);
    procedure TargetCommander1TargetActive(Sender: TObject;
      Viewer: TGIS_Viewer; TargetIndex: Integer);
    procedure actViewIconExecute(Sender: TObject);
    procedure actReplayExe(Sender: TObject);
    procedure dxBarSpinEdit1Change(Sender: TObject);
    procedure actFunEmExecute(Sender: TObject);
    procedure actFunEmUpdate(Sender: TObject);
    procedure actViewMapQryExecute(Sender: TObject);
    procedure actViewMapQryUpdate(Sender: TObject);
    procedure actListViewSelExecute(Sender: TObject);
    procedure actListViewSelUpdate(Sender: TObject);
    procedure lvMessageMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure actMsgExe(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure actMapAutoChgUpdate(Sender: TObject);
    procedure actMapAutoChgExecute(Sender: TObject);
    procedure dxBarCombo1DropDown(Sender: TObject);
    procedure actFileAddCarExecute(Sender: TObject);
    procedure actFunShowCarInfoExecute(Sender: TObject);
    procedure actFileReplayUpdate(Sender: TObject);
    procedure actReplayCtrlTrackAllExecute(Sender: TObject);
    procedure dxBarManager1BarVisibleChange(Sender: TdxBarManager;
      ABar: TdxBar);
    procedure actMapQryKeyWordExecute(Sender: TObject);
    procedure actFileGpsStatExecute(Sender: TObject);
    procedure actFileGpsStatUpdate(Sender: TObject);
    procedure actFileQryStayLongExecute(Sender: TObject);
    procedure actFileTaxiStatExecute(Sender: TObject);
    procedure actFileTaxiStatChartExecute(Sender: TObject);
    procedure actMapLayrCtrlExecute(Sender: TObject);
    procedure actFunShowMsgExecute(Sender: TObject);
    procedure actFunShowMsgUpdate(Sender: TObject);
    procedure GpsClientRecvOtherClientDisconnect(Sender: TObject;
      Sequence: Integer; ClientId: String);
    procedure GpsClientRecvOtherClientInfo(Sender: TObject;
      Sequence: Integer; OtherClientInfo: TGpsClientInfo);
    procedure GpsClientRecvOtherOperation(Sender: TObject; Sequence: Integer;
      FormClientId, TargetId, Msg_Type, Msg_str, Msg_Describe: String);
    procedure actFileAlarmQryExecute(Sender: TObject);
    procedure actFilePriceBaseDataExecute(Sender: TObject);
    procedure actFileLaterAlarmSetExecute(Sender: TObject);
    procedure RzBtSoundClick(Sender: TObject);
    procedure actTaxiWorkExecute(Sender: TObject);
    procedure actCustomerFindSystemInfoExecute(Sender: TObject);
    procedure actCustomerRestAlertExecute(Sender: TObject);
    procedure actCustomerInOutAlertExecute(Sender: TObject);
    procedure framGisQry1Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure actSTGoodsExecute(Sender: TObject);
    procedure actCustomerParkingExecute(Sender: TObject);
//    procedure framGisQry1tkbRoad0Change(Sender: TObject);
//    procedure framGisQry1tkbRoad1Change(Sender: TObject);
//    procedure framGisQry1tkbRoad2Change(Sender: TObject);
//    procedure framGisQry1tkbRoad3Change(Sender: TObject);
//    procedure framGisQry1tkbRoad4Change(Sender: TObject);
//    procedure framGisQry1tkbRoad5Change(Sender: TObject);
//    procedure framGisQry1tkbRoad6Change(Sender: TObject);
//    procedure framGisQry1tkbRoad8Change(Sender: TObject);
//    procedure framGisQry1tkbRoad9Change(Sender: TObject);
//    procedure framGisQry1tkbRoad10Change(Sender: TObject);
//    procedure framGisQry1tkbRoad11Change(Sender: TObject);
//    procedure framGisQry1tkbRoad12Change(Sender: TObject);
//    procedure framGisQry1cbRoadFavorChange(Sender: TObject);
    procedure actSendCarMsgExecute(Sender: TObject);
    procedure actPetroExecute(Sender: TObject);
    procedure actFileAboutExecute(Sender: TObject);
    procedure actPetroZPExecute(Sender: TObject);
    procedure actViewArrangeWinExecute(Sender: TObject);
    procedure actViewFullScreenExecute(Sender: TObject);
    procedure actViewWindowExecute(Sender: TObject);
    procedure actCallCarExecute(Sender: TObject);
    procedure actCtrlFastCallExecute(Sender: TObject);
    procedure GpsClientRecvImageInfo(Sender: TObject; Target: String;
      GpsTime: TDateTime; ImageNo, ImageSeq: Integer; ImageData: String);
    procedure actFileSetOilExecute(Sender: TObject);

    procedure actPetroQFExecute(Sender: TObject);

    procedure actFileMileageExecute(Sender: TObject);
    procedure actGPSANAExecute(Sender: TObject);
    procedure actMapVehicleQueryExecute(Sender: TObject);
    procedure actReplaySpeedChartExecute(Sender: TObject);
    procedure tmCheckLinkTimer(Sender: TObject);
    procedure Memo1DblClick(Sender: TObject);
    procedure cbTestGPSOPContentClick(Sender: TObject);
    procedure btnSendTestGPSOPClick(Sender: TObject);
    procedure btnSendTestGPSClick(Sender: TObject);
    procedure GpsClientCmdSent(Sender: TObject; _command_id: Integer;
      _command, _command_org: String);
    procedure Button1Click(Sender: TObject);
    procedure actFileDistanceCalcExecute(Sender: TObject);
    procedure GpsClientRecvOtherData(Sender: TObject; RecvData: String);
    procedure actFileMSCExecute(Sender: TObject);
    procedure actFileGasLevelInfoExecute(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure actGPSOILExecute(Sender: TObject);
    procedure vtActiveVehicleGetText(Sender: TBaseVirtualTree;
      Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
      var CellText: WideString);
    procedure vtActiveVehicleDblClick(Sender: TObject);
    procedure vtActiveVehicleMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure vtActiveVehicleFreeNode(Sender: TBaseVirtualTree;
      Node: PVirtualNode);
    procedure vtActiveVehicleGetImageIndex(Sender: TBaseVirtualTree;
      Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
      var Ghosted: Boolean; var ImageIndex: Integer);
    procedure vtCarinfoTreeMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure vtCarinfoTreeGetText(Sender: TBaseVirtualTree;
      Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
      var CellText: WideString);
    procedure actOrderTreeExecute(Sender: TObject);
    procedure actOrderListExecute(Sender: TObject);
    procedure vtCarinfoTreeHeaderDblClick(Sender: TVTHeader;
      Column: TColumnIndex; Button: TMouseButton; Shift: TShiftState; X,
      Y: Integer);
    procedure actCtrlSelectHasDataExecute(Sender: TObject);
    procedure actFileRefreshVehicleDataExecute(Sender: TObject);
    procedure vtCarinfoTreeFreeNode(Sender: TBaseVirtualTree;
      Node: PVirtualNode);
    procedure vtReplayCarsMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure vtReplayCarsDblClick(Sender: TObject);
    procedure vtReplayCarsGetImageIndex(Sender: TBaseVirtualTree;
      Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
      var Ghosted: Boolean; var ImageIndex: Integer);
    procedure vtReplayCarsGetText(Sender: TBaseVirtualTree;
      Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
      var CellText: WideString);
    procedure vtMemoDblClick(Sender: TObject);
    procedure vtMemoFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
    procedure vtMemoGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
      Column: TColumnIndex; TextType: TVSTTextType;
      var CellText: WideString);
    procedure vtCarinfoTreeDblClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);

    procedure AlarmVehicle(_carinfo: TCarInfo; _target_id: Integer);
    procedure actGISClientExecute(Sender: TObject);
    procedure actMapSelectionUpdate(Sender: TObject);
  public
    hint_show: THintShow;
    rsLinkDB: string;
    rsLogDB: string;
    rsLinkGpsSvr: string;
    rsSucceed: string;
    rsFail: string;
    rsErrorCode: string;
    rsExitAsk: string;
    rsExitAskCaption: string;
    rsAskCaption: string;
    rsDisconnect: string;
    rsConnect: string;
    rsLogon: string;
    rsUserAdmin: string;
    rsUserWatch: string;
    rsUserNormal: string;
    rsGpsStateNormal: string;
    rsGpsStateAlert: string;
    rsGpsValid: string;
    rsGpsInvalid: string;

    rsCarLicense: string;
    rsCarName: string;
    rsCarSpeed: string;
    rsCarHeading: string;
    rsCarGpsPercision: string;
    rsLongitude: string;
    rsLatitude: string;

    OilAppHandle: HWND;
    MapCgmDlg     : TOpenCgmDialog;
    //////////////////////////////////////////////
    //sInfoStr:String;      //小榄的信息转发固定字符
  private
    logDebug : TTbLogFile;
    logSendCommand : TTbLogFile;

    { Private declarations }
    FActiveMapFrame: TFramMap;
    FReplayMapFrame: TFramMap;
    // FMapWinList 地图窗口列表,每个窗口是“TdxDockPanel”
    FMapWinList   : TList;
    FTabContainer : TdxTabContainerDockSite;
    FGpsDataFlux  : Integer;
    FTimeRuler    : Word;    //时间标签
    FLinkCheckTimeRuler : Word;    //时间标签
    FCurCarId2TargetId, FReplayCarId2TargetId: THashedStringList;
    //回放中表示
    FReplaying: Boolean;
    //回放时是否显示停车点
    FIsShowStop : Boolean;
    //正在关闭
    FCloseing: Boolean;
    //需要选择的ListView
    FListViewNeedSel: TListView;
    FVTNeedSelect: TVirtualStringTree;
//    FGpsStart: Integer;    //定位信息开始的列数,(实时数据、回放数据)

    //KEN EDIT
    GpsJudge: TJudgeGpsState;

    ConnChecker: TThread;

    //**************************  Map Win Mgr *****************************
//    function GetMapForm4Panel(MapPanel: TdxDockPanel): TframMap;
    function GetGisViewer4Panel(MapPanel: TdxDockPanel): TGIS_ViewerWnd;
    function GetActiveGisViewer: TGIS_ViewerWnd;
    function AddMapWin(MapFrameType: TMapFrameType): TdxDockPanel;
    procedure CreateMapFrame(AOwner: TdxDockPanel; MapFrameType: TMapFrameType);
    procedure InitMapWin;
    procedure InitSearchWin;
    procedure SetActiveMapFrame(MapFrame: TFramMap);
    procedure HookMapPanel(MapPanel: TdxDockPanel);
    //**************************  Map Dock Panel *****************************
    procedure MapActivate(Sender: TdxCustomDockControl; Active: Boolean);
    procedure MapClose(Sender: TdxCustomDockControl);
    procedure MapCloseQuery(Sender: TdxCustomDockControl;
      var CanClose: Boolean);
    procedure MapPageCreateTabContainer(Sender: TdxCustomDockControl;
      ATabContainer: TdxTabContainerDockSite);
    procedure MapVisibleChanged(Sender: TdxCustomDockControl);
    //**************************** TAB Container ****************************
    procedure TabMapActiveChildChanged(Sender: TdxContainerDockSite;
      Child: TdxCustomDockControl);
    procedure TabMapClose(Sender: TdxCustomDockControl);
    procedure TabMapDocking(Sender: TdxCustomDockControl;
      Zone: TdxZone; X, Y: Integer; var Accept: Boolean);
    //****************************  TCP  Ctrl   *****************************
    procedure TcpSendLogOn;
    procedure SetCurState;
    procedure IdleHandler(Sender: TObject; var Done: Boolean);
    procedure AsynLinkTcp(var Msg: TMessage);message WM_LinkTcp;
    //************************** Target Manager *****************************
    procedure AsynShowGpsLoc(var Msg: TMessage);message WM_ShowGpsLoc;
    procedure CreateTargetIdList;
    procedure initialTarget(_target: TGIS_Target; _car_info: TCarInfo);
    procedure GetSelActiveTargetIds(SelTargetIds : TStringList);
    procedure GetSelReplayTargetIds(SelTargetIds : TStringList);
    procedure ShowGpsData(CarId: Integer; CarInfo: TCarInfo;
      GpsData: TGpsData; AMapFrameType: TMapFrameType);
    procedure ShowGpsOpra(ACarId, AOperateType: Integer;
      AOperateTypeStr, AOperateMsg: string);
    procedure ShowGpsLoc;
//    procedure SetActiveTargetCurWin(CarId: Integer);
    procedure TargetDel(TargetIds: TList);
    procedure TargetAdd(TargetIds: TList);
    procedure TargetAddInfo(ATarget: TGIS_Target; ACarInfo: TCarInfo; InfoType: TTargetHintShow);
    //************************** Map      List  *****************************
    procedure GetMapList;
    //************************** Fast     Call  *****************************
    procedure FastCall(ACallCmd: TGpsNetCmd);
    //************************** View     Call  *****************************
    procedure SetToolIcon(ShowType: TToolIconType);
    //**************************  Msg Function  *****************************
    procedure MsgAdd(ARecvTime: TDateTime; ACarId, AMsgTypeId: Integer;
      AMsgType, AMsg: string);
    procedure MsgMarkUnRead;
    procedure MsgMarkReaded;
    procedure MsgDel;
    //**************************  EmLamp Function  *****************************
    procedure ShowEmLamp;
    //**************************  MsgLamp Function  *****************************
    procedure ShowMsgLamp;
    //**************************  监测迟到报警 Function  *****************************
    //procedure ChkLaterAlarm;
    //**************************  Active Listview  *****************************
    procedure SetActiveListviewShow;

    procedure msgDisplayChange (var _msg: TWMDisplayChange); message WM_DISPLAYCHANGE;
    procedure WMCopyData(var msg: TMessage); message WM_COPYDATA;
    procedure GetGpsInfoFromOpenDesc(const ADesc:String;var AGpsInfo:TGpsInfo);
    ///////////////////////////////////////////////////////////
    //为了不显示一些明显不符合实际情况的车速成,特将这些信息做一个过滤
    procedure ShowPetroBusiness(ACarId: Integer; _info: string);

    ///////////////////////////////////////////////////////////////////////////
    //小榄要求在转发信息时加上自己定义的信息,此信息从文本文件中读取
    //function GetInfoStr():String;
    //function GetFileInfoStr(const AFileName:String):String;

    // 石化油口业务监测客户端
    procedure doOnBusinessInfoArrived(Sender: TObject; BusinessInfo: string);

//    //车辆状态颜色
//    procedure SetTargetColor(TargetId: Integer; AColor: TTargetColor);
//    function  GetTargetColor(_gps_info: TGpsInfo): TTargetColor;

    procedure AddTestGPSData;

    procedure CheckLinkStatus;

    // 虚拟树工具
    procedure getPNodeCarIDAddList(_vt_tree: TVirtualStringTree; _list: TList);
    procedure refreshTreeOrder;
    procedure fillGroupTree;
    procedure initialGroupByColumn(_field_name: string);
    procedure ClearMemoTree;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -