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

📄 unit1.~pas

📁 MapX5.02+Delphi6 +Oracle 比较全的例子
💻 ~PAS
字号:
{
 author: MyGIS软件工作室(http://www.mygis.com.cn),培训用例
 date:2006
 function : 第2部分

 }
 unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, MapXLib_TLB, StdCtrls,ActiveX,AxCtrls;

type
  TForm1 = class(TForm)
    Map: TMap;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    btnExit: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure btnExitClick(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
        map.GeoSet := 'data/asia/asia.gst';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
        map.Layers.RemoveAll ;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
        lyr: CMapXLayer;
        lyrinfo: CMapXLayerInfo;
        ds : CMapXDataset;
	font : TFont;
	font_ : IFontDisp;
        
begin
        lyrinfo := CoLayerInfo.Create;

        lyrinfo.Type_ :=  miLayerInfoTypeTab;
        lyrinfo.AddParameter('Name', 'TAB');
        lyrinfo.AddParameter('FileSpec', ExtractFilePath(application.ExeName) +'data\asia\ASIACAPS.TAB');
        lyr := Map.Layers.Add(lyrinfo, 0);

        lyr.AutoLabel := true;


        if Map.DataSets.Contains(lyr.Name) then
                Map.DataSets.Remove(lyr.Name);
        ds := Map.DataSets.Add(miDataSetLayer,lyr,lyr.Name,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);
        ds.AddField('tempField','Country + Chr$(13) + Str$("首都人口:") + Cap_Pop');

	lyr.LabelProperties.Dataset := ds;
	lyr.LabelProperties.DataField := ds.Fields.Item['tempField'];
	lyr.LabelProperties.Position := miPositionCR ;
	lyr.LabelProperties.Offset := 5 ;
	lyr.LabelProperties.Style.TextFontColor := clNavy;
	lyr.LabelProperties.Overlap := false;
	lyr.LabelProperties.PartialSegments := true;
	font_ := lyr.LabelProperties.Style.TextFont;
	font := TFont.Create ;
	setolefont(font,font_);
	font.Size := 9 ;
	font.Name :='宋体';
        


end;

procedure TForm1.Button4Click(Sender: TObject);
var
        lyr: CMapXLayer;
        lyrinfo: CMapXLayerInfo;
begin
        lyrinfo:= coLayerInfo.create();
        lyrInfo.Type_ := miLayerInfoTypeServer;
        lyrInfo.AddParameter('Name','OARACLE');
        lyrInfo.AddParameter('ConnectString','UID=DEMO;PWD=DEMO;SRVR=ORACLE9I');
        lyrinfo.AddParameter('Query','Select * FROM ASIA');
        lyrinfo.AddParameter('ToolKit','ORAINET');
        lyrinfo.AddParameter('Cache','ON');
        lyr:=map.Layers.Add(lyrinfo,0);

end;

procedure TForm1.Button5Click(Sender: TObject);
var
        lyr: CMapXLayer;
        lyrinfo: CMapXLayerInfo;
        flds :CMapXFields;

begin
        lyrinfo := CoLayerInfo.Create;
        flds := CoFields.Create;
        flds.AddStringField('name',50,1);
        flds.AddIntegerField('value',0);

        lyrinfo.Type_ :=  miLayerInfoTypeTemp;
        lyrinfo.AddParameter('Name', 'TEMP');
        lyrinfo.AddParameter('Fields',flds);
        //lyrinfo.AddParameter('TableStorageType', 'MemTable');
        lyrinfo.AddParameter('TableStorageType', 'Native');
        lyr := Map.Layers.Add(lyrinfo, 0);

end;

procedure TForm1.Button6Click(Sender: TObject);
var
        lyr: CMapXLayer;
        lyrinfo: CMapXLayerInfo;
        flds :CMapXFields;

begin
        lyrinfo := CoLayerInfo.Create;
        flds := CoFields.Create;
        flds.AddStringField('name',50,1);
        flds.AddIntegerField('value',0);

        lyrinfo.Type_ :=  miLayerInfoTypeNewTable ;
        lyrinfo.AddParameter('Name', 'newtab');
        lyrinfo.AddParameter('Fields',flds);
        lyrinfo.AddParameter('FileSpec', ExtractFilePath(application.ExeName) +'data\asia\ASIACAPS1.TAB');
        lyrinfo.AddParameter('TableStorageType', 'Native');
        lyrinfo.AddParameter('OverwriteFile', '1');

        lyr := Map.Layers.Add(lyrinfo, 0);

end;

procedure TForm1.Button7Click(Sender: TObject);
begin
// to finish it by yourself   SaveMapAsGeoset
        showmessage('无操作!-保存GST文件');
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
        Map.Layers.LayersDlg(EmptyParam,EmptyParam);
end;

procedure TForm1.btnExitClick(Sender: TObject);
begin
        application.Terminate;
end;

end.

⌨️ 快捷键说明

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