二次开发入门MapBasic--MapInfo教程

二次开发入门MapBasic--MapInfo教程
二次开发入门MapBasic--MapInfo教程

MapInfo教程--二次开发入门摘要:MapBasic是Mapinfo自带的二次开发语言,它是一种类似Basic的解释性语言,利用MapBasic编程生成的*.mbx文件能在Mapinfo软件平台上运行,早期的Mapinfo二次开发都是基于MapBasic进行的。MapBasic学起来容易,用起来却束缚多多,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,从现在角度看,MapBasic比较适合用于扩展Mapinfo功能。

一、利用MapBasic开发

MapBasic是Mapinfo自带的二次开发语言,它是一种类似Basic的解释性语言,利用MapBasic编程生成的*.mbx文件能在Mapinfo软件平台上运行,早期的Mapinfo二次开发都是基于MapBasic进行的。MapBasic学起来容易,用起来却束缚多多,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,从现在角度看,MapBasic比较适合用于扩展Mapinfo功能。

二、利用OLE自动化开发

1. 建立Mapinfo自动化对象

基于OLE自动化的开发就是编程人员通过标准化编程工具如VC、VB、Delphi、PB等建立自动化控制器,然后通过传送类似MapBasic语言的宏命令对Mapinfo进行操作。实际上是将Mapinfo用作进程外服务器,它在后台输出OLE自动化对象,供控制器调用它的属性和方法。

OLE自动化开发的首要一步就是建立Mapinfo自动化对象,以Delphi为例(后面都是如此),你可设定一个Variant类型的全程变量代表OLE自动化对象,假设该变量名为olemapinfo,那么有:

oleMapinfo := CreateOleObject('Mapinfo.Application')

一旦OLE自动化对象建立,也就是后台Mapinfo成功启动,你就可以使用该对象的Do方法向Mapinfo发送命令,如:

oleMapinfo.Do('Set Next Document Parent' + WinHand + 'Style 1')

这一命令使Mapinfo窗口成为应用程序的子窗口,WinHand是地图窗口句柄,style 1 是没有边框的窗口类型。你还可以使用自动化对象的Eval方法返回MapBasic表达式的值,如下面语句返回当前所打开的表数:

TablesNum:=olemapinfo.eval('NumTables()')

你也可以直接调用Mapinfo菜单或按钮命令对地图窗口进行操作,如地图放大显示:oleMapinfo.RunMenuCommand(1705)

2. 建立客户自动化对象触发CallBack

基于OLE自动化开发的难点在于所谓的CallBack,Mapinfo服务器对客户程序地图窗口的反应叫CallBack,假如你在地图窗口中移动地图目标,Mapinfo能返回信息告诉你地图目标当前的坐标位置,这就是CallBack功能。如果你想定制自己的地图操作工具或菜单命令,你必须依靠CallBack。但是想捕获CallBack信息,你的客户程序必须具备接收CallBack信息的能力,为此需要在客户程序中定义自己的OLE自动化对象,如:

//定义界面

IMyCallback = interface(IDispatch)

['{2F4E1FA1-6BC7-11D4-9632-913682D1E638}']

function WindowContentsChanged(var WindowID: Integer):SCODE;safecall;

function SetStatusText(var StatusText: WideString): SCODE; safecall;

//定义界面实现

TMyCallback = class(TAutoObject, IMyCallback)

function SetStatusText(var StatusText: WideString): SCODE; safecall;

function WindowContentsChanged(var WindowID: Integer): SCODE;safecall;

其中WindowContentsChanged函数用于返回变化窗口的ID号,即当地图窗口变化时(如放大、缩小),让Mapinfo将地图窗口的ID号返回给客户程序; 另一个SetStatusText函数返回Mapinfo状态条变化信息。编程人员不能随意定义这些函数,因为只有在三种情况下Mapinfo 服务器的CallBack才会被触发:(1)地图窗口发生变化,触发函数为WindowContentsChanged;

(2)Mapinfo状态条信息改变,触发函数为SetStatusText;(3)用户选择自定义工具或菜单命令在地图窗口上操作,如用户定制的画线工具,当用户在地图窗口画线时触发Mapinfo的CallBack返回线的坐标位置。

建立客户自动化对象后,调用MapInfo自动化对象的SetCallback方法将客户自己定义的自动化对象告诉Mapinfo,只要程序一运行,客户自动化对象就会自动在注册表中注册,然后就能收到CallBack信息了,如:

My:=MyCallBack.Create

oleMapInfo.SetCallBack(My)

这里打一个比方我想会有助于理解上述机制,客户程序与Mapinfo之间的交互就像舞台指挥与木偶演员的交流,客户程序中的地图窗口或说Mapinfo子窗口只不过是一个牵线木偶,后台的Mapinfo才是真正操纵木偶的演员,所以客户程序必须与后台Mapinfo建立正向、反向的联系机制,才能操纵地图窗口中的图形目标。

三、利用MapX开发

1. 掌握使用MapX

MapX是Mapinfo公司最新推出的ActiveX控件产品,目前已经发展到MapX4.5。由于MapX 是基于Windows操作系统的标准控件,因而能支持VC、VB、Delphi、PB等标准化编程工具,使用时只需将控件装入开发环境,装入控件后,开发环境ActiveX工具条上会增加一个控件按钮Map,把它拖放到窗体上就可建立一个TMap类型的ActiveX地图对象Map,通过设置或访问该Map对象的属性、调用该Map对象的方法及事件,便能快捷地将地图操作功能溶入到你的应用程序中。

MapX由一系列Object(对象)和Collection(对象集合)组成,Map是最基本的对象,每个Map 由Layer(层)、Dataset(数据集)和Annotation(标注)这三个对象及对象集合(Layers、Datasets、Annotations)来定义,其中Layer用于操作地图图层,Dataset用于访问空间对象的属性数据,Annotation用于在地图上添加文本、符号等标注,掌握上述三个主要对象的特征后,再顺藤摸瓜掌握下一级对象的特征,如每个Layer又由Feature(点、线、面、文本图形目标)对象及对象集合(Features)定义,每个Dataset由Field(属性数据域)对象及对象集合(Fields)定义......,这样很快就能把MapX学到手。

2. 定义地图坐标系

在MapX开发中需要特别注意地图坐标系问题,MapX地图坐标系分为地图显示坐标系和内部计算坐标系,两者互为独立,在GIS应用开发中根据应用需要设置好这两种坐标系非常重要,因为坐标系一方面影响软件系统的内部坐标处理,另一方面影响地图的外观显示。Map对象的坐标系及投影通过CoordSys对象的Set方法定义:

Set(Type, [Datum], [Units], [OriginLongitude], [OriginLatitude],

[StandardParallelOne], [StandardParallelTwo], [Azimuth], [ScaleFactor],

[FalseEasting], [FalseNorthing], [Range], [Bounds], [AffineTransform])

其中主要参数:Type表示投影类型,Type为1时地图坐标以经纬度表示,后面都为可选参数,其中Datum为地球基准面;Units为坐标单位,如Units为7表示以米为单位;

OriginLongitude、OriginLatitude分别为起始经度和纬度;StandardParallelOne、StandardParallelTwo为第一、第二标准纬线,该参数与地图投影相关。

通过设置Map对象的DisplayCoordSys和NumericCoordSys属性返回的CoordSys对象,就可设定地图显示坐标系和内部计算坐标系。举例如下:

procedure TMain.DefineMapParam();

var

MapDatum: Variant;//地球基准面

begin

try

MapDatum := CreateOleObject('MapX.Datum.4'); //建立基准面对象

//定义北京54坐标系基准面

// (Ellipsoid, ShiftX, ShiftY, ShiftZ, RotateX, RotateY, RotateZ, ScaleAdjust, PrimeMeridian) MapDatum.set(3, 24, -123, -94, -0.02, 0.25, 0.13, 1.1, 0);

//定义北京54坐标系经纬度作为内部计算坐标系

Map1.NumericCoordSys.Set_(1, MapDatum);

//定义北京54坐标系30度标准纬线麦卡托投影作为显示坐标系,单位为米

Map1.DisplayCoordSys.Set_(26,MapDatum,7,0,0,30);

finally

VarClear(MapDatum);

end;

坐标系是GIS系统的基石,正确设置坐标系是系统成败的关键。

3. 操纵地图对象

你可以简单地加载一个GeoSet文件,给Layers对象集合赋予具体的内容,随之在Map对象中就能看到地图显示,GeoSet文件类似MapInfo中的工作空间,MapX中带有Geoset文件的编辑器GeosetMangater.exe,用户可在编辑器中组合及设置图层,然后保存生成一个*.gst 文件直接调入Map对象,这样可以节省时间。你也可以通过Layers对象的Add 或Remove 方法添加或移走地图图层,如:

https://www.360docs.net/doc/337640465.html,yers.Add(FileName); // 添加图层,FileName为文件全路径名

https://www.360docs.net/doc/337640465.html,yers.Remove(3); // 移走地图第三层

Layers对象由一组Layer对象组成,通过Layer对象的Features和Selection对象集合你可以操纵和选择图层上的图形目标,如:

https://www.360docs.net/doc/337640465.html,yers.Item(1).AddFeature(Newobj); //将新建对象Newobj添加到图层一

4. 地图数据捆绑

数据捆绑是将不同来源的数据对应到地图层的过程,捆绑结果会产生一个Dataset对象,Dataset对象的集合组成Datasets Collection,它定义了Map对象的数据集属性。你可以通过Datasets将不同来源的数据捆绑到地图上实现图文互动,或创建专题图,如下例ODBC Access数据的捆绑及专题分析:

procedure TMapForm.ODBC1Click(Sender: TObject);

var

param: ODBCQueryInfo ;

ds: Dataset; //定义数据集

Datafields: Fields; //定义数据域

begin

param.SqlQuery := 'select * from China'; //选择Access数据库中的China表

param.DataSource := 'MapChina'; //ODBC 数据源名

param.ConnectString := 'ODBC;'; //或是user = ... Pwd = ... , 定义ODBC连接

Datafields.Add('GEONAME','GEONAME', miAggregationAuto,miTypeString); //添加数据域GEONAME

Datafields.Add('POPU','POPU', miAggregationAuto,miTypeNumeric); //添加数据域POPU

//将Access数据捆绑到Mapinfo China表

ds := Map.Datasets.Add(miDataSetODBC, param, unassigned, unassigned, unassigned, 'CHINA', Datafields, unassigned);

ds.Themes.Add(miThemeRanged, 'POPU', 'MyTheme'); //添加一个范围专题图

end;

5. 建立客户定制工具

你还可以定制自己的地图操作工具,下面通过定制一个名为Info的信息按钮工具简述方法步骤:

(1)定义客户工具常量

Const CUSTOM_INFO_TOOL = 1

(2)利用Map对象的CreateCustomTool方法定义客户工具,方法为:

CreateCustomTool (ToolNumber, Type, Cursor, [ShiftCursor] , [CtrlCursor], [InfoTips])

其中ToolNumber为工具号,即上面定义的常量;Type为工具类型;Cursor为光标形状,其他参数可选。

//定义Info工具为十字光标点触发工具

Map.CreateCustomTool(CUSTOM_INFO_TOOL, miToolTypePoint, miCrossCursor, miArrowCursor, miArrowCursor, unassigned)

(3)在Map对象事件ToolUsed中编写工具的Handler(操作内容)

procedure TMain.MapToolUsed(Sender: TObject; ToolNum: Smallint; X1, Y1, X2, Y2, Distance: Double;

Shift, Ctrl: WordBool; var EnableDefault: WordBool); begin

Case ToolNumber of

CUSTOM_INFO_TOOL : //信息工具Info

try

……

end;

(4)定义信息按钮的Click事件

procedure https://www.360docs.net/doc/337640465.html,Click(Sender: TObject);

begin

Map.CurrentTool:=CUSTOM_INFO_TOOL;

end

四、小结

基于MapBasic的开发简单但受限制较多,比较适合Mapinfo功能扩展编程。而基于OLE自动化的开发比较繁琐,因为需要来回向后台的Mapinfo发送MapBasic字符串命令,所建立的应用程序运行速度也相对较慢,但这种开发方法能随心所欲制作出美观友好的界面,将地理操作与非地理操作溶为一体,并且能实现几乎100%的Mapinfo功能,这是目前的MapX4.5也不能比拟的。与传统GIS专业性开发环境相比,像MapX这类组件式GIS系统的出现可说是一种质的飞跃,它小巧灵活,开发简捷,价格便宜,以后会越来越大众化。用MapX

开发的GIS系统运行速度快,因为它不需要在Mapinfo软件平台上运行。但从目前MapX4.5看,MapX并没能实现所有的Mapinfo功能(据称95%以上),使用过程中发现其生成或编辑地图能力及地理分析能力不足,而且里面Bug也不少,当然随着今后新版的推出,MapX会越来越稳定、完美。

