文档库 最新最全的文档下载
当前位置:文档库 › ObjectARX开发常用资料

ObjectARX开发常用资料

ObjectARX开发常用资料
ObjectARX开发常用资料

ARX开发常用资料

一、ADS函数与ARX函数对比 (2)

二、ARX里定义的数据类型 (10)

三、结果类型码 (11)

四、函数返回结果类型代码: (12)

五、其它代码 (12)

六、用户输入控制位代码:由函数acedInitGet()先发控制 (13)

七、对象捕捉编码及设置对象捕捉代码 (13)

八、CAD环境变量 (14)

一、ADS函数与ARX函数对比

二、ARX里定义的数据类型

三、结果类型码

四、函数返回结果类型代码:

五、其它代码

六、用户输入控制位代码:由函数acedInitGet()先发控制

七、对象捕捉编码及设置对象捕捉代码

ObjectArx修改捕捉模式实现方式

//获取捕捉模式

struct resbuf rb;

acedGetVar(_T("osmode"), &rb);

//设置捕捉模式

struct resbuf *newsnap;

newsnap=ads_buildlist(RTSHORT,n,0);

acedSetVar(_T("osmode"), newsnap);

acutRelRb(newsnap);

八、CAD环境变量

所谓系统变量就是一些参数,这些参数有些是可以在“选项”或其他对话框中进行设置的,有些这必须通过在命令行输入变量名进行设置,当然对于高手来说,还可以通过二次开发程序来进行控制。

CAD有很多的变量,例如FILL或FILLMODE控制填充的显示,ATTMODE控制块属性的显示,等等,了解一些常用的系统变量,当你的图纸出现一些问题时,你可以对出现问题的原因有些初步的判断,并可以通过修改变量设置快速解决。在CAD(无论是AUTOCAD 还是浩辰CAD等其他CAD)的帮助中通常有可以系统变量的介绍,随时到帮助查询也非常方便。我在网上看到一个CAD系统变量大全,放到这里,希望对您了解系统变量的作用有点帮助。

CAD的系统变量非常多,我们不可能记住所有变量的作用,我会用红色将一些大家可能会用到的变量标示出来,如果这个变量在对话框中无法设置,建议大家关注或记住,其他变量大家如果有需要时可以再查帮助或打开这篇博文里来查一查。

CAD系统变量大全(变量名称 --说明)

A 系统变量

B 系统变量

C 系统变量

D 系统变量

E 系统变量

F 系统变量

ObjectARX开发环境下的AutoCAD对话框设计

ObjectARX开发环境下的AutoCAD对话框设计 袁梅李亚萍张竟 (武汉大学城市建设学院,湖北武汉 430072) 摘要:在ObjectARX开发环境下,AutoCAD支持两种格式的对话框:PDB对话框和Windows 机制的对话框。从简单实例出发,本文介绍了这两种格式的对话框设计。 关键词:ObjectARX;AutoCAD;PDB;MFC;对话框 1 引言 ObjectARX是Autodesk公司为AutoCAD配置的面向对象的C++编程环境。在ObjectARX环境下开发的应用程序本质上是一个Windows环境下的动态连接库DLL,它共享AutoCAD的地址空间并能直接利用AutoCAD核心数据库结构和代码,能在运行期间实时扩展AutoCAD的功能。由于其功能强大、速度快、安全性好,目前已成为AutoCAD最重要的开发工具。 在CAD软件开发中,对话框的设计是软件开发者非常关心的问题之一。AutoCAD除了使用命令行与用户进行交互外,还可使用对话框。对话框是一种边界固定的窗口,也是一种最先进、最流行的人机交互界面。运用对话框可以方便地实现程序设计时的数据传输和信息传输,,所以在当今的几乎所有的软件都要用到对话框界面与用户交流。在CAD的二次开发中,可以采用两种方式使用对话框技术:,一种是PDB格式,即使用AutoCAD系统本身提供的可编程对话框技术,另一种是使用Windows机制的对话框设计技术。 以下分别介绍了以ObjectARX为开发工具、在Visual C++ 6.0集成开发环境中AutoCAD2000的这两种格式的对话框设计。 2 基于AutoCAD PDB的对话框设计 PDB是可编程对话框(Programmable Dialog Box)的缩写,是从R12开始提供的一种用于与用户交互的可视化界面。开发PDB对话框的关键有两个:,一是掌握DCL语言,二是编写ObjectARX驱动程序。许多已使用DCL对话框的ADS程序,只需对编程接口稍作修改就可移植到AutoCAD2000平台上,并且ObjectARX 2000向下兼容ADS,提供了与之对应的全局函数ADSRX,因此完全可在ObjectARX2000中采用ADSRX函数进行开发。 PDB对话框由对话框定义文件和驱动程序两部分组成。对话框定义文件用于定义对话框的外观,包括对话框的风格、位置、尺寸、内部控件及控件初值等。对话框驱动程序用于管理对话框的显示、与用户的交互、关闭以及获取对话框中控件值。 2.1 对话框定义文件 对话框定义文件是一种文本文件,其后缀为.dcl,它借助对话框控制语言(Dialog Control Language,简称DCL)来定义对话框的外观。DCL是Autodesk公司创建的专门用于生成对话框的命令语言。在用DCL定义对话框时,对话框中的单一部件称为“控件”,控件的布局、外观和行为借助于控件的属性而规定。对话框采用树型层次结构表示法,树的根节点为对话框本身,在DCL中称为dialog,树的叶节点可由各种控件和控件组构成,装配这些控件的过程就是定义对话框的过程,对话框是控件的有机组合。AutoCAD PDB模块提供了各种预定义的控件、控件组,以及控件的属性。事实上,编写DCL文件就是调用这些控件,并设置控件的属性。 下面给出图1所示对话框的DCL文件Mypdb.dcl: dcl_settings:default_dcl_settings {audit_level=0;}

