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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mapxcontainer.~pas

?? 此代碼是關(guān)于mapgis的在
?? ~PAS
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
end;

function TMapManager.GetCurrentToolObject: TBaseMapTool;
var
  aTempTool:TBaseMapTool;
begin
  Result:=nil;
  aTempTool:=SysTools.CurrentToolObject;
  if (aTempTool<>nil)and(MapX.CurrentTool=aTempTool.ToolId) then
  begin
    Result:=aTempTool;
    Exit;
  end;
  aTempTool:=UserTools.CurrentToolObject;
  if (aTempTool<>nil)and(MapX.CurrentTool=aTempTool.ToolId) then
    Result:=aTempTool;
end;

function TMapManager.GetSingleSelectedLayer: CMapXLayer;
var
  i:Integer;
  Count:Integer;
  TempLayer:CMapXLayer;
begin
  TempLayer:=nil;
  Count:=0;
  for i:=1 to MapX.Layers.Count do
  begin
    if MapX.Layers.Item[i].Selection.Count>0 then
    begin
      TempLayer:=MapX.Layers.Item[i];
      Inc(Count);
    end;
    if Count>1 then Break;
  end;
  if Count=1 then
    Result:=TempLayer
  else
    Result:=nil;
end;

function TMapManager.Copy:Boolean;
var
  ALyr:Layer;
begin
  Result:=False;
  ALyr:=GetFirstSelectLayer;
  if (ALyr=nil)or(ALyr.Selection.Count=0) then Exit;
  CopyFts:=ALyr.NoFeatures;
  CopyFts.Add(ALyr.Selection.Clone);
  Result:=True;
end;

function TMapManager.GetFirstSelectLayer: CMapXLayer;
var
  i:Integer;
begin
  Result:=nil;
  for i:=1 to MapX.Layers.Count do
    if MapX.Layers.Item[i].Selection.Count>0 then
    begin
      Result:=MapX.Layers.Item[i];
      Exit;
    end;
end;

procedure TMapManager.DoBeforeSelectionDeleted(ASender: TObject;
  EditLayer: CMapXLayer);
var
  i:Integer;
  pProc:TMapXSelectionDeleted;
begin
  for i:=0 to FSelectionDeletedEventProces.Count-1 do
  begin
    pProc:=TMapXSelectionDeleted(FSelectionDeletedEventProces.Items[i].Method);
    pProc(ASender, EditLayer);
  end;
end;

{ TFeatureClass }

constructor TFeatureClass.Create;
begin
  inherited Create;
  FFields:=TMapFieldList.Create;
  FFeatureList:=TBusinessFeatureList.Create;
  FParams:=TStringList.Create;
end;

destructor TFeatureClass.Destroy;
begin
  FFields.Free;
  FFeatureList.Free;
  FParams.Free;
  inherited Destroy;
end;

procedure TFeatureClass.LoadFromStream(Stream: TStream);
begin
  FeatureClassName:=ReadString(Stream);
  TableStructCanChanged:=ReadBoolean(Stream);
  FeatureListCanChanged:=ReadBoolean(Stream);
  Script:=ReadString(Stream);
  FFields.LoadFromStream(Stream);
  FFeatureList.LoadFromStream(Stream);
  ReadMemo(Stream, FParams);
end;

procedure TFeatureClass.SaveToStream(Stream: TStream);
begin
  WriteString(Stream, FeatureClassName);
  WriteBoolean(Stream, TableStructCanChanged);
  WriteBoolean(Stream, FeatureListCanChanged);
  WriteString(Stream, Script);  
  FFields.SaveToStream(Stream);
  FFeatureList.SaveToStream(Stream);
  WriteMemo(Stream, FParams);
end;

constructor TFeatureClassList.Create;
begin
  FList:=TList.Create;
end;

destructor TFeatureClassList.Destroy;
begin
  Clear;
  FList.Free;
  inherited Destroy;
