PD12的自动化武器
来源:互联网 发布:金融数据库软件choice 编辑:程序博客网 时间:2024/04/19 03:12
PD12的自动化武器
Author:zfive5(dong)
Email :zfive5@yahoo.com.cn
引子
前些日子,在用pd12画对象模型的时候,由于自己没有仔细看清规范(看来自己视力真的不太好),导致自己的敲入的属性编码,全都命名为Pascal方式了,一个个点击开改吗?(20几个类,200多个属性呀,估计起码也要30分钟)咋办? 受一位老同事的影响和教育,打算看看有什么懒惰的方法来达成目标,值得庆幸的是PD12支持自动化(就是IDispatch),当然还有另一种思路没有实践,估计也没有问题,xml分析.
方法
C#例子:
PdCommon.ApplicationClass a =new PdCommon.ApplicationClass();
PdOOM.BaseModel ExistingModel = (PdOOM.BaseModel)a.OpenModel("D://1.oom", PdCommon.OpenModelFlags.omf_DontOpenView|PdCommon.OpenModelFlags.omf_Hidden);
foreach(PdOOM.Package p1in ExistingModel.Packages)
{
if(p1.Code == "haha")
{
try
{
foreach (PdOOM.Class c1in p4.Classes)
{
if (c1.IsShortcut() ==false)
{
foreach (PdOOM.Attribute a1in c1.AllAttributes)
{
string sc="";
If (a1.Code.Length > 1)
sc = a1.Code.Substring(0, 1).ToLower() + a1.Code.Substring(1);
else
sc = a1.Code.ToLower();
a1.Code=sc;
}
}
}
goto ZFIVE5_1;
}
}catch(Exception e2)
{
}
}
}
ZFIVE5_1:
ExistingModel.Close(true);
ExistingModel =null;
这个例子调试编写大约花了1个多小时,比我直接修改可能多花点时间,但作为回报熟悉学会了一种新东西的使用,将来其它类似问题也能够作到通用.
如果有需要和可能的话,以后自己编写设计大型程序时,一定会考虑script(自动化).当然xml是更开放的另一种选择.
- PD12的自动化武器
- PD12 建模工具的使用
- 自动化测试开发人员的十八般武器
- PD12.5 将表名称转为注悉的设置
- 带武器的格斗游戏,武器带回血
- pd12.5建表出错提示不允许有扩展属性的处理
- 用PD12导出ORACLE表结构的时候(PDM),如何把comments 一起导出来
- 程序员的七大武器
- 程序员的七大武器
- 拿起你的武器
- 程序员的七大武器
- 产品经理的武器
- 程序员的武器
- 大国的武器
- 带武器的角色
- 带武器的角色
- 武器的练习Assaultable
- 强大的武器
- [原创]浅谈QA所应该具备的知识
- 专业洗碗
- [原创]思想是灵魂,流程是外在表现
- Linux Device Drivers 3rd Edition USB Drivers
- Linux Device Drivers 3rd Edition The Linux Device Model
- PD12的自动化武器
- MSSQL差异备份取系统权限
- Linux Device Drivers 3rd Edition Memory Mapping and DMA
- Linux Device Drivers 3rd Edition Block Drivers
- 省就是赚,so……
- Linux Device Drivers 3rd Edition Network Drivers
- Linux Device Drivers 3rd Edition TTY Drivers
- div+css常用资料
- string与stringBuffer的区别