PDMS-PML基础

PML基础王元 AVEVA中国2005.11.19

如何学习PML编程 T需要具备的基本知识 –熟悉Pdms的基本操作 –了解Pdms的运行机制,模块之间的关系 –Pdms属性的操作 –Pdms命令的操作 –Pml语法(本教程) –通过Pdms菜单查找示范程序 课程将包括... T PML介绍 –PML概念 –PML功能 –PML构成 T PML程序语言 –变量的定义及用法 –循环Do、判断If、跳转Golabel –错误处理 –文件处理 –函数Functions、方法Method –对话框Forms和菜单Menu

课程结束后... T您会具有以下知识… –PML构成及功能 –编写简单的宏 –PML变量的定义及应用 –PML函数/方法的定义及调用 –PML窗体/对象的定义及调用 PML -功能强大的语言 T P rogrammable M acro L anguage可编程宏语言 T PML2基于面向对象(Object Oriented)概念的编程语言T支持用户自定义对象类型(Object Types) T简单易学,与PDMS无缝连接 T丰富的内置函数,方法及对象 T最简单的对话框,菜单编写语言

PML构成 T Macros –Macros是包含PDMS 命令序列的ASCII文件 –Macros 在PDMS 中通过$m /FILENAME来执行 T PML –变量(Variables) –判断语句(if Constrcuct) –循环(Do loops) –错误处理(Error Handling) –文件处理(Files and Directories) T窗体和菜单 –PDMS大多数应用程序都由对话框(Forms)和菜单(Menus)来驱动 一个简单的Macro T宏是包含PDMS 命令序列的一个文本文件 T运行宏 $M /MyFile ASCII 文件 MYFILE NEW EQUIP /FRED NEW BOX XLEN 300 YLEN 400 ZLEN 600 NEW CYL DIA 400 HEI 600 CONN P1 TO P2 OF PREV

MAPGIS67教程(制图详细步骤讲解)

第1章概述与安装 1.1 概述 MAPGIS 是中国地质大学(武汉)开发的、通用的工具型地理信息系统软件。它是在享有盛誉的地图编辑出版系统MAPCAD 基础上发展起来的,可对空间数据进行采集,存储,检索,分析和图形表示的计算机系统。MAPGIS 包括了MAPCAD的全部基本制图功能,可以制作具有出版精度的十分复杂的地形图、地质图,同时它能对图形数据与各种专业数据进行一体化管理和空间分析查询,从而为多源地学信息的综合分析提供了一个理想的平台。 MAPGIS 地理信息系统适用于地质、矿产、地理、测绘、水利、石油、煤炭、铁道、交通、城建、规划及土地管理专业,在该系统的基础上目前已完成了城市综合管网系统、地籍管理系统、土地利用数据库管理系统、供水管网系统、煤气管道系统、城市规划系统、电力配网系统、通信管网及自动配线系统、环保与监测系统、警用电子地图系统、作战指挥系统、GPS 导航监控系统、旅游系统等一系列应用系统的开发。 1.2安装 1)系统要求: 硬件:CPU 486 以上、16M RAM、200M 硬盘、256 色以上显示器; 操作系统:Win9x、Win2000、WinNT 、WinXP或Win7系统; 输入设备:本单位主要使用的是GRAPHTEC—RS200Pro型扫描仪; 输出设备:本单位主要使用的是Canon—IPF700型出图打印机。 2) 硬件的安装: MAPGIS 硬件部分有加密狗,ISA 卡、PCI 卡三种,本单位主要为MAPGIS USB 软件狗,在确保机器BIOS 设置中USB 设备未被禁止的条件下,Windows 98 和Windows2000 自带的标准USB 驱动程序均可支持MAPGIS USB 软件狗工作。 3)软件的安装: MAPGIS 安装程序的安装过程为:找到MAPGIS 系统安装软件,双击SETUP 图标,系统自动安装软件,在WIN2000/NT/XP 下安装时,应先运行WINNT_DRV,提示成功后才可选择SETUP 开始MAPGIS 程序的安装; 对于MAPGIS6.1 及MAPGIS6.5,则无关键字和安装选择,但须根据实际需要选择安装组件。 从上述组件中选择实际运用中需要的选项,根据提示即可完成安装。

Excel+vba入门教程

VBA入门系列讲座 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动 化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel的宏语言来使excel自动化,使用word BASIC使word自动化,等等.微软决定让它开 发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是”寄生于”VB应用程序的版本.VBA和VB的区别包括如下 几个方面: 1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(excel 等)自动化 2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序. 3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序 是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的”父”应用程 序,例如excel. 尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解 了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在excel中用VBA创建解决方案后,即已具备在word access OUTLOOK 中用VBA创建解决方案的大部分知识. FOXPRO PROWERPOINT VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化. VBA可以称作excel的“遥控器”. VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案. 此外,如果你愿意,还可以将excel用做开发平台实现应用程序. 1.2 Excel环境中基于应用程序自动化的优点 也许你想知道VBA可以干什么?使用VBA可以实现的功能包括: 1. 使重复的任务自动化. 2. 自定义excel工具栏,菜单和界面. 3. 简化模板的使用. 4. 自定义excel,使其成为开发平台. 5. 创建报表. 6. 对数据进行复杂的操作和分析.

Solidworks二次开发入门教程[VB实现]