Objectarx2008开发

表1-1 AutoCAD各种API 的比较 比较内容ObjectARX .NET VBA VisualLISP 性能非常强大强一般一般 执行速度最快快快慢 稳定性好好好好 易用性好好好一般 开发技术难度大一般小小 从上面的比较中我们可以看出VisualLISP /AutoLISP和VisualBASIC方便易学,开发周期短,适合开发一些小型的实用工具,但是,对开发速度和性能要求都很高的解决方案或者大型CAD应用软件,建议使用ObjectARX作为开发工具,有时候也可以考虑各个API的优缺点,在开发的系统中使用多种API 集成开发。 从工程的实际需求来看,AutoCAD有很好的开放性,而目前针对专业定制的开发的需求又是非常之大的,所以基于AutoCAD平台定制专业的CAD系统或者行业解决方案具有十分广阔的发展前景。 1.1.3 ObjectARX开发环境 要运用ObjectARX进行二次开发,必须首先设置好ObjectARX的开发环境,以AutoCAD 2008为例来说明,首先要从Autodesk公司网站免费下载ObjectARX 2008(2007) SDK,下载后的安装包是个自解压文件,将其释放到指定的目录,如C:\CAD SDK\ObjectARX 2008,ObjectARX 2008 SDK开发环境是Microsoft Visual Studio 2005(V C++ 8.0)。 安装好ObjectARX SDK后,就可以开始设置开发环境了,环境设置的主要任务就是设置头文件(*.h)和库文件(*.lib)的查找路径,头文件(*.h)和库文件(*.lib)的查找路径为VC++的环境参数,设置一次即可,对以后的所有项目均有效。 在Microsoft Visual Studio 2005中选择【工具】菜单下的【选项】,启动【选项】对话框,选择【项目和解决方案】下的【VC++目录】,在【包含文件】条目中添加ObjectARX 的包含文件(*.h)目录C:\CAD SDK\ObjectARX 2008\inc,如图1-4。 图1-4 添加ObjectARX的包含文件目录 在【库文件】条目中添加ObjectARX的库文件(*.lib)目录C:\CAD SDK\ObjectARX 2008\lib, 如图1-5。

通达信函数大全使用说明

软件简介: 通达信全部函数及其用法(2011年最新版) (一)行情函数 1)HIGH(H)最高价返回该周期最高价.2)LOW(L)最低价返回该周期最低价.3)CLOSE(C)收盘价返回该周期收盘价.4)VOL(V)成交量(手)返回该周期成交量.5)OPEN (O)开盘价返回该周期开盘价.6)ADVANCE 上涨家数返回该周期上涨家数. (本函数仅对大盘有效)7)DECLINE 下跌家数返回该周期下跌家数. (本函数仅对大盘有效)8)AMOUNT 成交额(元)返回该周期成交额.9)VOLINSTK 持仓量返回期货该周期持仓量.10)QHJSJ 期货结算价返回期货该周期结算价. 11)BUYVOL 外盘(手)返回外盘,即时行情数据 12)SELVOL 外盘(手)返回外盘 13)ISBUYORDER 主动性买单返回当前成交是否为主动性买单.用法: ISBUYORDER,当本笔成交为主动性买盘时,返回1,否则为0 14)DHIGH 不定周期最高价返回该不定周期最高价.15)DOPEN 不定周期开盘价返回该不定周期开盘价.16) DLOW 不定周期最低价返回该不定周期最低价.17)DCLOSE 不定周期收盘价返回该不定周期收盘价.18) DVOL 不定周期成交量价返回该不定周期成交量价.19)NAMELIKE 模糊股票名称返回股票名称是否以参数开头.

