亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unitqcgisproject.pas

?? 此代碼是關于mapgis的在
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
end;

procedure TqcGISProject.DefConnectToServer;
var
  INIF:TIniFile;
  Server,UserName,Password:string;
begin
  INIF:=TIniFile.Create(CheckPath(AppPath)+'AppInstConfig.ini');
  try
    Server:=INIF.ReadString('DBConnection', 'Server', '');
    UserName:=INIF.ReadString('DBConnection', 'UserName', '');
    Password:=INIF.ReadString('DBConnection', 'Password', '');
  finally
    INIF.Free;
  end;
  if not ConnectToDataBase(Server,UserName,Password) then
    MyDefInformation('連接服務器失敗,無法使用服務器功能!');
end;

procedure TqcGISProject.LoadParentInstanceModules;
var
  aSubItem:TMenuItem;
  aPage:TTabSheet;
begin
  if FSubStationFrame=nil then
  begin
    aPage:=TTabSheet.Create(Form_Main);
    aPage.PageControl:=Form_Main.pcControl;
    aPage.Caption:='子站狀態';
    aPage.Name:='tsSubStation';
    FSubStationFrame:=TFrame_SubStationData.Create(Form_Main);
    with FSubStationFrame do
    begin
      Parent:=aPage;
      Align:=alClient;
    end;
  end;

  case ParentAppId of
    //如果內嵌在檢測系統中,需要增加切換菜單//
    ID_APP_PARENT_JK_GZZ,
    ID_APP_PARENT_JK_DDS:begin
      if not PIMLoaded then
      begin
        LoadMenuItem(FRootMenuItem, '-', -1, nil);
        aSubItem:=LoadMenuItem(FRootMenuItem,  '切換窗口', -1, nil);
        LoadMenuItem(aSubItem, '檢測窗口', 1, ChangeWindowClick);
        LoadMenuItem(aSubItem, '地圖窗口', 2, ChangeWindowClick);
        LoadMenuItem(aSubItem, '報表窗口', 3, ChangeWindowClick);

        PIMLoaded:=True;
      end;
    end;
  end;
end;

procedure TqcGISProject.SubStationWarning(const SubStationId: Integer;
  const WarningString: string; BoundSeed:Double);
var
  ZKPowerId, GLPower1Id, GLPower2Id:Integer;
  ZKPowerState, GLPower1State, GLPower2State:Smallint;
begin
  //跳到這個子站//
  GoToSubStation(SubStationId, BoundSeed);
  //取得開關狀態,刷新模擬圖狀態//
  if GetSubStationLinkPowerInfo(SubStationId,
                             ZKPowerId, GLPower1Id,
                             GLPower2Id, ZKPowerState,
                             GLPower1State, GLPower2State) then
  begin
    //設置開關狀態,保存狀態到數據庫//
    SetPowerState(ZKPowerId, ZKPowerState, False, True);
    SetPowerState(GLPower1Id, GLPower1State, False, True);
    SetPowerState(GLPower2Id, GLPower2State, False, True);
    //刷新模擬圖//
    RefreshSimulantMap;
  end;   
  //顯示消息//
  with Form_Main do
    if RichEdit_UserMsg<>nil then
    begin
      PageControl1.ActivePage:=tsMessage;
      RichEdit_UserMsg.Lines.Add(IntToStr(SubStationId)+'號子站: '+WarningString);
    end;
end;

procedure TqcGISProject.DoFeatureDblClick(Sender: TObject; Ft: Feature);
var
  aDotId:Integer;
  aDotIndex:Integer;
  aDot: TDot;
begin
  //如果是開關層,則設置開關狀態//
  if Ft.Layer=FDotLayer then
  begin
    aDotId:=StrToInt(Ft.KeyValue);
    aDotIndex:=DLCtrl.Dots.IndexOf(aDotId);
    if aDotIndex>-1 then
    begin
      aDot:=DLCtrl.Dots.Items[aDotIndex];
      if aDot.DotState=dsLink then
        SetPowerState(aDot, dsBreak, True, True)
      else
        SetPowerState(aDot, dsLink, True, True);
    end;
  end;
end;

procedure TqcGISProject.SetPowerState(aDot: TDot; aState:TDotState;
  bAnalyze, bSaveState:Boolean);