end;

function TFeatureClassList.GetItemCount:Integer;
begin
  Result:=FList.Count;
end;

function TFeatureClassList.GetItem(Index:Integer):TFeatureClass;
begin
  Result:=FList.Items[Index];
end;

procedure TFeatureClassList.Add(Value:TFeatureClass);
begin
 FList.Add(Value);
end;

function TFeatureClassList.Add:TFeatureClass;
begin
 Result:=TFeatureClass.Create;
 Add(Result);
end;

procedure TFeatureClassList.Insert(const Index:Integer;Value:TFeatureClass);
begin
  FList.Insert(Index,Value);
end;

function TFeatureClassList.Insert(const Index:Integer):TFeatureClass;
begin
  Result:=TFeatureClass.Create;
  FList.Insert(Index,Result);
end;

procedure TFeatureClassList.Delete(const Index:Integer);
begin
  TFeatureClass(FList.Items[Index]).Free;
  FList.Delete(Index);
end;

procedure TFeatureClassList.Clear;
var
  i:Integer;
begin
  for i:=0 to FList.Count-1 do
    TFeatureClass(FList.Items[i]).Free;
  FList.Clear;
end;

procedure TFeatureClassList.LoadFromStream(Stream:TStream);
var
  i:Integer;
  myCount:Integer;
  AObj:TFeatureClass;
begin
  Clear;
  myCount:=ReadInteger(Stream);
  for i:=0 to myCount-1 do
  begin
    AObj:=Add;
    AObj.LoadFromStream(Stream);
  end;
end;

procedure TFeatureClassList.SaveToStream(Stream:TStream);
var
  i:Integer;
  AObj:TFeatureClass;
begin
  WriteInteger(Stream, FList.Count);
  for i:=0 to FList.Count-1 do
  begin
    AObj:=Items[i];
    AObj.SaveToStream(Stream);
  end;
end;

{ TLayersManager }

function TLayersManager.CreateUserDrawLayer(
  const LayerName: string): CMapXLayer;
begin
  Result:=MapX.Layers.AddUserDrawLayer(LayerName, 1);  
end;

function TLayersManager.CreateDefaultTempLayer(
  const LayerName: string; const Index:Integer): CMapXLayer;
var
  Position:OleVariant;
begin
  if Index=-1 then
    Position:=MapX.Layers.Count+1
  else
    Position:=Index;
  Result:=MapX.Layers.CreateLayer(LayerName, EmptyParam,Position,EmptyParam, EmptyParam);
  Result.Editable:=True;
end;

function TLayersManager.FindByName(const LayerName: string): CMapXLayer;
var
  Index:Integer;
begin
  Result:=nil;
  Index:=IndexByName(LayerName);
  if Index>-1 then
    Result:=MapX.Layers.Item[Index];
end;

function TLayersManager.GetActiveLayer: CMapXLayer;
begin
  Result:=MapX.Layers.AnimationLayer;
end;

procedure TLayersManager.GetLayerNames(List: TStrings);
var
  i:Integer;
begin
  List.Clear;
  for i:=1 to MapX.Layers.Count do
    List.Add(MapX.Layers.Item[i].Name);
end;

function TLayersManager.IndexByName(const LayerName: string): Integer;
var
  i:Integer;
begin
  Result:=-1;
  for i:=1 to MapX.Layers.Count do
    if CompareText(MapX.Layers.Item[i].Name, LayerName)=0 then
    begin
      Result:=i;
      Exit;
    end;
end;

function TLayersManager.CreateLayerFromFile(const LayerName, FileName: string;
  const Index:Integer; const bAddData:Boolean):CMapXLayer;
var
  Position:OleVariant;