用法: if(NAMELIKE('ST'),x,y); 20)CODELIKE 模糊股票代码返回股票代码是否以参数开头. 用法: if(CODELIKE('600'),x,y); 21)INBLOCK 属于某板块返回股票是否属于某板块. 用法: if(INBLOCK('沪深300'),x,y); (二)时间函数 1)PERIOD 周期取得周期类型. 结果从0到11,依次分别是1/5/15/30/60分钟,日/周/月,多分钟,多日,季,年. 2)DATE 日期取得该周期从1900以来的的年月日. 用法: DATE 例如函数返回1000101,表示2000年1月1 日,DATE+19000000后才是真正的日期值 3)TIME 时间取得该周期的时分秒.用法: TIME 函数返回有效值范围为(000000-235959) 4)YEAR 年份取得该周期的年份.5)MONTH 月份取得该周期的月份.用法: 函数返回有效值范围为(1-12) 6)WEEKDAY 星期取得该周期的星期数.用法: WEEKDAY 函数返回有效值范围为(1-7) 7)DAY 日取得该周期的日期.用法: DAY 函数返回有效值范围为(1-31) 8)HOUR 小时取得该周期的小时数.用法: HOUR 函数返回有效值范围为(0-23),对于日线及更长的分析周期值为0

AutoCAD2007 ObjectARX环境配置

资料位置 主要资料包括3个 1.ObjectARX SDK中的doc文档 2.ObjectARX SDK中的sample中的readme.html 3.ObjectARX SDK中的arxlabs帮助文档 1.安装AutoCAD2007.exe 从共享盘上复制:\\whk\应用 (F)\应用软件\图像多媒体处理到本地安装目录D:\下载\AutoCAD 2007中文版。 按照说明安装:

2.安装vs2005 ●考虑到是在win8上安装vs2005,必然存在兼容性的问题 ●直接忽略兼容性问题,使用管理员身份安装vs2005 ●安装完成以后,下载VS80sp1-KB926604-X86-CHS.exe,和VS80sp1-KB932230-X86-CHS.exe, 使用管理员身份安装 ●安装成功以后,可以使用后,创建项目进行测试

3.objectARX wizard安装

4.在vs2005上进行环境配置 1)创建项目 In this step, you will learn how to set up a new ObjectARX project in Visual C++ .NET 2005 and you will build your first ObjectARX application. 1.From the "File" pull down menu of Visual C++ .NET, select "New"->"Project...". Step 1 Figure 1 - Creating a new VC++ project 2.Click on the "Visual C++" node in the "Project Types:" tree on the "New Project" dialog that appears. 3.Select "Win32 Project" in the list of templates. 4.Enter the desired project name, for example "Step01" in the Project name edit box. 5.Set the location to the folder where you want your project to be stored, then click "OK". This will invoke "Win 32 Application

objectarx开发笔记2

刷新显示屏幕问题 (2) 自定义实体时添加variable时相关问题 (2) 用acdbOpenAcDbEntity打开实体后一定要关闭 (2) WCS到UCS的坐标转换 (2) 选择过程中判断用户右键操作 (2) 如何实现自定义实体Undo? (3) 关于动态拖动的讨论 (3)

刷新显示屏幕问题 有时在程序中修改了实体,比如删除了实体,但在屏幕上没有及时地刷新,这时执行屏幕选取实体函数acedSSGet(), 仍然能够选中原来的实体,明明它们已经删除了,这时怎么办呢,考虑用acedCommand(RTSTR, "REGEN", RTNONE); 虽然也可以,但它会重新生成整个图形数据库,如果数据量很大,那么重生成的速度会很慢, 这样就不可能在程序的一段循环语句中修改每一个实体后都对数据库重生成,那程序运行的时间大部分都花在刷新数据库上了, 显然这不合理. 解决方法: // 刷新显示屏幕 actrTransactionManager->flushGraphics(); acedUpdateDisplay(); 自定义实体时添加variable时相关问题 问:用ObjectARX2007的Add Member Variable Wizard时出现页面错误怎么办? 答:用vs2005自身的class view中的add variable就可以了。 用acdbOpenAcDbEntity打开实体后一定要关闭 用acdbOpenAcDbEntity打开实体,不管是只读还是编辑方式,操作后都要关闭实体,否则再次打开时只能以只读方式打开。 WCS到UCS的坐标转换 mbp为当前坐标(ads_point mbp),可以以下方法转换为wcs坐标。 struct resbuf wcs, ucs; wcs.restype = RTSHORT; wcs.resval.rint = 0; ucs.restype = RTSHORT; ucs.resval.rint = 1; acedTrans(mbp,&ucs,&wcs,0,mbp); 选择过程中判断用户右键操作 观察Acad2002的命令:mledit,这个命令运行后,用户需要选择操作对象,可是这个命令的选择功能有点特殊: 可以判断用户点了右键(等同直接按回车),,如果点了右键(或按回车),程序会退出. 现在有个程序,也要选择一个对象,并且也想实现用户按回车(点击右键)后直接退出,我用的是acedEntSel函数,可是这些函数(包含acedNEntSelP..等.)都只能返回RENORM(正确选中),RTEROR(没有选中),用户按回车(点击右键)也是返回RTERROR请教下这里有没有解决的办法.