begin
  with TqcGISProject(MyGIS) do
  begin
    if aDot.BDSDot then Exit;
    DLCtrl.SetDotState(aDot, aState, False);
    if bAnalyze then
    begin
      DLCtrl.AnalyzeState;
      RefreshDotState(aDot);
      RefreshLineLayerState(True);
    end;
  end;
  if bSaveState then
    with GDBPoster do
    begin
      TableName:='t_CtrlDotsLayer';
      SetModifyFields('KgState');
      WhereSQL.Text:='DotId=:DotId';
      SetCustomValue('KgState', aState=dsLink);
      SetParamValue('DotId', aDot.DotId);
      EditPost;
    end;
end;

procedure TqcGISProject.DownloadSymbolBitmaps(Section:Integer; LocalPath:string);
var
  FileName:string;
begin
  with dm_MainLinkObjects.PublicQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from t_Resources');
    SQL.Add('where Section='+IntToStr(Section));
    Open;
    while not Eof do
    begin
      FileName:=CheckPath(LocalPath)+FieldByName('Name').AsString;
      TBlobField(FieldByName('Info')).SaveToFile(FileName);
      Next;
    end;
  end;  
end;

procedure TqcGISProject.UpLoadResources(Section:Integer; ResType,
  ResPath:string);
var
  Path, FileName: String;
  sr: TSearchRec;
begin
  AppPath:=CheckPath(AppPath);
  Path := ResPath + '\*.' + ResType;
  if FindFirst(Path, $00000020, sr) = 0 then
  begin
    with dm_MainLinkObjects.PublicQuery do
    begin
      Close;
      SQL.Text:='select * from t_Resources where Section='+IntToStr(Section);
      Open;
      repeat
        begin
          FileName := AppPath +'SymbolBitmaps\'+ sr.Name;
          if Locate('Section; Name', VarArrayOf([Section, sr.Name]), [loCaseInsensitive]) then
            Edit
          else
            Append;
          FieldByName('Section').AsInteger := Section;
          FieldByName('Name').AsString := sr.Name;
          FieldByName('Type').AsString := ResType;
          TBlobField(FieldByName('Info')).LoadFromFile(FileName);
          Post;
        end;
      until SysUtils.FindNext(sr) <> 0;
      Close;
    end;
    FindClose(sr);
  end;
end;

procedure TqcGISProject.ConnectClick(Sender: TObject);
var
  INIF:TIniFile;
begin
  INIF:=TIniFile.Create(CheckPath(AppPath)+'AppInstConfig.ini');
  try
    case ReDirectSQLServer(INIF, dsKeepState) of
      dsDisConnected:begin
        MyDefInformation('連接服務器失敗,系統將要重新啟動!');
        Application.Terminate;
      end;
      dsConnected:begin
        //EXE程序登陸,需要使用對話框獲取用戶信息;其它方式登陸,使用函數//
        if AppType=atExe then ConnectUseDialog;
        //如果連接到服務器,則調用DoAfterConnect進一步設置//
        if Connected then DoAfterUserConnect;
      end;
    end;
  finally
    INIF.Free;
  end;
end;

procedure TqcGISProject.ReInitServerPart;

  procedure InitSubMapItems;
  begin
    Form_Main.cb_Maps.Clear;
    with dm_MainLinkObjects.PublicQuery do
    begin
      Close;
      SQL.Text:='select * from t_Units order by UnitID';
      Open;
      while not Eof do
      begin
        Form_Main.cb_Maps.Items.Add(FieldByName('UnitName').AsString);
        Next;
      end;
      Close;
    end;    
  end;

var
  Path:string;
begin
  //-------------------------------------------------------------------------//
  if not dm_Links.DBMachine1.Connected then Exit;
  //-------------------------------------------------------------------------//
  //從數據庫加載圖標到MapX圖標文件夾//
  Path:=CheckPath(AppPath)+'SymbolBitmaps';
  if not DirectoryExists(Path) then
    ForceDirectories(Path);
  DownloadSymbolBitmaps(1, Path);
  LoadSymbolBitmaps(Path, True);
  //-------------------------------------------------------------------------//
  InitSubMapItems; 
  //-------------------------------------------------------------------------//
end;

procedure TqcGISProject.UpLoadLayerFile(const UnitID:Integer;
  const FileName:string);
var
  ShortFileName:string;