begin
  if Index=-1 then
    Position:=MapX.Layers.Count+1
  else
    Position:=Index;
  Result:=MapX.Layers.Add(FileName,Position);
  Result.Name:=LayerName;
  if bAddData then
    MapX.Datasets.Add(miDataSetLayer, Result, Result.Name,
                      EmptyParam, EmptyParam, EmptyParam,
                      EmptyParam, EmptyParam);
end;

procedure TLayersManager.CreateLayersFromFiles(List: TStrings;
  const FromIndex:Integer; const bAddData:Boolean);
var
  i:Integer;
  Position:OleVariant;
  ALyr:Layer;
begin
  if FromIndex=-1 then
    Position:=MapX.Layers.Count+1
  else
    Position:=FromIndex;
  for i:=0 to List.Count-1 do
  begin
    ALyr:=MapX.Layers.Add(List.Strings[i],Position+i);
    if bAddData then
      MapX.Datasets.Add(miDataSetLayer, ALyr, ALyr.Name,
                        EmptyParam, EmptyParam, EmptyParam,
                        EmptyParam, EmptyParam);
  end;
end;

procedure TLayersManager.Merge(const LayerIndexes: string);
begin

end;

procedure TLayersManager.Move(const FromIndex, ToIndex: Integer);
begin
  MapX.Layers.Move(FromIndex, ToIndex);
end;

procedure TLayersManager.MoveToBottom(const Index: Integer);
begin
  MapX.Layers.Move(Index, MapX.Layers.Count);
end;

procedure TLayersManager.MoveToTop(const Index: Integer);
begin
  MapX.Layers.Move(Index, 1);
end;

procedure TLayersManager.Pack(const PackType:Integer);
var
  i: Integer;
begin
  for i := 1 to MapX.Layers.Count do
    MapX.Layers[i].Pack(PackType);
end;

procedure TLayersManager.Remove(const Index: Integer);
begin
  MapX.Layers.Remove(Index);
end;

procedure TLayersManager.RemoveAll;
begin
  MapX.Layers.RemoveAll;
end;

procedure TLayersManager.RemoveByName(const LayerName: string);
var
  i:Integer;
begin
  for i:=MapX.Layers.Count downto 1 do
  begin
    if CompareText(MapX.Layers.Item[i].Name, LayerName)=0 then
      MapX.Layers.Remove(i);
  end;
end;

procedure TLayersManager.SetActiveLayer(const Value: CMapXLayer);
begin
  MapX.Layers.AnimationLayer:=Value;
end;

function TLayersManager.CreateSymbolLayerFromDataSet(const LayerName,
  DataSetName, XFieldName, YFieldName, KeyFieldName, TabFileName: string;
  DS:TCustomADODataSet): CMapXLayer;
var
  oBLayer : BindLayer;
  MapDS:DataSet;
begin
  if FileExists(TabFileName) then
    DeleteFile(TabFileName);
  if not DS.Active then
    raise Exception.Create('系統(tǒng)基礎(chǔ)表沒(méi)有打開(kāi)!');
  if DS.FindField(XFieldName)=nil then
    raise Exception.Create('橫坐標(biāo)字段不存在!');
  if DS.FindField(YFieldName)=nil then
    raise Exception.Create('縱坐標(biāo)字段不存在!');
  if DS.FindField(KeyFieldName)=nil then
    raise Exception.Create('編號(hào)字段不存在!');
  //創(chuàng)建BindLayer//
  oBLayer := coBindLayer.Create;
  oBLayer.LayerName := LayerName;
  oBLayer.FileSpec := TabFileName; 
  oBLayer.LayerType := miBindLayerTypeXY;//必須使用這個(gè)參數(shù)才能綁定XY坐標(biāo)
  oBLayer.RefColumn1 := XFieldName;//橫坐標(biāo)
  oBLayer.RefColumn2 := YFieldName;//縱坐標(biāo)
  //添加數(shù)據(jù)集//
  MapDS:=MapX.Datasets.Add(miDataSetADO,//數(shù)據(jù)集類型,這是miDataSetADO,即ADO專用的
                           DS.Recordset,//使用這個(gè)方法獲得ADO中的_Recordset類型
                           DataSetName,//數(shù)據(jù)集名稱
                           KeyFieldName,//傳入的是Xunit表中的字段ID的名稱
                           EmptyParam,
                           oBLayer,//BindLayer
                           EmptyParam,
                           EmptyParam);