Solidworks二次开发入门教程:运用VB语言实现二次开发 Visual Basic(简称为VB)是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(O LE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic的功能也越来越强。5.0版以后,Visual Basic 推出了中文版,与前个版本相比,其功能有了很大提升。 Visual Basic 6.0作为Visual Studio 6.0的优秀一员,已成为企业级快速开发的利器。Visual Basic 6. 0在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能。数据环境和新的报表功能也让数据开发有了全新的体验。Visual Basic 借助COM/COM+强大的功能,可以开发具有多层结构的分布式应用程序。同时,Visual Basic还可以在IIS上开发性能超群的Web应用程序。Visual Basic 6. 0在语言方面和IDE方面的改进都不大,但是许多新增的组件成为Visual Basic开发人员手中的利器,如File System Object等。新的字符串函数Split和Replace等也给Visual Basic的程序员带来很大方便。 Visual Basic 6.0具有下述优点: (1) 面向对象 (2) 事件驱动 (3) 软件的集成式开发 (4) 结构化的程序设计语言 (5) 强大的数据库访问功能 (6) 支持对象的链接与嵌入技术 (7) 网络功能 (8) 多个应用程序向导 (9) 支持动态交换、动态链接技术 (l0) 联机帮助功能 VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO 连接数据库,或者轻松的创建ActiveX控件。它不像高级语言Visual C++那麽复杂,但它的功能很全,程序员可以轻松的使用VB提供的组件进行二次开发,快速建立属于自己的应用程序。 2 利用VB实现圆台交互式绘制的实现过程 2.1 启动VB程序 启动VB程序,VB6.0的主窗口如图1所示,可以直观地看到主窗体主要有以下部分组成:标题栏;菜单栏;工具栏;窗体设计器;控件(工具)箱;弹出式(上下文)菜单;工程管理器窗口;属性窗口;对象浏览器;对象浏览器及窗体布局窗口。

PDMS软件的二次开发及应用

PDMS软件的二次开发及应用 姓名:王晶 指导老师:郭琳 实习单位:建造公司技术部电议室毕业院校:哈尔滨工业大学 所学专业:软件工程 2010 年 12 月

摘要 PDMS软件在许多行业中流行,适应多种行业建模,具有一定的普遍性。PDMS软件能够进行的三维建模可直接生成自动标注的分专业或多专业布置图、单管图、配管图、结构图、支吊架安装图,并抽取材料等。 PDMS软件的引进为公司带来了更多的方便提高了效率和准确度,但由于该软件的普及性特点注定了对本公司所涉及的工程项目不具备针对性,虽然带来了巨大的效益,同时对于具体项目而言仍然不可避免的存在着某些繁琐复杂的手工工作程序。 本课题使用PML语言对PDMS软件进行了二次开发,提供了多个扩展功能,通过与原软件风格相融合的图形化形式展示给用户,操作方便,不但解决了工作中存在的许多重复、耗时的工作,提高工作效率,增强计算准确率,也成为PDMS的二次开发的真实实践,掌握一种新的技术。对PDMS软件新增功能的使用将为公司带来更高效、更省时的收益,并将随着该技术的不断完善、熟练,成为公司的一种商品为公司带来新的效益。 关键词:PDMS;PML语言;文件存储;Add-ins;

目录 摘要 ............................................................. I 目录 ............................................................ I I 一概述 . (1) 1.1 课题背景及研究目的 (1) 1.1.1 与课题相关的研究综述 (1) 1.1.2 课题研究目的与意义 (2) 1.2 课题研究的创新点 (2) 二研究方案 (5) 2.1 技术方案 (5) 2.1.1 PDMS运行机制及二次开发技术 (5) 2.1.2 PML功能及构成 (7) 2.2 技术关键 (7) 2.2.1 PML中Add-ins的应用 (8) 2.2.2 PML文件存储机制 (8) 2.2.3 PML对象的应用 (10) 三 PDMS扩展功能介绍及应用 (11) 3.1 PDMS扩展功能界面展示 (11) 3.2 电缆路径自动敷设及电缆长度统计功能 (12) 3.3 托架上某截面电缆信息的展示功能 (15) 3.4 填充率计算及护管选型功能 (16) 3.5 错误路径删除及打印单个路径图纸功能 (18) 3.6 相关联的其它扩展功能 (19) 四总结 (20) 五参考文献 (21) 六致谢 (22)

利用VB和MAPGIS基本控件做二次开发

利用VB和MAPGIS基本控件学做二次开发 摘要:本文介绍了利用VB进行MAPGIS二次开发的原理、方法和实现技术,为用户进行复杂的应用开发提供了技术基础。 关键词:VB,MAPGIS,二次开发 微软公司的Visual Basic是一个简单易学的可视化开发工具,MAPGIS提供了很多功能强大的图形和属性管理控件,并为二次开发提供了许多完备的功能接口。利用VB和MAPGIS 基本控件可以做一些基本的开发,满足用户的一些特殊需要。本文将以区文件操作开发为例,讲解二次开发的原理、方法、要点和实现技术。 第一步:首先建立VB开发环境。 安装MAPGIS SDK软件到MAPGIS安装路径下。 添加声明模块vbW60_Area.bas,该模块包含MAPGIS基本参数及结构定义、消息与版本定义等。添加的方法是:在VB程序中点取"Project"菜单下的"Add Module",添加vbW60_Area.bas文件,该文件在MAPGIS安装程序的Basic子目录下。 添加参照引用文件。这些文件是MAPGIS控件功能实现的外部参照。添加的方法是:在VB程序中点取"Project"菜单下的“References”,将MapGisBasCtl1 1.0 Type Library、MapGisBasCtl2 1.0 Type Library、MapGisBasCom 1.0 Type Library、MapGisBasCtl 1.0 Type Library四个参照文件打钩,如下图所示。 设置可执行文件输出目录。生成的可执行文件必须放在与MAPGIS安装目录的动态库和控件相同的目录中才能执行。设置的方法是:点取"File"菜单下的"Make *.exe..",选择

AutoCAD VBA二次开发初级教程

AutoCAD VBA二次开发初级教程 第一课:入门 1.为什么要写这个教程 市面上ACAD VBA的书不多,它的帮助是英文版的,很多人看不懂。其实我转行已经好几年了,而且手艺也慢慢生疏了,写个教程对自己来说也是一次复习。 2.什么是Autocad VBA? VBA是Visual Basic for Applications的英文缩写,它是一个功能强大的开发工具,学好VBA可以成倍甚至成百、成万倍提高工作效率,在工作中,有很多任务仅用ACAD命令不可能完成的,只要学好VBA就可以做到,相信到时候您一定会得到同事的佩服、老板的器重。 3、VBA有多难? 相信大家都知道Basic是的含义。应该承认,我的水平还不高,错误之处在所难免,如果大家发现错误一定要提出批评,以便及时更正。 4、怎样学习VBA? 介绍大家一个学习公式:信心+恒心=开心。仔细阅读本教程,完成例题,在学习的过程中一定要多思考,多想一些是什么、为什么。本教程将陆续发布在CAD 世界论坛上,您不需要付费就可以学习。本作者在此郑重承诺:关于本教程中有任何疑问,可以跟贴提问,只要有时间,本人一定会耐心解答。我不会发到任何人的邮箱中,您自己在论坛上找就可以了,请不要再向我索要这份教程。 5、现在我们开始编写第一个程序:画一百个同心圆 第一步:复制下面的红色代码 第二步:在模型空间按快捷键Alt+F8,出现宏窗口 第三步:在宏名称中填写C100,点“创建”、“确定” 第四步:在Sub c100()和End Sub之间粘贴代码 第五步:回到模型空间,再次按Alt+F8,点击“运行” Sub c100() Dim cc(0 To 2) As Double '声明坐标变量 cc(0) = 1000 '定义圆心座标 cc(1) = 1000 cc(2) = 0 For i = 1 To 1000 Step 10 '开始循环 Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆 Next i End Sub 也许您还看不懂上面的代码,这没有关系,只要能把同心画出来就可以了,祝您成功。

mapgis新手教程3

山西地信数码科技公司
MAPGIS 教程
8、系统弹出(如下图)对话框。在此对话框中选择我们新建好的空白文件夹。
此文件夹即为 新建好的空白 文件夹
9、选择要裁剪的文件。这儿有两种情况: ①如果(左面窗口中)所有的文件都需要进行裁剪时,我们直接点击“添加全部”即可。 ②如果(左面窗口中)只有一部分文件需裁剪时,我们要将所需裁剪的文件全部选中(即将 其选为蓝色) 。然后点击“添加”→选择全部→设置“参数” (参数的设置参照下图即可)→ →单击“参数应用” (此时左下角的窗口中会显示出我们将要进行裁剪的图形文件)→单击 “装入裁剪框” (即我们在“输入编辑”中新建好的区文件)→单击“开始裁剪”→在右下 角窗口中的任意位置单击右键,在弹出的下拉菜单中选择“复位窗口” 。这时裁剪后新的图 形文件就显示在此窗口中→退出。
5

山西地信数码科技公司
MAPGIS 教程
此处为裁剪 范围。 此图为裁剪 后的新文件。
10、最后,我们可以在“输入编辑”中打开裁剪后的文件。 (如下图)
6

山西地信数码科技公司
MAPGIS 教程
本次操作结束,如发现有不清或不对的地方请与我们联系(sxmapgis@https://www.360docs.net/doc/337640465.html,) ,我们 会及时改正,谢谢! 这里只是讲一些快速的入门法, 如果想更深入的了解 MAPGIS 知识, 请看 MAPGIS 相关书 籍。
7

山西地信数码科技公司
MAPGIS 教程
MAPGIS 打

(作者:sxmapgis) 功能:打印出图. 当一张图绘制完后,我们需要把它打印出来,具体步骤如下:
如果在准备出图的过程中,如果还要进行一些修改,在菜单栏上单击“返回编辑” 。
1

Solidworks二次开发入门教程

Solidworks二次开发入门教程连载4:运用VB语言实现二次开发 VB简述 Visual Basic(简称为VB)是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic的功能也越来越强。5.0版以后,Visual Basic 推出了中文版,与前个版本相比,其功能有了很大提升。 Visual Basic 6.0作为Visual Studio 6.0的优秀一员,已成为企业级快速开发的利器。Visual Basic 6. 0在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能。数据环境和新的报表功能也让数据开发有了全新的体验。Visual Basic 借助COM/COM+强大的功能,可以开发具有多层结构的分布式应用程序。同时,Visual Basic还可以在IIS上开发性能超群的Web应用程序。Visual Basic 6.0在语言方面和IDE方面的改进都不大,但是许多新增的组件成为Visual Basic开发人员手中的利器,如F ile System Object等。新的字符串函数Split和Replace等也给Visual Basic的程序员带来很大方便。 Visual Basic 6.0具有下述优点: (1) 面向对象 (2) 事件驱动 (3) 软件的集成式开发 (4) 结构化的程序设计语言 (5) 强大的数据库访问功能 (6) 支持对象的链接与嵌入技术 (7) 网络功能 (8) 多个应用程序向导 (9) 支持动态交换、动态链接技术 (l0) 联机帮助功能 VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。它不像高级语言Visual C++那麽复杂,但它的功能很全,程序员可以轻松的使用VB提供的组件进行二次开发,快速建立属于自己的应用程序。 2 利用VB实现圆台交互式绘制的实现过程 2.1 启动VB程序

pml基础语法简明教程

第一部分: 基础知识 PML基本概念 Programmable Macro Language 可编程宏语言. 通常的PML开发包括两部分, 一部分是PML宏,脚本语言; 另一部分是PML2,面向对象的编程语言. 1.PML宏(Macro) 宏, 就是一系列pml命令的集合. 通过$m执行. 格式为: $m filename [param1 param2 ….] (举例) 其中param1为参数, 宏可以参数化. (举例) 2.面向对象的PML2 PML支持对象(Object),对话框(Form)和菜单(Menu). (举例) 一.变量,函数和方法 1. 变量的定义及用法 在PML2中, 每一个变量都是对象. 变量名以!或者!!开头,例如!weight. !开头的变量为局部变量, !!开头的为全局变量. PML内置了常用的变量类型. (1)Real 实属类型. 提供基本的四则运算操作. 例如 !a = 10 !b = 10 !a = !a + !b $p $!a --输出变量a的值 (2)String 字符串类型. 例如 !strName = ‘/EQUI-TEST-1’ (3)Boolean 用于逻辑表达式. 值只能是true/false (4)Array 数组 (5)Position (6)Direction 3.变量的创建, 删除, 查看 变量可以用赋值来创建. 例如 !str = ‘abc’ 也可以用类型标识来创建. !str= string() !str= ‘abc’ 删除: !str.delete() 查看:通常使用q var!str也可以用$p $!str 4.方法(method) 和函数(Function) Method是一个对象的子程序. 只有当对象存在,才可以调用对象的方法. 例如

Revit二次开发从入门到精通学习之路

Revit二次开发从入门到精通学习之路 Autodesk Joe Ye 叶雄进 July 2010 Revit的在国内的应用越来越广泛, Revit 2011在速度和功能上有显著的提高,所以现在对Revit应用关注更多。Revit二次开发亦受到大量的关注和评估,许多国内朋友想了解学习 Revit 二次开发技术,希望获得快速学习的材料。这里我将简要介绍学习Revit二次开发的步骤和路径。另外把所有本人做过的中文培训讲座链接如下,使大家可以一站式收集可用学习资源。 在开发一项技术之前,大家都想了解该技术的发展现状和趋势。去年我在Autodesk University 上做过一次讲座,介绍 Revit 二次开发的功能和发展趋势,请下载观看了解Revit在全球的研发现状和后续发展趋势。 Revit 2011 的开发接口和开发模式与2010 有不少的变化和功能增强。如果是刚开始学习二次开发,建议从Revit 2011 开始学习。从入门就了解最新的技术和API功能。 一、预备Revit开发需要具备三个条件 1. Revit 2011产品,下载并安装 2. Revit 2011 SDK, 下载并安装 3. Visual Studio 2008 或Visual Studio 2008 Express 二、安装Revit 产品之后,学习Revit产品功能和特点。 如果您已经很熟悉,忽略产品学习步骤。 三、学习支持基于.NET的开发语言,如果已经具备,请继续下面的学习。 四、下载Revit开发入门培训录像,Revit 2011 API DevTV。 这个培训录像是一个入门级的培训,为没有从事过Revit开发的朋友预备。详细的演示了创建Revit 命令的步骤,Revit数据对象访问的步骤和方法,高效Revit二次开发工具和基本窍门。经过这90分总的学习,可以获得二次开发的许多知识。顺便说一下,在Autodesk 网站的Developer 页面 Autodesk Developer 的可以下载到许多Autodesk 多种产品二次开发的讲座录像。 五、下载Revit 2011 API更全面的二次开发讲座 这个讲座给大家更充分介绍Revit 2011 API的功能和用法,内容比上面的DevTV更充分,包含了对象的访问,对象的创建和修改。Revit 用户交互方面的编程讲解,比如事件,创建Ribbon界面控件,模型动态更新等高级开发内容。 六、学习Revit SDK中的文档 经过上面两个培训材料的学习,已经具备编写简单Revit程序,并且了解Revit二次开发的特点,Revit二次开发的重要技术。对Revit 二次开发有一个框架性的了解。如果您想具体的更详细的深入学习某一功能点,请阅读在SDK中的一个的开发指南:Revit 2011 API Developer Guide.pdf,这是目前为止介绍Revit二次开发最全面的书。比较详细的介绍了每一个功能的编程相关的类和函数的用法,并附有很多的例子来讲解API的用法。 SDK中的RevitAPI.chm 文档是全面解释所有API中的类,方法,属性的文档。所有的类,方法和属性都可以在其中找到。这个开发过程中最重要的一个API手册。

(推荐下载)MAPGIS67教程(制图详细步骤讲解)

(完整word版)MAPGIS67教程(制图详细步骤讲解) 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word 版)MAPGIS67教程(制图详细步骤讲解))的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)MAPGIS67教程(制图详细步骤讲解)的全部内容。

