📄 layer2dataset.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 + -