C++中所有函数的使用说明

C++函数大全 2010-04-10 10:11 数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中 double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度 double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度 double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度 double hypot(double x,double y) 返回直角三角形斜边的长度(z), x和y为直角边的长度,z2=x2+y2 double ceil(double x) 返回不小于x的最小整数 double floor(double x) 返回不大于x的最大整数 void srand(unsigned seed) 初始化随机数发生器 int rand() 产生一个随机数并返回这个数 double poly(double x,int n,double c[])从参数产生一个多项式 double modf(double value,double *iptr)将双精度数value分解成尾数和阶double fmod(double x,double y) 返回x/y的余数 double frexp(double value,int *eptr) 将双精度数value分成尾数和阶double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数 double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数 char *ecvt(double value,int ndigit,int *decpt,int *sign) 将浮点数value转换成字符串并返回该字符串 char *fcvt(double value,int ndigit,int *decpt,int *sign) 将浮点数value转换成字符串并返回该字符串

常用C语言图形函数使用说明

常用C语言图形函数使用说明 (以下函数均应在图形方式初始之后使用,在win-tc中使用BGI图形程序模板时,其中已经定义有一个initgr函数,在main函数中应在执行initgr函数之后再使用这些函数。使用这些函数时,均应在程序中包含头文件graphics.h,即程序开始时应有#include "graphics.h") 1、setcolor(色彩值):设置绘图色彩,使用该函数后,图形函数所绘制的直线或曲线为该函数中指定的色彩。例如: setcolor(YELLOW); circle(320,240,100); 在屏幕中央以黄色绘制半径为100的圆。(关于画图色彩使用的说明) 2、setbkcolor(色彩值):设置图形屏幕的背景色彩,使用该函数后图形屏幕清屏,背景色彩为该函数中所指定的色彩。如果没有使用该函数设置背景色,则图形屏幕的背景色彩为黑色。 3、cleardevice():清除图形屏幕上已经绘制的内容,该函数没有参数。 4、line(x1,y1,x2,y2): 绘制直线段,其中(x1,y1)为一个端点的坐标,(x2,y2)为另一个端点的坐标。直线的色彩为在使用该函数之前通过setcolor函数所设置的色彩。例如: setcolor(WHITE); line(0,240,639,240);绘制一条横贯屏幕中间的白色水平直线。 5、circle(x,y,r):绘制一个以(x,y)为圆心坐标,半径为r的圆。例如: setcolor(WHITE); circle(320,240,100);绘制一个以(320,240)为圆心位置,半径为100 的圆。 6、rectangle(x1,y1,x2,y2):绘制一个以(x1,y1)和(x2,y2)为对角端点坐标的矩形 7、putpixel(x,y,color):在(x,y)坐标位置处绘制一个点,点的色彩由color 指定。例如: putpixel(320,240,RED);在屏幕中央绘制一个红色的点。

赵文-ObjectARX安装的问题

在win7中objectarx wizard安装错误 2010-11-28 17:03:05| 分类:默认分类| 标签:objectarx wizard win7 安装|字号大中小订阅 【问题症状】 突然有一天发现在vc2005中不能添加arx项目了,在vc界面的底部出现“创建项目失败”的字样。怀疑objectarx wizard出问题了,于是重新安装objectarx wizard,结果弹出了“a script required for this install to complete could not be run”错误对话框,导致objectar wizard没有完全安装成功。 【原因】 查询windows的事件日志,得知原因是一个脚本没有被执行,缺少权限。 后来在google上搜索“ objectarx "a script required for this install to complete could not be run" ”,在https://www.wendangku.net/doc/9c11881240.html,/forums/message.jspa?messageID=6135502 这个网页中说明了问题的原因:都是win7的UAC惹的祸! 【解决方法】 知道了问题的原因之后解决方法就很简单了: 1、关闭uac 打开”开始”,搜索“uac”,打开“更改用户账号控制设置”,将uac级别调至最低,然后重启系统(必须要重启系统才能使UAC的设置生效) 2、重新安装objectarx wizard 如果已经安装了objectarx wizard,就修复;没有安装的就重新安装。 配置环境: 1.vs2008可以对应ObjectARX2010、2011、2012(由于AutoCAD三个版本为一个兼容性)配置方法: 在vs工程的配置属性中,“附加包含目录”添加“x:\objectARX 2010\inc和x:\objectARX 2010\inc-win32”;“附加库目录”添加“x:\objectARX 2010\lib-win32”

AUTOCAD二次开发笔记(ObjectARX)---全部

ObjectARX开发环境的创建与开发实例Hello World(VS2005+AutoCad 2008+ObjectArx2008) 在一个做CAD二次开发的公司做Web开发,感觉可提升的空间很小。 有必要研究一下公司的产品开发,以利发展。 一、首先安装好vs05与cad2008 安装cad的时候也没有什么特别,加载到虚拟光驱,安装过程中有个错误提示,不影响继续。 二、安装ObjectArx2008直接打开解压缩到某个目录即可。 比如C:\ObjectARX 2008 然后打开C:\ObjectARX 2008\utils\ObjARXWiz目录,运行ArxWizards.msi 这样在新建C++项目的时候会出现ObjectARX项目,如图 三、包含文件 工具->选项->项目和解决方案->VC++目录,如图所示:

包含文件(添加图中前两个目录即可) 库文件(添加图中前两个目录即可)

四、新建ObjectARX项目,完成后添加MFC支持,如图所示:

然后直接点finish 打开acrxEntryPoint.cpp点击左上角的a>按钮,然后新建一个命令。如图: 只需要修改Internation Name与Localized Name为testcmd即可 添加完成后,会在acrxEntryPoint.cpp中自动添加一句如下的代码: 然后添加一句AfxMessageBox(_T("this is a test command."));

五、加载与运行 在项目中win32\debug目录下,把ArxProject2.arx复制到桌面,注意先生成一下。打开cad08输入命令:ap打开加载对话框。 找到.arx文件即可加载。如图: 然后输入自己的命令testcmd就能运行了。如图:

objectarx开发笔记4

在ObjectARX 中打开与关闭对象 (2) 一个创建面域的小程序 (2) 加工具条按钮的方法 (3) 如何创建经过任意实体的选择集 (8) 建立新选择集,以及将一个实体添加到一个存在的选择集中 (8) 根据objectid获取ads_name (9)

在ObjectARX 中打开与关闭对象 对arxreference章节的个人理解,如有误解原文之意,请多多指正! Opening and Closing ObjectARX Objects 本部分代码样例说明了打开与关闭对象的协议。应用此协议之前,你必须确保你所操作的对象是数据库驻留对象。此协议能够确保对象在访问时是内存中的实体(physically),而不需访问时其可以存储在硬盘上。当你准备修改某个数据库驻留对象时,你首先需要将其打开,代码如下所示: acdbOpenObject(pObject, objId, AcDb::kForWrite); 此函数有一个Mode parameter可以指出打开对象的方式是for read, write, or notify;仅当对象以AcDb::kForWrite方式打开时,你才可以修改此对象,否则只可以查询对象属性。当完成修改或查询时,你必须显式的将其关闭,代码如下所示: pObject->close(); 如下代码样例改变一个实体(AcDbEntity)的颜色,如下所示: Acad::ErrorStatus changeColor(AcDbObjectId entId, Adesk::UInt16 newColor) { AcDbEntity *pEntity; acdbOpenObject(pEntity, entId, AcDb::kForWrite); pEntity->setColorIndex(newColor); pEntity->close(); return Acad::eOk; } 新的对象实例被以写的方式打开时,一些函数可以在打开对象时一并获取对象标识符(object ID),例如AcDbBlockTable::getAt()函数就是如此。 仅当对象被加入数据库(database)后才能将其关闭。在对象被加入数据库之前,你拥有此对象并且随时可以将其删除。然而请注意,一旦对象被加入数据库后,就不可以将其直接删除。 你可以调用AcDbObject::erase(),此函数将对象标记为已删除状态。被标记为已删除状态的对象实际上一直存在于数据库,直到数据库被销毁时其生命期才真正结束。然而,被标记为已删除状态的对象,不会随图形(drawing)一起作保存,其一直保持(remain)其删除前状态。 注意:直接删除已加入数据库的对象,会导致AutoCad异常终止。 一个创建面域的小程序 view plaincopy to clipboardprint?

excel函数代码

excel公式应用大全 1、ABS函数函数名称:ABS 主要功能:求出相应数字的绝对值。使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格。 应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。 特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。 2、AND函数函数名称:AND 主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。 使用格式:AND(logical1,logical2, ...) 参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。 应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值笥诘扔?0,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。 特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。 3、AVERAGE函数函数名称:AVERAGE 主要功能:求出所有参数的算术平均值。 使用格式:AVERAGE(number1,number2,……) 参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。 应用举例:在B8单元格中输入公式:=AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。 特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。 4、COLUMN 函数 函数名称:COLUMN 主要功能:显示所引用单元格的列标号值。 使用格式:COLUMN(reference) 参数说明:reference为引用的单元格。 应用举例:在C11单元格中输入公式:=COLUMN(B11),确认后显示为2(即B列)。 特别提醒:如果在B11单元格中输入公式:=COLUMN(),也显示出2;与之相对应的还有一个返回行标号值的函数——ROW(reference)。 5、CONCATENATE函数 函数名称:CONCATENATE 主要功能:将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。 使用格式:CONCATENATE(Text1,Text……) 参数说明:Text1、Text2……为需要连接的字符文本或引用的单元格。 应用举例:在C14单元格中输入公式:=CONCATENATE(A14,"@",B14,".com"),确认后,即可将A14单元格中字符、@、B14单元格中的字符和.com连接成一个整体,显示在C14单元格中。 特别提醒:如果参数不是引用的单元格,且为文本格式的,请给参数加上英文状态下的双引号,如果将上述公式改为: =A14&"@"&B14&".com",也能达到相同的目的。 6、COUNTIF函数 函数名称:COUNTIF 主要功能:统计某个单元格区域中符合指定条件的单元格数目。 使用格式:COUNTIF(Range,Criteria) 参数说明:Range代表要统计的单元格区域;Criteria表示指定的条件表达式。 应用举例:在C17单元格中输入公式:=COUNTIF(B1:B13,">=80"),确认后,即可统计出B1至B13单元格区域中,数值大于等于80的单元格数目。 特别提醒:允许引用的单元格区域中有空白单元格出现 7、DATE函数 函数名称:DATE 主要功能:给出指定数值的日期。 使用格式:DATE(year,month,day) 参数说明:year为指定的年份数值(小于9999);month为指定的月份数值(可以大于12);day为指定的天数。 应用举例:在C20单元格中输入公式:=DATE(2003,13,35),确认后,显示出2004-2-4。 特别提醒:由于上述公式中,月份为13,多了一个月,顺延至2004年1月;天数为35,比2004年1月的实际天数又多了4天,故又顺延至2004年2月4日。 上页我们介绍了ABS、AND、AVERAGE、COLUMN 、CONCATENATE、COUNTIF 、DATE 这七个常用函数,今天我们继续介绍下面的七个常用函数: DATEDIF函数:计算返回两个日期参数的差值。 DAY函数:计算参数中指定日期或引用单元格中的日期天数。 DCOUNT函数:返回数据库或列表的列中满足指定条件并且包含数字的单元格数目。 FREQUENCY函数:以一列垂直数组返回某个区域中数据的频率分布。 IF函数:根据对指定条件的逻辑判断的真假结果,返回相对应条件触发的计算结果。 INDEX函数:返回列表或数组中的元素值,此元素由行序号和列序号的索引值进行确定。 INT函数:将数值向下取整为最接近的整数。 8、DATEDIF函数 函数名称:DATEDIF 主要功能:计算返回两个日期参数的差值。

代码编写规范说明书

代码编写规范说明书(c#.net与https://www.wendangku.net/doc/9c11881240.html,)目录 1 目的 2 范围 3 注释规范 3.1 概述 3.2 自建代码文件注释 3.3 模块(类)注释 3.4 类属性注释 3.5 方法注释 3.6 代码间注释 4 命名总体规则 5 命名规范 5.1 变量(Variable)命名 5.2 常量命名 5.3 类(Class)命名 5.4 接口(Interface)命名 5.5 方法(Method)命名 5.6 名称空间Namespace)命名 6 编码规则 6.1 错误检查规则 6.2 大括号规则 6.3 缩进规则 6.4 小括号规则 6.5 If Then Else规则 6.6 比较规则 6.7 Case规则 6.8 对齐规则 6.9 单语句规则 6.10 单一功能规则 6.11 简单功能规则 6.12 明确条件规则 6.13 选用FALSE规则 6.14 独立赋值规则 6.15 定义常量规则 6.16 模块化规则 6.17 交流规则 7 编程准则 7.1 变量使用 7.2 数据库操作 7.3 对象使用 7.4 模块设计原则 7.5 结构化要求 7.6 函数返回值原则 8 代码包规范 8.1 代码包的版本号

8.2 代码包的标识 9 代码的控制 9.1 代码库/目录的建立 9.2 代码归档 10 输入控制校验规则 10.1 登陆控制 10.2 数据录入控制 附件1:数据类型缩写表 附件2:服务器控件名缩写表 1 目的 一.为了统一公司软件开发设计过程的编程规范 二.使网站开发人员能很方便的理解每个目录,变量,控件,类,方法的意义 三.为了保证编写出的程序都符合相同的规范,保证一致性、统一性而建立的程序编码规范。 四.编码规范和约定必须能明显改善代码可读性,并有助于代码管理、分类范围适用于企业所有基于.NET平台的软件开发工作 2 范围 本规范适用于开发组全体人员,作用于软件项目开发的代码编写阶段和后期维护阶段。 3 注释规范 3.1 概述 a) 注释要求英文及英文的标点符号。 b) 注释中,应标明对象的完整的名称及其用途,但应避免对代码过于详细的描述。 c) 每行注释的最大长度为100个字符。 d) 将注释与注释分隔符用一个空格分开。 e) 不允许给注释加外框。 f) 编码的同时书写注释。 g) 重要变量必须有注释。 h) 变量注释和变量在同一行,所有注释必须对齐,与变量分开至少四个“空格”键。 如:int m_iLevel,m_iCount; // m_iLevel ....tree level // m_iCount ....count of tree items string m_strSql; //SQL i) 典型算法必须有注释。 j) 在循环和逻辑分支地方的上行必须就近书写注释。 k) 程序段或语句的注释在程序段或语句的上一行 l) 在代码交付之前,必须删掉临时的或无关的注释。 m) 为便于阅读代码,每行代码的长度应少于100个字符。 3.2 自建代码文件注释 对于自己创建的代码文件(如函数、脚本),在文件开头,一般编写如下注释: /****************************************************** FileName: Copyright (c) 2004-xxxx *********公司技术开发部 Writer: create Date: Rewriter:

炒股函数公式的写法函数公式汇总与代码的使用方法

炒股函数公式的写法函数公式汇总与代码的使用方法 怎样写函数炒股公式 函数代码的使用说明(凡绿色字体,你都可以用鼠标左键点击进入!)和自己写 T+0 公式之后,有网友说:分析家数据找不到,中国股票软件公式网给的公式不会用。分析家数据给的公式是要导入的。中国股票软件公式网给的公式其实也很简单,只要把其中的一个复制下来,粘贴到行情软件的“指标公式编辑器”里就行了。 “指标公式编辑器”,除了像“决策天机”之类的个别软件,其它通常行情软件都提供了。我们只要在菜单中找到它,就可以自己写公式了。但它们在菜单栏中的位置不同,需要我们一个个菜单栏去找。比如: 通信达的“指标公式编辑器”在菜单的“特色/专家系统/公式管理器”项内 同花顺的“指标公式编辑器”在菜单的“工具”项内

操盘手的“指标公式编辑器”在菜单的“系统功能”项内 分析家的“指标公式编辑器”在菜单的“公式”项内

大智慧的“指标公式编辑器”在菜单的“功能”项内 进入行情软件的“自编公式”项或“公式管理”项后,我们就能看到“指标公式编辑器”了。在“指标公式编辑器”上,我们先要把自己的公式,排在“用户”组中。 右栏有“导入公式”(有的叫“导入”)。导入的就是分析家数据上

