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

📄 gis.txt

📁 gis 试用版代码,delphi开发版,试用期限,三十天
💻 TXT
📖 第 1 页 / 共 4 页
字号:
end;

/////////////////////////////////////////////////////////////////
// GPS模拟数据定时器处理程序
/////////////////////////////////////////////////////////////////
procedure TMainForm.tmrGpsDataTimer(Sender: TObject);
var
  I, Index: Integer;
begin
  for I := 0 to PollingTargets.Count - 1 do
  begin
    Index := Integer(PollingTargets[I]);
    if gIndex[Index] > EmuGpsData[Index].Count then
      gIndex[Index] := 0;
    PostMessage(Handle,
                WM_GPSDATA,
                0,
                LPARAM(EmuGpsData[Index].Items[gIndex[Index]]));
    Inc(gIndex[Index]);
  end;
end;


//////////////////////////////////////////////////////////////////////
// WM_GPSDATA消息处理程序
/////////////////////////////////////////////////////////////////////
procedure TMainForm.WmGpsData(var Msg: TMessage);
var
  GpsData: PGpsData;
  ATarget: GpsTarget;
  TargetID: Longint;
  H, M, S, MS: Word;
  T: TTime;
begin
  GpsData := PGpsData(Msg.LParam);
  TargetID := GpsData^.lTargetID;
  T := Time;
  DecodeTime(T, H, M, S, MS);
  with GpsData^, gpsTime do
  begin
    hour := H;
    min := M;
    sec := S;
  end;
  try
    (*******************************************************)
    (*                                                     *)
    GpsManager.GpsInterface.RecieveGpsData(GpsData^);
    ATarget := GpsManager.GpsTargets.GetTarget(TargetID);
    ATarget.TargetID := TargetID;
    ATarget.Name := GetTargetName(TargetID);
    (*                                                     *)
    (*******************************************************)

    if not (ActiveGpsCtrl = ReplayGpsCtrl) then
      BindTargetData(ATarget);
  except
  end;
end;

//////////////////////////////////////////////////////////////////////
// WM_REPLAYDATA消息处理程序
/////////////////////////////////////////////////////////////////////
procedure TMainForm.WmReplayData(var Msg: TMessage);
var
  GpsData: PGpsData;
  ATarget: GpsTarget;
  TargetID: Longint;
begin
  GpsData := PGpsData(Msg.LParam);
  TargetID := GpsData^.lTargetID;
  try

    (*******************************************************)
    (*                                                     *)
    ReplayGpsCtrl.GpsReplay.ReceiveReplayData(GpsData^);
    (*                                                     *)
    (*******************************************************)

    ATarget := ReplayGpsCtrl.ReplayTargets.GetTarget(TargetID);
    ATarget.Name := GetTargetName(TargetID);

    if ActiveGpsCtrl = ReplayGpsCtrl then
      BindTargetData(ATarget);
  except
  end;
end;

///////////////////////////////////////////////////////////
//LTGpsCtrl的OnGetReplayData事件处理程序,接收回放数据
///////////////////////////////////////////////////////////
procedure TMainForm.GetReplayData(Sender: TObject);
var
  I, Index: Integer;
  GpsData: TGpsData;
begin
  if ReplayPaused then
    Exit;
  for I := 0 to ReplayTargets.Count - 1 do
  begin
    Index := Integer(ReplayTargets[I]);
    if gReplayIndex[Index] > ReplayGpsData[Index].Count then
    begin
      gReplayIndex[Index] := 0;
      ReplayGpsCtrl.StopReplay;
    end;
    PostMessage(Handle,
                WM_REPLAYDATA,
                0,
                LPARAM(ReplayGpsData[Index].Items[gReplayIndex[Index]]));
    Inc(gReplayIndex[Index]);
  end;
end;

///////////////////////////////////////////////////////////////////////
// 激活目标
//////////////////////////////////////////////////////////////////////
procedure TMainForm.lvwTargetsMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  ListItem: TListItem;
  TargetID: Integer;
begin
  ListItem := lvwTargets.GetItemAt(X, Y);
  if ListItem <> nil then
  begin
    TargetID := Integer(ListItem.Data);
    if TargetID >= 0 then
      (**************************************************)
      (*                                                *)
      GpsManager.CurrentWin.CurrentTargetID := TargetID;
      (*                                                *)
      (**************************************************)

  end;
end;

procedure TMainForm.FormResize(Sender: TObject);
begin
  Tile;
end;

///////////////////////////////////////////////////////////
// 读入轨迹数据
///////////////////////////////////////////////////////////
procedure TMainForm.sbnOpenTrackClick(Sender: TObject);
var
  ReplayDlg: TReplayDlg;
  I: Integer;
  TargetID: Longint;
begin
  ReplayDlg := TReplayDlg.Create(Self);
  for I := 0 to Length(Targets) - 1 do
    ReplayDlg.clbTargets.Items.AddObject(Targets[I].Name, TObject(Targets[I].ID));
  if ReplayDlg.ShowModal = mrOK then
  begin
    with ReplayDlg do
      for I := 0 to clbTargets.Items.Count - 1 do
        if clbTargets.Checked[I] then
        begin
          TargetID := Integer(clbTargets.Items.Objects[I]);
          ReplayTargets.Add(Pointer(TargetID));
          ReplayGpsData[TargetID].ReadGpsData(TargetID);
        end;
     ReplayGpsCtrl := TMonitorWin(ActiveMDIChild).GpsCtrl;
