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

📄 layer2dataset.pas

📁 GIS地理信息系统开发。 大名鼎鼎的MAPX+DELPHI7.0软件开发
💻 PAS
字号:
// This sample application and corresponding sample code is provided
// for example purposes only.  It has not undergone rigorous testing
// and as such should not be shipped as part of a final application
// without extensive testing on the part of the organization releasing
// the end-user product.

unit layer2Dataset;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, MapXLib_TLB;

type
  TlayerToDatasetForm = class(TForm)
    layerListBox: TListBox;
    makeDatasetButton: TButton;
    layerListLabel: TLabel;
    CloseButton: TButton;
    procedure FormActivate(Sender: TObject);
    procedure makeDatasetButtonClick(Sender: TObject);
    procedure CloseButtonClick(Sender: TObject);
    procedure layerListBoxDblClick(Sender: TObject);
  private
    { Private declarations }
    procedure makeDataset;
  public
    { Public declarations }
  end;

var
  layerToDatasetForm: TlayerToDatasetForm;
  curMap : TMap;

implementation

Uses
    MainUnit, ComObj;

{$R *.DFM}

procedure TlayerToDatasetForm.FormActivate(Sender: TObject);
Var
   i : integer;
begin
     // set variable to hold MapX control information
     curMap := MainUnit.MapForm.Map1;

     // Fill list box with layers names from Map
     layerListBox.Clear;
     for i := 1 to curMap.Layers.Count do
         layerListBox.Items.Add(curMap.OleObject.Layers.Item[i]);
end;

procedure TlayerToDatasetForm.makeDataset;
Var
   lyr : CMapXLayer;
   unusedParam: OleVariant;
begin
     // Set variant variant variable with layer chosen
     lyr := curMap.Layers.Item[layerListBox.ItemIndex + 1];

     TVarData(unusedParam).vType := varError;
     TVarData(unusedParam).vError := 2147614724; // DISP_E_PARAMNOTFOUND;
     try
        // Add dataset using layer chosen
        curMap.Datasets.Add(miDataSetLayer, lyr, lyr.Name, unusedParam, unusedParam, unusedParam, unusedParam, unusedParam);
     except on E: Exception Do showmessage(E.Message);
     end;
end;

procedure TlayerToDatasetForm.makeDatasetButtonClick(Sender: TObject);
begin
     makeDataset
end;

procedure TlayerToDatasetForm.CloseButtonClick(Sender: TObject);
begin
     Close;
end;



procedure TlayerToDatasetForm.layerListBoxDblClick(Sender: TObject);
begin
     makeDataset;
end;

end.

⌨️ 快捷键说明

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