begin
  {上傳圖層}
  ShortFileName:=ExtractFileName(FileName);
  with dm_MainLinkObjects.PublicQuery do
  begin
    Close;
    SQL.Text:='select * from t_Maps where UnitID=:UnitID and Name=:Name';
    SetParamValue(dm_MainLinkObjects.PublicQuery, 'UnitID', UnitID);
    SetParamValue(dm_MainLinkObjects.PublicQuery, 'Name', ShortFileName);
    Open;
    if (not Eof)and(FieldByName('Name').AsString<>'') then
      Edit
    else
      Append;
    FieldByName('UnitID').AsInteger := UnitID;
    FieldByName('Name').AsString := ShortFileName;
    TBlobField(FieldByName('Info')).LoadFromFile(FileName);
    Post;
  end;
  {修改服務器圖層日期}
  GDBPoster.TableName:='t_UpLoadTime';
  GDBPoster.SetInsertFields('UnitID,TableName,ModifyTime,ModifyUser');
  GDBPoster.SetModifyFields('ModifyTime,ModifyUser');
  GDBPoster.WhereSQL.Text:='UnitID=:UnitID and TableName=:TableName';
  GDBPoster.SetCustomValue('UnitID', UnitID);
  GDBPoster.SetCustomValue('TableName', ExtractFileNameNoExt(ShortFileName));
  GDBPoster.SetCustomValue('ModifyTime', Now);
  GDBPoster.SetCustomValue('ModifyUser', App_UserInfo.UserName);
  GDBPoster.SetParamValue('UnitID', UnitID);
  GDBPoster.SetParamValue('TableName', ExtractFileNameNoExt(ShortFileName));
  GDBPoster.IniPost;
  {修改本地最后一次下載日期}
  SetDownloadDate(UnitID, ExtractFileNameNoExt(ShortFileName), Now);
end;

procedure TqcGISProject.LoadMaps(const ItemIndex: Integer);

  procedure LoadCurUnitInfo;
  begin
    with dm_MainLinkObjects.PublicQuery do
    begin
      Close;
      SQL.Text:='select * from t_Units where UnitName=:UnitName';
      SetParamValue(dm_MainLinkObjects.PublicQuery, 'UnitName', CurUnitName);
      Open;
      FCurUnitID:=FieldByName('UnitID').AsInteger;
      FDLCtrl.UnitID:=FCurUnitID;
      Close;
    end;
  end;

var
  ANode:TTreeNode;
begin
  //-------------------------------------------------------------------------//
  if not dm_Links.DBMachine1.Connected then Exit;
  //-------------------------------------------------------------------------//
  //初始化前檢查//
  if SysTree=nil then
    raise Exception.Create('變量 SysTree 沒有初始化,無法加載GIS系統實例信息!');
  //-------------------------------------------------------------------------//
  LoadCurUnitInfo;
  //加載圖層樹信息//
  LoadLayerTreeInfo;
  //-------------------------------------------------------------------------//
  //檢查本地圖層是否完整,如果不完整,則提示是否自動下載服務器圖層//
  if CheckLocalMap=False then
  begin
    if MyConfirmation('提示', '本地地圖不完整,是否從服務器下載?', False) then
      DownLoadSystemLayers;
  end;
  //-------------------------------------------------------------------------//
  //加載圖層,并設置圖層的可見性,是否可編輯,默認樣式//
  LoadAndInitMap;
  //保存各個系統圖層對象,這樣操作圖層速度快//
  FUserLayer:=GetLayer(LAYER_SYS_USER, ANode);
  FSubStationLayer:=GetLayer(LAYER_SYS_SUBSTATION, ANode);
  FDotLayer:=GetLayer(LAYER_SYS_POWER, ANode);
  FLineLayer:=GetLayer(LAYER_SYS_LINE, ANode);
  FBTLayer:=GetLayer(LAYER_SYS_BT, ANode);
  FWaterSystemLayer:=GetLayer(LAYER_SYS_WARTERSYS, ANode);
  FRoadLayer:=GetLayer(LAYER_SYS_ROAD, ANode);
  FBuildingLayer:=GetLayer(LAYER_SYS_BUILDING, ANode);
  FBottomLayer:=GetLayer(LAYER_SYS_BOTTOM, ANode);
  //-------------------------------------------------------------------------//
  //加載模擬數據//
  DLCtrl.LoadFromDataBase(dm_MainLinkObjects.PublicQuery);
  //刷新模擬圖//
  RefreshSimulantMap;
  //-------------------------------------------------------------------------//
  //地圖視口調整//
  GMapTools.m_Map.ViewGlobalMap;
  //應驗窗口初始化//
  Form_Main.InitEyeForm;
  //-------------------------------------------------------------------------//