//     TMonitorWin(ReplayGpsCtrl.Parent).Replaying := True;
     ReplayGpsCtrl.OnGetReplayData := GetReplayData;
     lvwTargets.Items.Clear;
     for I := 0 to ReplayTargets.Count - 1 do
       ReplayGpsCtrl.ReplayTargets.AddTargetID(Integer(ReplayTargets.Items[I]));
     sbnStart.Enabled := True;
  end;
end;

////////////////////////////////////////////////////////////
// 开始回放
////////////////////////////////////////////////////////////
procedure TMainForm.sbnStartClick(Sender: TObject);
begin
  sbnStart.Enabled := False;
  sbnPause.Enabled := True;
  sbnStop.Enabled := True;
  ReplayPaused := False;
  ReplayGpsCtrl.StartReplay;
end;

/////////////////////////////////////////////////////////////
// 暂停回放
/////////////////////////////////////////////////////////////
procedure TMainForm.sbnPauseClick(Sender: TObject);
begin
  ReplayPaused := True;
  sbnPause.Enabled := False;
  sbnStart.Enabled := True;
end;

///////////////////////////////////////////////////////////
// 停止回放
///////////////////////////////////////////////////////////
procedure TMainForm.sbnStopClick(Sender: TObject);
begin
  sbnStart.Enabled := True;
  sbnStop.Enabled := False;
  sbnPause.Enabled := False;
  ReplayGpsCtrl.StopReplay;
end;

////////////////////////////////////////////////////////////
// 改变回放速度
///////////////////////////////////////////////////////////
procedure TMainForm.tbrReplaySpeedChange(Sender: TObject);
begin
  with Sender as TTrackBar do
    if ReplayGpsCtrl <> nil then
      ReplayGpsCtrl.ReplaySpeed := 1100 - Position * 100;
end;

procedure TMainForm.pgcControlPanelChange(Sender: TObject);
begin

end;

end.


procedure TForm1.Button2Click(Sender: TObject);
var
  OpStruc: TSHFileOpStruct;
begin
  // 设置OpStruc
  with OpStruc do
  begin
    Wnd:=Form1.Handle;
    wFunc:=FO_DELETE;
    pFrom:=PChar(Edit1.Text);
    fFlags:=FOF_ALLOWUNDO;
  end;
  SHFileOperation(OpStruc);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  opendialog1.Title:='源文件'; // 显示"打开源文件"对话框
    if OpenDialog1.Execute then
        edit1.Text:=opendialog1.FileName;
end;










name   btnQuery

procedure TMainForm.btnQueryClick(Sender: TObject);
var
  I: Integer;
begin
  if edtQueryString.Text = '' then
    Exit;
  lbQueryResult.Items.Clear;

  (*********************************************************************************)
  (*               模糊查询                                                        *)
  PkgSelections := ActiveGpsCtrl.ControlInterface.QueryObscure(edtQueryString.Text);
  (*                                                                               *)
  (*********************************************************************************)

  //把查询结果加到列表框
  PkgSelections.Begin_;
  for I := 0 to PkgSelections.Count - 1 do
  begin
    lbQueryResult.Items.Add(PkgSelections.GetNext.Name);
  end;
end;

name    lbQueryResult

procedure TMainForm.lbQueryResultClick(Sender: TObject);
var
  Selection: IRTPkgSelection;
begin
  if lbQueryResult.ItemIndex >= 0 then
  begin
    Selection := PkgSelections.GetSelectObject(lbQueryResult.ItemIndex);
    ActiveGpsCtrl.SelectPkgObj(Selection);
  end;
end;



select [gis_data].[cheliangbianhao]
from [gis_data]
where [gis_data].[cheliangbianhao]='3' OR
[gis_data].[cheliangbianhao]='2' OR
[gis_data].[cheliangbianhao]='1'

procedure TForm1.N4Click(Sender: TObject);
begin
if opendialog1.Execute then
memo1.Lines.LoadFromFile(opendialog1.filename);
end;




procedure TForm1.N6Click(Sender: TObject);
begin
if savedialog1.Execute then
memo1.Lines.savetofile(savedialog1.filename);
end;

procedure TForm1.N7Click(Sender: TObject);
begin
close;
end;

procedure TForm1.N8Click(Sender: TObject);
begin
memo1.CutToClipboard;
end;

procedure TForm1.N9Click(Sender: TObject);
begin
memo1.copytoclipboard;
end;

procedure TForm1.N10Click(Sender: TObject);
begin
memo1.PasteFromClipboard;
end;

procedure TForm1.N11Click(Sender: TObject);
begin
memo1.SelectAll;
end;

procedure TForm1.N12Click(Sender: TObject);
begin
memo1.Clear;
end;

procedure TForm1.N13Click(Sender: TObject);
begin
if fontdialog1.Execute then
memo1.Font:=fontdialog1.Font;
end;

procedure TForm1.N14Click(Sender: TObject);
begin
finddialog1.Execute;
end;

procedure TForm1.FindDialog1Find(Sender: TObject);
var
ftext:string;
loc:integer;
begin
ftext:=finddialog1.FindText;
loc:=pos(ftext,memo1.lines.text);
if loc<>0 then
begin
memo1.SetFocus;
memo1.selstart:=loc-1;
memo1.sellength:=length(ftext);
end;

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if opendialog1.Execute then
memo1.Lines.LoadFromFile(opendialog1.filename);
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if savedialog1.Execute then
memo1.Lines.savetofile(savedialog1.filename);
end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
memo1.PasteFromClipboard;
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
memo1.CutToClipboard;
end;

⌨️ 快捷键说明

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