第1章概述与安装 1.1 概述 MAPGIS 是中国地质大学(武汉)开发的、通用的工具型地理信息系统软件。它是在享有盛誉的地图编辑出版系统 MAPCAD 基础上发展起来的,可对空间数据进行采集,存储,检索,分析和图形表示的计算机系统。MAPGIS 包括了 MAPCAD的全部基本制图功能,可以制作具有出版精度的十分复杂的地形图、地质图,同时它能对图形数据与各种专业数据进行一体化管理和空间分析查询,从而为多源地学信息的综合分析提供了一个理想的平台。 MAPGIS 地理信息系统适用于地质、矿产、地理、测绘、水利、石油、煤炭、铁道、交通、城建、规划及土地管理专业,在该系统的基础上目前已完成了城市综合管网系统、地籍管理系统、土地利用数据库管理系统、供水管网系统、煤气管道系统、城市规划系统、电力配网系统、通信管网及自动配线系统、环保与监测系统、警用电子地图系统、作战指挥系统、GPS 导航监控系统、旅游系统等一系列应用系统的开发。 1。2安装 1)系统要求: 硬件:CPU 486 以上、16M RAM、200M 硬盘、256 色以上显示器; 操作系统:Win9x、Win2000、WinNT 、WinXP或Win7系统; 输入设备:本单位主要使用的是GRAPHTEC—RS200Pro型扫描仪; 输出设备:本单位主要使用的是Canon—IPF700型出图打印机。 2)硬件的安装: MAPGIS 硬件部分有加密狗,ISA 卡、PCI 卡三种,本单位主要为 MAPGIS USB 软件狗,在确保机器 BIOS 设置中 USB 设备未被禁止的条件下,Windows 98 和 Windows2000 自带的标准 USB 驱动程序均可支持 MAPGIS USB 软件狗工作。 3)软件的安装: MAPGIS 安装程序的安装过程为:找到 MAPGIS 系统安装软件,双击SETUP 图标,系统自动安装软件,在 WIN2000/NT/XP 下安装时,应先运行 WINNT_DRV,提示成功后才可选择 SETUP 开始 MAPGIS 程序的安装; 对于 MAPGIS6。1 及 MAPGIS6。5,则无关键字和安装选择,但须根据实际需要选择安装组件。 从上述组件中选择实际运用中需要的选项,根据提示即可完成安装。