的公式。因为各行情软件要求的扩展名文件不同,所以通常“导入公式”、“导出公式”的公式,只能在相应的行情软件上用,不是所有软件都通用的。 而右栏的“新建”项,则可以直接粘贴、修改、编写从公式网下载的公式函数。 下面是通信达软件的“公式管理器”。 操盘手的“公式编辑”和通信达软件的“公式管理器”大同小异

我们只要把下载下来的公式函数,复制、粘贴到“指标公式编辑器”上的最大的那个编辑窗口里后,点击确定就行了。 通信达在编辑窗口下,还有一个动态翻译窗口,公式每一行的内涵,它都能翻译出来。这是我们学习公式函数的利器。

AutoCAD2013二次开发C语言第一个ObjectArx2013程序HelloWorld

AutoCAD2013二次开发C++语言的第一个ObjectArx2013程序HelloWorld 前言 AutoCAD2013二次开发C++语言的ObjectArx SDK开发包,自ObjectArx2013开始,不再支持Microsoft Visual Studio中的ObjectArx Addin工具条。 配套的Visual Studio 2010版的Objectarx Wizards 2013安装后,ObjectArx嵌入工具栏并不存在,常用的ObjectArx Command命令按钮不存在。 然而,网络上大部分使用Objectarx Wizards向导生成HelloWorld程序,均是基于ObjectArx Command命令按钮来编写的。 我的电脑是64位Win10,安装Visual Studio 2010和AutoCAD2013-64位,编写第一个HelloWorld困扰了我很长的时间。 编写此文,希望能帮助到有同样困惑的朋友。 第一步安装配置ObjectArx2013和Objectarx Wizards 2013 此部分在网络上有大量的资料可查,这里不再赘述。 值得提醒的要点有: 1.Visual Studio 2010/AutoCAD2013/ObjectArx2013/Objectarx Wizards 2013这四个程序的版本必须配套。 2.Win10-64位系统在安装Objectarx Wizards 2013时应当选择兼容模式。 3.安装Objectarx Wizards 2013时,需要指定ObjectArx2013和AutoCAD2013的文件夹。64位系统的AutoCAD2013一般安装在Program Files目录,而Objectarx Wizards 2013使用兼容模式安装时,常常默认目录为Program Files (x86),这时候不要直接按下一步,注意修改好实际路径。 4.Autodesk.arx-2013.props文件有错误,产生“未能加载项目文件。给定编码中的字符无效。第1行,位置1”问题。 需要将第一行的 锘??xml version="1.0" encoding="utf-8"?> 改为