end;

function TqcGISProject.GetCurUnitName: string;
begin
  Result:=Form_Main.cb_Maps.Items[Form_Main.cb_Maps.ItemIndex];
end;

function TqcGISProject.GetLocalMapPath: string;
begin
  AppPath:=CheckPath(AppPath);
  if UserUnitType=2 then
    Result:=AppPath+'Maps\'+CurUnitName+'\'
  else
    Result:=AppPath+'Maps\';
end;

function TqcGISProject.Connect(const UserName, Password: string): Boolean;
begin
  TQCUserInfo(App_UserInfo).LoadInfo(UserName, Password);
  Result:=App_UserInfo.UserExists;
  DebugLog.Add('DB500TS-C', ['用戶【'+UserName+'】合法,允許登陸']);
  //如果連接到服務器,則調用DoAfterConnect進一步設置//
  if Result then DoAfterUserConnect;
end;

function TqcGISProject.ConnectUseDialog: Boolean;
const
  TestCount=3;
var
  i:integer;
  userCode,userPassword:string;
begin
  Result:=False;
  for i:=1 to TestCount do
  begin
    if not GetUserInfo(userCode,userPassword) then
    begin
      MyInformation('登陸系統', '您已取消登陸,只能使用本地功能!');
      Exit;
    end;
    TQCUserInfo(App_UserInfo).LoadInfo(userCode,userPassword);
    Result:=App_UserInfo.UserExists;
    if Result then Exit;
    if i>=TestCount then
    begin
      MyInformation('登陸系統', '超過'+IntToStr(TestCount)+'次,只能使用本地功能!');
      Exit;
    end;
    MyInformation('登陸系統', '用戶不存在或口令錯誤,請重試!');
  end;
end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本道精品一区二区三区| 在线观看免费视频综合| 91蜜桃在线免费视频| 欧美放荡的少妇| 欧美国产精品一区二区| 亚州成人在线电影| 成人av网在线| 久久夜色精品国产欧美乱极品| 玉米视频成人免费看| 国产成人啪午夜精品网站男同| 欧美日韩一区成人| 国产精品国产a| 国产精品91一区二区| 欧美一区二区私人影院日本| 中文字幕亚洲一区二区va在线| 久久99久久99| 欧美一区二区三区视频免费| 一区在线中文字幕| 成人久久18免费网站麻豆 | 欧美另类videos死尸| 亚洲色欲色欲www| 国产盗摄一区二区三区| 精品女同一区二区| 亚洲成人免费av| 91久久精品午夜一区二区| 国产精品女同一区二区三区| 国内不卡的二区三区中文字幕| 欧美精三区欧美精三区| 亚洲一区二区三区中文字幕| jlzzjlzz欧美大全| 自拍偷在线精品自拍偷无码专区| 国产成人在线观看免费网站| 久久久久久久久97黄色工厂| 久久99国产精品成人| 欧美岛国在线观看| 国内精品国产成人国产三级粉色| 日韩一区二区视频在线观看| 免费视频一区二区| 精品国产伦一区二区三区观看方式 | 午夜伊人狠狠久久| 欧美日韩中字一区| 香港成人在线视频| 欧美日韩国产成人在线免费| 午夜精品一区在线观看| 久久精品一区二区三区av| 亚洲猫色日本管| 91丨porny丨中文| 亚洲国产精品久久不卡毛片| 欧美专区日韩专区| 日韩av不卡一区二区| 欧美一级黄色录像| 国产福利视频一区二区三区| 久久久久久电影| 成人小视频免费观看| 亚洲欧美偷拍三级| 欧美猛男超大videosgay| 亚洲第一电影网| 日韩视频免费直播| 国产不卡一区视频| 亚洲柠檬福利资源导航| 欧美日韩中文精品| 六月丁香综合在线视频| 日本一区二区三区在线不卡| 97精品久久久午夜一区二区三区| 亚洲自拍偷拍网站| 精品国产一区二区三区久久久蜜月| 国产在线看一区| 国产精品久久久久久久久免费樱桃 | 日韩精品电影一区亚洲| 精品国产91乱码一区二区三区| 成人小视频在线| 免费看欧美女人艹b| 国产欧美一区二区精品性| 欧美亚洲综合色| 成人性视频网站| 视频一区国产视频| 亚洲欧洲成人av每日更新| 欧美理论电影在线| 91在线无精精品入口| 激情综合色丁香一区二区| 亚洲视频免费在线| 久久亚洲精精品中文字幕早川悠里| 一本到三区不卡视频| 狠狠狠色丁香婷婷综合激情| 亚洲精品国产视频| 久久精品免视看| 3atv一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲视频免费观看| 久久久精品国产免大香伊| 欧美午夜精品久久久久久孕妇| 国产成人福利片| 麻豆一区二区在线| 一区二区三区在线播放| 中文在线免费一区三区高中清不卡| 717成人午夜免费福利电影| 91热门视频在线观看| 国产精品1024| 久久国产生活片100| 天天综合色天天综合色h| 一区二区三区精品视频| 最好看的中文字幕久久| 欧美国产日韩a欧美在线观看 | 欧美日韩大陆在线| 欧美影院一区二区三区| av一区二区三区四区| 国产一区二区三区免费播放| 免费人成网站在线观看欧美高清| 亚洲电影视频在线| 一区二区三区四区高清精品免费观看| 国产欧美一区二区精品婷婷| 26uuu色噜噜精品一区| 日韩欧美国产一区二区三区| 69久久夜色精品国产69蝌蚪网| 欧美性色aⅴ视频一区日韩精品| 91色乱码一区二区三区| 99天天综合性| 99国产欧美另类久久久精品| 成人免费av网站| eeuss鲁片一区二区三区| 波多野洁衣一区| 97se亚洲国产综合在线| 色系网站成人免费| 欧美日韩一区二区电影| 欧美一区二区私人影院日本| 日韩欧美另类在线| 久久综合九色综合97_久久久 | 国产精品99久久久久久有的能看| 国产一区视频在线看| 国产精品影视网| 丁香亚洲综合激情啪啪综合| 国产精品自拍在线| www.欧美日韩国产在线| 在线免费亚洲电影| 欧美精品日韩精品| 日韩一区二区免费电影| 26uuu久久综合| 欧美激情中文不卡| 亚洲精品高清在线| 日韩电影免费在线观看网站| 久久av资源站| 成人av免费在线播放| 91国产丝袜在线播放| 欧美精品在线一区二区三区| 精品国产乱码久久| 亚洲色欲色欲www| 日日摸夜夜添夜夜添国产精品| 国内欧美视频一区二区 | 亚洲欧美日韩在线不卡| 一区二区三区不卡在线观看 | 制服.丝袜.亚洲.另类.中文 | 久久精品国产99国产| 成熟亚洲日本毛茸茸凸凹| 色噜噜狠狠色综合中国| 欧美精品aⅴ在线视频| 久久久久青草大香线综合精品| 亚洲丝袜自拍清纯另类| 久久精品72免费观看| 91黄色小视频| 91精品国产91久久久久久一区二区 | 欧美一二三区精品| 国产精品九色蝌蚪自拍| 免费成人在线播放| a级精品国产片在线观看| 欧美一区二区福利视频| 亚洲丝袜制服诱惑| 国产激情偷乱视频一区二区三区 | 亚洲精品视频在线观看网站| 日本成人中文字幕在线视频| 成人午夜av影视| 日韩一区国产二区欧美三区| 亚洲乱码国产乱码精品精小说 | 成人毛片在线观看| 欧美岛国在线观看| 亚洲午夜久久久久久久久久久| 丁香婷婷综合网| 日韩丝袜美女视频| 亚洲午夜激情av| 99久久99久久精品免费看蜜桃| 精品国产不卡一区二区三区| 午夜在线成人av| 欧美伦理电影网| 一区二区三区在线看| 成人影视亚洲图片在线| 亚洲精品一区二区三区在线观看 | 国产一区二区三区在线观看免费视频 | 亚洲日本免费电影| 成人精品视频一区二区三区尤物| 日韩天堂在线观看| 日韩av电影天堂| 欧美精品丝袜久久久中文字幕| 伊人夜夜躁av伊人久久| 一本色道亚洲精品aⅴ| 一色屋精品亚洲香蕉网站| 国产激情91久久精品导航| 日韩女优视频免费观看| 天堂精品中文字幕在线| 欧美午夜影院一区| 五月天中文字幕一区二区| 欧美亚洲禁片免费|