mapgis二次开发教程

mapgis二次开发教程 默认分类 2009-09-08 10:18:14 阅读898 评论1 字号:大中小订阅 目前MAPGIS二次开发库主要以API函数、MFC(Microsof t Foundation Class)类库、Com组件、Activ eX 控件四种方式提供。开发库被封装在若干动态链接库(DLL)中。 API函数在使用方法上与Windows的API函数完全一样,因此是独立于开发工具的。无论您使用VC++、VB还是BC++、Dephi…,您在这些工具中如何调用Windows的API函数,您就可以怎么调用这些二次开发函数。 MAPGIS类库是为基于MFC类库的C++开发者提供的多个可重用基类,它将应用程序所需的常见基本功能作了封装,使用便利,改动灵活。开发者只需从类库派生即可使自己的程序获得从窗口显示控制到图形查询编辑的各项功能。 MAPGIS COM组件是MAPGIS新一代体系结构的表现,功能更加强大,使用更加便利。具有二次开发方便、易于集成、无限 扩展等特点。支持多种开发软件,包括Visual C++、Visual Basic、Delphi、script、InterDev、Power Builder等,开发者可以多层次的 访问MAPGIS组件的数据层、功能层和界面层。 Activ eX 控件是MAPGIS完成组件化改造的成果之一,它们使得二次开发更为快捷便利,代码的可复用性更高。 上述各类开发接口提供了从最基本数据单元的读取、保存、更新和维护到MAPGIS地图库的建立和漫游,以及空间分析,图象 处理等一系列功能。其中,API函数是基础,使用上最灵活,但技巧性要求也最高。所以本书大量篇幅用于介绍C++ API函数。MAPGIS将不断丰富完善各类二次开发接口,以多种开发手段满足不同层次、不同应用的需求。这些函数所 在的C++头文件表4-1所示:

Excelvba入门教学教程

VBA 入门系列讲座 1.1 VBA 是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动 化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel 的宏语 言来使excel 自动化,使用word BASIC 使word 自动化,等等.微软决定让它开发出 来的应用程序共享一种通用的自动化语言 -------------------------- V isual Basic For Application (VBA ),可以认为VBA 是非常流行的应用程序开发语言 VASUAL BASIC 的子集.实际上VBA 是”寄生于”VB 应用程序的版本.VBA 和VB 的区别包 括如下几个方面: VB 是设计用于创建标准的应用程序,而VBA 是使已有的应用程序(excel 等)自动化 VB 具有自己的开发环境,而VBA 必须寄生于已有的应用程序. 要运行VB 开发的应用程序,用户不必安装VB,因为VB 开发出的应用程 序是 可执行文件(*.EXE ),而VBA 开发的程序必须依赖于它的”父”应用 程序, 例如excel. 尽管存在这些不同,VBA 和VB 在结构上仍然十分相似.事实上,如果你已经了 解了 VB,会发现学习VBA 非常快.相应的,学完VBA 会给学习VB 打下坚实的基 础.而且,当学会在excel 中用VBA 创建解决方案后,即已具备在 word access OUTLOOK FOX PRO P ROWER POINT 中用VBA 创建解决方案的大部分知识. VBA 一个关键特征是你所学的知识在微软的一些产品中可以相互转化 . VBA 可以称作excel 的“遥控器”. VBA 究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动 化,可以创建自定义的解决方案. 此外,如果你愿意,还可以将excel 用做开发平台实现应用程序. 1.2 Excel 环境中基于应用程序自动化的优点 也许你想知道VBA 可以干什么?使用VBA 可以实现的功能包括: 使重复的任务自动化. 自定义excel 工具栏,菜单和界面. 简化模板的使用. 自定义exceI 使其成为开发平台. 创建报表. 对数据进行复杂的操作和分析. 1. 2. 3. 1. 2. 3. 4. 5. 6.

二次开发入门MapBasic--MapInfo教程

MapInfo教程--二次开发入门摘要:MapBasic是Mapinfo自带的二次开发语言,它是一种类似Basic的解释性语言,利用MapBasic编程生成的*.mbx文件能在Mapinfo软件平台上运行,早期的Mapinfo二次开发都是基于MapBasic进行的。MapBasic学起来容易,用起来却束缚多多,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,从现在角度看,MapBasic比较适合用于扩展Mapinfo功能。 一、利用MapBasic开发 MapBasic是Mapinfo自带的二次开发语言,它是一种类似Basic的解释性语言,利用MapBasic编程生成的*.mbx文件能在Mapinfo软件平台上运行,早期的Mapinfo二次开发都是基于MapBasic进行的。MapBasic学起来容易,用起来却束缚多多,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,从现在角度看,MapBasic比较适合用于扩展Mapinfo功能。 二、利用OLE自动化开发 1. 建立Mapinfo自动化对象 基于OLE自动化的开发就是编程人员通过标准化编程工具如VC、VB、Delphi、PB等建立自动化控制器,然后通过传送类似MapBasic语言的宏命令对Mapinfo进行操作。实际上是将Mapinfo用作进程外服务器,它在后台输出OLE自动化对象,供控制器调用它的属性和方法。 OLE自动化开发的首要一步就是建立Mapinfo自动化对象,以Delphi为例(后面都是如此),你可设定一个Variant类型的全程变量代表OLE自动化对象,假设该变量名为olemapinfo,那么有: oleMapinfo := CreateOleObject('Mapinfo.Application') 一旦OLE自动化对象建立,也就是后台Mapinfo成功启动,你就可以使用该对象的Do方法向Mapinfo发送命令,如: oleMapinfo.Do('Set Next Document Parent' + WinHand + 'Style 1') 这一命令使Mapinfo窗口成为应用程序的子窗口,WinHand是地图窗口句柄,style 1 是没有边框的窗口类型。你还可以使用自动化对象的Eval方法返回MapBasic表达式的值,如下面语句返回当前所打开的表数: TablesNum:=olemapinfo.eval('NumTables()') 你也可以直接调用Mapinfo菜单或按钮命令对地图窗口进行操作,如地图放大显示:oleMapinfo.RunMenuCommand(1705) 2. 建立客户自动化对象触发CallBack 基于OLE自动化开发的难点在于所谓的CallBack,Mapinfo服务器对客户程序地图窗口的反应叫CallBack,假如你在地图窗口中移动地图目标,Mapinfo能返回信息告诉你地图目标当前的坐标位置,这就是CallBack功能。如果你想定制自己的地图操作工具或菜单命令,你必须依靠CallBack。但是想捕获CallBack信息,你的客户程序必须具备接收CallBack信息的能力,为此需要在客户程序中定义自己的OLE自动化对象,如: //定义界面 IMyCallback = interface(IDispatch) ['{2F4E1FA1-6BC7-11D4-9632-913682D1E638}'] function WindowContentsChanged(var WindowID: Integer):SCODE;safecall; function SetStatusText(var StatusText: WideString): SCODE; safecall; //定义界面实现

新手学习mapgis教程