函数代码的使用说明

函数代码的使用说明 ABS 绝对值 BACKSET 回头设置 BARSCOUNT(CLOSE) 若收盘价则将最近?周期置为1 CAPITAL 当前流通股本(手) CIRCLEDOT 圈点显示 CLOSE 收盘价 DRAWICON 画图标 DRAWTEXT 书写文字 EMA 指数移动平均 FILLRGN 根据条件填充区域 FILTER 过滤(不考虑、忽略) HHV(HIGH,75) 75日内最高价的最高值 IF 如果 IF(X,A,B)若X不为0则返回A,否则返回B INDEXC 收盘价 LLV(LOW,75) 75日内最低价的最低值 MA 简单移动平均 MAX 最[较]大值 PEAKBARS 波峰位置 POINTDOT 小点显示

POLYILINE 画折线 SMA 移动平均 STICKLINE 画柱状线 TROUGHBARS 波谷位置 VOL 成交量(手) WINNER 获利盘 ZIG(1,13) 最高价13%的之字转向 ZIG(2,13) 开盘价13%的之字转向 ZIG(3,13) 收盘价13%的之字转向 VAR7B:=IF(TROUGHBARS(3,16,1)=0 AND HIGH>LOW+0.04,4,0); VAR7B赋值(不显示):如果收盘价16%之字转向的前1个波谷位置=0 AND HIGH>最低价+0.04,返回4,否则返回0 V10:=PEAKBARS(3,15,1)<10; V10赋值:收盘价15%之字转向的前1个波峰位置<10 V7:=BACKSET(V6,3); V7赋值:若V6则将最近3周期置为1