end;

function TLayersManager.CreateCustomTableLayer(const LayerName,
  FilePath: string; MapFields: TMapFieldList; const Index:Integer;
  const bAddData:Boolean): CMapXLayer;
var
  LyrInfo:LayerInfo;
  Flds:Fields;
  FileName:string;
  Position:OleVariant;
begin
  FileName:=FilePath+'\'+LayerName+'.TAB';
  if FileExists(FileName) then DeleteFile(FileName);
  if Index=-1 then
    Position:=MapX.Layers.Count+1
  else
    Position:=Index;
  LyrInfo:=CoLayerInfo.Create;
  Flds:=CoFields.Create;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品久久精品色综合| 日本不卡视频在线| 欧美一区二区在线不卡| 岛国av在线一区| 热久久免费视频| 一区二区久久久久| 精品一区二区三区视频在线观看| 精品久久久久久最新网址| 91丨porny丨户外露出| 激情久久久久久久久久久久久久久久| 亚洲自拍都市欧美小说| 亚洲国产精品成人综合色在线婷婷| 制服丝袜亚洲精品中文字幕| 色噜噜狠狠色综合欧洲selulu| 国产成人a级片| 久久99蜜桃精品| 视频一区免费在线观看| 亚洲一区二区三区影院| 中文字幕日本不卡| 亚洲国产精品激情在线观看| 欧美成人aa大片| 欧美一级二级三级乱码| 欧美肥大bbwbbw高潮| 欧美日韩免费视频| 91麻豆产精品久久久久久| 99精品久久只有精品| 成人午夜精品一区二区三区| 国产麻豆精品久久一二三| 久久99精品网久久| 美脚の诱脚舐め脚责91| 日韩高清在线电影| 日本亚洲三级在线| 视频在线观看国产精品| 日日噜噜夜夜狠狠视频欧美人| 亚洲国产一区二区视频| 亚洲午夜日本在线观看| 亚洲精选一二三| 一区二区三区免费网站| 一区二区三区在线视频播放| 亚洲乱码日产精品bd| 亚洲免费在线视频一区 二区| 亚洲天堂免费看| 亚洲美女视频一区| 亚洲va在线va天堂| 欧美96一区二区免费视频| 青青草一区二区三区| 久久精品久久综合| 国产精品一色哟哟哟| 国产精品一区二区视频| 播五月开心婷婷综合| av高清不卡在线| 欧美性猛片aaaaaaa做受| 欧美日韩亚洲综合一区二区三区| 欧美日韩国产精品自在自线| 欧美一区二区三区视频免费播放 | 成人国产一区二区三区精品| 不卡的电影网站| 欧美性大战xxxxx久久久| 欧美日韩高清一区二区| 日韩精品综合一本久道在线视频| 精品国精品国产| 欧美国产精品一区二区三区| 中文字幕一区二区视频| 一区二区三区色| 日韩电影在线观看网站| 国产精品99久久久久久久女警| 日韩成人av影视| 国产精品丝袜黑色高跟| 亚洲综合久久久久| 免费美女久久99| 不卡av电影在线播放| 欧美精品自拍偷拍动漫精品| 337p粉嫩大胆噜噜噜噜噜91av| 中文字幕第一页久久| 亚洲一区二区欧美激情| 九九国产精品视频| av色综合久久天堂av综合| 5566中文字幕一区二区电影 | 亚洲国产一区视频| 蜜臀av一区二区三区| www.欧美色图| 欧美一区二区在线不卡| 国产精品久久久久久久久久免费看 | 日韩欧美中文一区| 国产精品进线69影院| 亚洲成人免费在线| 成人午夜短视频| 欧美丰满一区二区免费视频| 国产欧美日韩在线看| 亚洲国产成人精品视频| 国产精品乡下勾搭老头1| 欧美亚洲免费在线一区| 国产视频一区在线观看| 亚洲成av人片一区二区梦乃| 国产成人aaa| 欧美精品第1页| 亚洲天堂成人在线观看| 日本欧美在线观看| 色综合久久久久综合体| 久久理论电影网| 日本在线观看不卡视频| 91麻豆国产自产在线观看| 久久精品欧美一区二区三区不卡| 亚洲国产精品久久一线不卡| 成人精品视频一区二区三区| 欧美一级日韩免费不卡| 亚洲一区在线视频观看| 成人一道本在线| 久久久久久亚洲综合影院红桃 | 久久精品水蜜桃av综合天堂| 亚洲成人一区二区在线观看| 91丨九色丨蝌蚪丨老版| 中文字幕欧美国产| 久久av老司机精品网站导航| 欧美精三区欧美精三区| 亚洲自拍偷拍欧美| 91视频免费播放| 中文字幕成人av| 国产jizzjizz一区二区| 26uuu亚洲| 激情小说亚洲一区| www.av亚洲| 日韩视频免费直播| 日韩影视精彩在线| 欧美日韩国产经典色站一区二区三区| 亚洲毛片av在线| 色成人在线视频| 亚洲精品精品亚洲| 一本久久a久久精品亚洲| 中文字幕亚洲一区二区av在线| 国产 欧美在线| 国产精品理论在线观看| eeuss鲁片一区二区三区在线观看| 久久老女人爱爱| 国产成人av电影在线| 中文字幕国产一区二区| 波多野结衣精品在线| 亚洲青青青在线视频| 91在线国产福利| 亚洲国产精品自拍| 欧美精品日日鲁夜夜添| 麻豆国产欧美日韩综合精品二区| 精品国产一区久久| 国产a精品视频| 中文字幕不卡的av| 91福利资源站| 天堂在线亚洲视频| 精品免费99久久| 国产精品88av| 国产精品福利影院| 欧美三级视频在线观看| 五月天亚洲婷婷| 久久亚洲精品国产精品紫薇| 国产凹凸在线观看一区二区| 亚洲男人的天堂在线观看| 欧美日韩亚洲综合在线| 激情综合色丁香一区二区| 久久久国际精品| 91麻豆精品一区二区三区| 午夜影院久久久| 久久综合网色—综合色88| 成人免费视频caoporn| 一区二区三区四区在线| 91 com成人网| 懂色av一区二区夜夜嗨| 亚洲一级二级在线| 欧美成人精品高清在线播放 | av不卡免费在线观看| 亚洲国产精品人人做人人爽| 欧美一区二区三区免费大片| 国产乱码一区二区三区| 一区二区在线观看av| 日韩一区二区三区四区五区六区| 高清久久久久久| 亚洲aⅴ怡春院| 国产日韩av一区二区| 欧美亚洲综合色| 国产剧情在线观看一区二区| 亚洲综合一二区| 国产性色一区二区| 欧美色倩网站大全免费| 国产成人啪午夜精品网站男同| 亚洲宅男天堂在线观看无病毒| 欧美videofree性高清杂交| 色综合一个色综合| 国产精品综合一区二区三区| 亚洲国产成人高清精品| 欧美一区二区三区免费大片| 亚洲成人中文在线| 国产日韩高清在线| 欧美另类高清zo欧美| av亚洲精华国产精华| 久久99九九99精品| 亚洲电影一区二区三区| 国产日本欧美一区二区| 日韩午夜在线播放| 在线亚洲一区二区| 国产91精品久久久久久久网曝门 | 成人av电影在线| 久88久久88久久久|