------------------- 时磊5说----- - ---- ------- 新手学习mapgis教程 一、几个术语 图层:按照一定的需要或标准把某些相关物体组合在一起。可以把图层理解为一张透明薄膜, 每一层的图元在同一薄膜上,如水系力图层、铁路图层、地质界限图层、断层图层等。图层的分层有利于地图图元的管理,提高成图速度。 栅格图:即扫描的图像。 矢量图:即进行了数字化的图像,图中的每一个点都有相对的X和Y座标。 图元:图面上表示空间信息特征的基本单位,分为点、线(孤段)、多边形等三种类型。 点元:点图元的简称,有时称点。指其位置只有一组X和Y座标来控制。 它包括字符串(注释)、子图(专用符号)等。所有点保存在点文件中(*.wt)结点:指某线或孤段的端点或数条线或孤段的交点。 结点平差:使几条线或孤段成为共用一个结点的过程 线图元:地图中线状物的总称。如划线、省界、国界、地质界线、断层、水系、公路等。所有线图元都保存在线文件中(*.wl) 区图元(面图元):由线或孤段组的封闭区域,可以以颜色和花纹图案填充。如湖泊、地层、岩体分布区等。所有区图元都保存在区文件中(*.wp )。 工程:对一系列的点、线、面文件进行管理的描述性文件。 二、MAPGIS几种主要文件类型及后缀 .wp区(面)文件.pnt控制点文件 .wl线文件 .wt点文件 ?tif栅格文件 .rbm光栅求反后文件 .mpj工程文件 ?cln图例板文件 点文件(.wt):包括文字注记、符号等。即在输入时,文字和符号都存在点 文件中。在机助制图时,文字注记称为注释(如各种标注等),符号称为子图(矿 点符号,泉符号等)。 线文件(.wl):是由境界线、河流、航空线、海岸线等线状地物组成的图元。 面文件(.wp):将各个行政区进行普染色后,就得到了区文件。在理论上,区是封闭的线组成的区域,因此区是基于线生成的。 工程(.mpj):对一系列的点、线、面文件进行管理的描述性文件。其主要记录了各个文件的信息,如存放地、可编辑性等。(如何建立工程,见以后) 图形处理一输入编辑 一、输入编辑步聚 主要步骤为: 1将图件进件进行扫描,成灰度、或彩色、或二值。 2、建立相应的工作目录,即建立自已的工作文件夹。女口mapgis学习 3、将扫描的图像拷入到工作文件夹中, 4、将系统库(相当于\mapgis65\slib文件夹)拷到工作文件夹中。

Excel VBA基础教程两篇

Excel VBA基础教程两篇 篇一:Excel VBA基础教程 Excel VBA教程是把VB编程应用在Excel平台的一套实用教程,Excel +VBA双剑合壁,他可以帮助我们实现Excel原本实现不了的功能,可以让工作变得更高效,可以让操作变得变方便,可以把重复性的操作变得更有趣,随心所欲的定制自己的工作平台,还可以针对企业来开发各种系统如,人事管理系统、仓库系统、进存销系统等,对于经常要处理大量数据工作的朋友,学会了这套VBA教程你的工作将游刃有余。 标题 Excel VBA基础教程 Excel VBA基础教程 第一章:Excel VBA基础知识 1-1、Excel VBA教程简介 1-2、宏在工作中的运用

1-3、Excel VBA基础 1-4、Excel VBA窗口介绍 1-5、Excel VBA代码编写规则1-6、对象 1-7、属性 1-8、方法 1-9、常量与变量 1-10、数据类型 1-11、判断语句之IF 1-12、判断语句IF之多条件1-12B、If条件判断小结

1-13、判断语句之SELECT 1-14、循环语句之DO...LOOP 1-15、循环语句之DO...LOOP实例 1-16、循环语句之DO WHILE...LOOP 1-17、循环语句之DO UNTIL...LOOP 1-18、循环语句之WHILE与UNTIL位置变化1-18B、DO...LOOP 语法小结 1-19、.循环语句之FOR EACH...NEXT 1-20、循环语句之FOX...NEXT 1-20B、For...NEXT小结与实例 1-21、用语句FOR...NEXT制作九九乘法表

PML基础

PML 基础 王 元 AVEVA 中国2004.9.21 课程将包括... q PML 介绍 –PML 概念–PML 功能–PML 构成 q PML 程序语言 –变量的定义及用法 –循环Do 、判断If 、跳转Golabel –错误处理–文件处理 –函数Functions 、方法 Method – 对话框Forms 和菜单Menu 课程结束后... q 您会具有以下知识… –PML 构成及功能–编写简单的宏–PML 变量的定义及应用–PML 函数/方法的定义及调用–PML 窗体 /对象的定义及调用 PML -功能强大的语言 q P rogrammable M acro L anguage 可编程宏语言 q PML2基于面向对象(Object Oriented)概念的编程语言q 支持用户可自定义对象类型(Object Types)q 简单易学,与PDMS 无缝连接q 丰富的内置函数,方法及对象q 最简单的对话框,菜单编写语言 PML 构成 q Macros –Macros 是包含PDMS 命令序列的ASCII 文件 –Macros 在PDMS 中通过$m /FILENAME 来执行 q PML –变量(Variables) –判断语句(if Constrcuct)–循环(Do loops) –错误处理(Error Handling) – 文件处理(Files and Directories) q 窗体和菜单 –PDMS 大多数应用程序都由对话框(Forms)和菜单(Menus)来驱动

一个简单的Macro q 宏是包含 PDMS 命令序列的一个文本文件q 运行宏 $M /MyFile ASCII 文件MYFILE NEW EQUIP /FRED NEW BOX XLEN 300 YLEN 400 ZLEN 600NEW CYL DIA 400 HEI 600 CONN P1 TO P2 OF PREV NEW EQUIP /$1NEW BOX XLEN $2 YLEN $3 ZLEN $4NEW CYL DIA $3 HEI $4 CONN P1 TO P2 OF PREV ASCII 文件MYFILE 一个简单的Macro ,继续, 参数化宏Parameterized Macro q 宏可以参数化 q 文件名后面的字符串是参数(parameters) $M /MyFile NEWEQUIP 300 400 600 宏的参数 q Macros 可以有多达9 个由空格分隔的参数. $M /MyFile PML TRAINING 55 66 q 文本字符串可以以单个参数输入 $M /MyFile $< PML TRAINING $> 55 66 q $<和$>是分隔符,在它们之间的任何字符都被认为是单个参数 变量Variables q 变量基本概念 –变量用于存储数值,变量必须有名字,变量的数值可以改变,但变量名是固定的. q PML 变量 –在PML2中变量是一个对象(Objects) ?每一个对象(变量)有一个唯一的名字 ?每一个对象都有一套函数与之相关联,这些函数称为方法(Methods).方法用于处理对象中的数据 ?生成对象时必须指明对象类型(Object type),不同的对象类型对应不同的方法 对象(变量 )类型Object Types q 内置(Build-in)的对象类型 –字符串类型(String).如'Hello World' –实数类型(Real).整数类型包括在实数类型中,如99–布尔类型(Boolean).用于逻辑表达式,如True,False –数组类型(Array).可以存储任意类型的数据 q 系统定义(System-defined)的对象类型 –指在PDMS 中的变量类型,如Positon,Reference q 用户自定义(User-defined)的对象类型 生成、查询、删除变量 q 使用命令行或者文本文件测试q 通过赋值声明变量类型 !MyString = 'Hello World'Q var !MyString 显示 'Hello World' q 直接声明变量类型 !Length = Real()Q Var !Length 显示 Unset q 删除变量用到方法 !MyString.Delete ()

相关文档
最新文档