DRAWICON(FILTER((D1 OR D2 OR D3) AND DD<15 AND C>REF(C,1),5),5,1); 当满足条件(D1ORD2ORD3)ANDDD<15ANDC>昨收的5日过滤时,在5位置画1号图标 {显示式":",不显示式":="} 例如: ma1:ma(c,5),colorred; ma2:ma(c,10),colorgreen,POINTDOT; ..... ma1:=ma(c,5); ma2:=ma(c,10); ..... {用'字'显示} 该式开头会以DRAW..TEXT开头, DRAWTEXT DRAWTEXTEX DRAWYITEXT DRAWFLAGTEXT DRAWMOVETEXT 例如: {卖} ma1:=ma(c,5);

ObjectARX及MFC开发常见的问题及解决方法总结

工作中使用到ObjectARX及MFC开发遇到的问题及解决 1、提示microsoft incremental linker已停止工作解决方法表现为:编译没错,生成时,弹出错误窗口; 解决:工程属性-配置属性-连接器-常规,启用增量连接想,选择“否” 图1 参考网址:https://www.wendangku.net/doc/9c11881240.html,/gameking/archive/2012/02/11/2346814.html 2、编译ARX程序时,提示:fatal error C1083: 无法打开包括文件:“type_traits”: No such fil e or directory 分析:主要是ARX中的头文件,引用了MFC中的type_traits文件,而你的VS编译器可能没

有该文件 解决:从别人的机子找到VS的安装目录,把这个头文件拷贝过来,放在相应的位置上。 路径为: D:\Program Files\Microsoft Visual Studio 9.0\VC\include(我的VS装在D盘,如果你的不是在D盘,去相应的盘符中查找) 两个文件: type_traits xxtype_traits type_traits.rar 文件1-VS2008的该文件,解压后放到上面说的目录下 参考网址:https://www.wendangku.net/doc/9c11881240.html,/biyusr/article/details/7614940 3、从公司拷回来的工程,肯定是没有问题的,但是在自己的机子上编译(用VS2008编译的,工程也是用VS2008创建的),但是提示:fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version '20070207' 解决:没有安装VS2008SP1安装包,下载或者拷贝个安装包,安装下,在生成就没问题了。参考网址:https://www.wendangku.net/doc/9c11881240.html,/bettermanlu/archive/2011/02/17/1956819.html 4、error LNK2005: _DllMain@12 已经在dllmain.obj 中定义 原因:你自己又定义了一个DllMain函数,而工程在创建的时候已经自动生成了一个DLLMain 函数; 解决:方法1:如果你的DllMain没自己改写什么内容的话,直接删除自己定义的DllMain 函数就可; 方法2:在DllMain文件中,加入如下代码,DLLMain函数之前, #ifdef _X86_ extern "C" { int _afxForceUSRDLL; } #else

相关文档