[分享]autopdms仿pdms命令行的实现 -凯发推荐

uesoft 发表于 2009-12-26 11:39:00

[分享]autopdms仿pdms命令行的实现

以下是引用uesoft在2007-11-20 17:39:58的发言:
目前在basccommand中加入了cmdline命令,此命令是显示命令行窗口。

在命令行窗口中可以执行以下命令(命令是根据pdms中所描述的进行注册的):

查询当前节点属性  q att
查询类型  q type
命令行清屏   alpha request clear
新建  new (type)
删除  delete (type) 或 delete
命名 name /newname
查询节点属性 q (attname)
锁定 lock ce
解锁 unlock ce
加入显示 add ce
移去显示 remove ce
查询成员 q mem
查询第n个成员属性 q mem (n)
查询当前工程 q project

查询某个类型属性 q att of (type)

查询当前节点以上类型节点的属性 q (type)

修改节点属性 (attname) (attvalue) //指针引用不可以修改

导航
下一层次第n个节点 (n)
本层次第一个节点 first
本层次最后一个节点 last
下一个节点 next
前一个节点 previous

当前节点以上的节点 (type)

回到上一次的层次 owner或end

追踪参考 goto (引用属性名)

文件输出
file /d:\output.txt
output ce
file end
执行宏程序 $m d:\output.txt

///////////////////////////////////////////////////
各模块的命令没有实现

若各模块要实现某个特殊命令
可以用以下方式注册:
1.从commandparser类派生一个类
2.实现函数:
virtual bool executecommand( cstring& strcommand ) = 0;
strcommand:是执行完后要显示到命令窗口的字符串
3.注册命令:
register_commandline_begin( 从commandparser类派生的类名 )
register_command( _t( "命令关键字和参数") ) //如:q (type) 注册为 [email protected] 其中@表示参数
.
.
.
register_commandline_end()

在实现bool executecommand( cstring& strcommand )中可以通过commandparams* commandparser::getcommandparams()得到命令关键字和参数对象

//////////////////////////////////////////
现在各模块可将错误消息发送到命令窗口中
请更新
apdomainframe和apcommandlineui

发送消息代码:
errormessageparam* pparam = new errormessageparam();
pparam->m_strerrormsg = _t("错误信息");

message msg( pdmsframe::ecmdline,pdmsframe::eerrmessage,pparam );
messageprocessor::instance().sendmessage( &msg );

uesoft 发表于 2009-12-26 11:40:00

以下是引用白水6在2009-12-25 22:34:04的发言:

李总的objectarx很牛啊!我想问你一个问题,pdms的数据库接口需要license怎么解决啊?

autopdms8.1的开发大量使用objectarx,autopdms软件凝聚着uesoft全体开发人员的心血和智慧。我对他们表示深深的敬意。

autopdms读取pdms数据库需要使用如下文件,这些文件在autopdms安装目录\common files下(例如d:\program files\长沙优易软件开发有限公司\autopdms8.1\common files):

动态库文件    用于读取pdms版本      备注

dformd.dll    各种版本都需要      
d3lib115.dllpdms11.5             (也许可用于11.6,但没测试过)
d3lib.dll   pdms11.3及以下版本   
未知          pdms其他版本         没有测试


[此贴子已经被作者于2009-12-28 9:28:56编辑过]

uesoft 发表于 2009-12-28 09:27:00

以下是引用白水6在2009-12-26 17:55:02的发言:

我在autopdms中找到d3lib115.dll 在pdms11.5中使用还是不行。一样跳出license的要求!

uesoft 发表于 2009-12-28 09:31:00

以下是引用uesoft在2009-12-27 13:59:01的发言:

首先谢谢你的贴。

你要保证你的pdms是可用的。pdms本身的破解已经有很多文章了。如果动态库还不能访问,我就不清楚了。你可以周1-5 10:00-17:00 call 0731-88228807找刘经理或88228813或4006 808 590陈经理。

页: [1]
查看完整版本: