06 2008 档案

Database2Sharp重要更新之完善EnterpriseLibrary架构代码
摘要:该软件很早就开始支持Enterprise Library的数据访问操作了,不过之前的没有生成一个完整的解决方案工程,只是生成了数据访问类和实体类,改善后的Enterprise Library代码生成,生成整个项目工程框架,包含实体类、数据访问类、业务类,利用泛型及缓存机制,良好的架构极大简化代码,强大完善的基类使你甚至不用编写一行代码。 点击几下鼠标后,生成的解决方案如下,其中标为红色部分为表Equipment生成的相关类,其他是辅助类,BaseDAL和BaseBLL封装了对数据访问的绝大多数函数,数据访问底层采用的是Enterprise Library数据访问库(微软的数据访问层)。 阅读全文

posted @ 2008-06-28 19:48 伍华聪 阅读(3050) 评论(0) 推荐(0) 编辑

C#进行Visio二次开发之界面设计及架构设计
摘要:写C#进行Visio二次开发的系列文章有很多篇了,都是写一些经验总结和技术知识的分享,本文继续来探讨这方面开发的一些心得,主要介绍下WinForm界面的设计和Visio软件的架构设计。 先看看我花了N个月的业余时间完成的软件概貌,然后大家一起讨论下相关的技术知识。 软件界面主要有菜单区、工具条区、图纸内容区、右边的管理区、状态条区等等,主要注意的是采用了ToolStripPanel来进行布局,然后并使用了有名的WeifenLuo.WinFormsUI.Docking.dll控件对图纸内容区、右边的管理区进行控制。 阅读全文

posted @ 2008-06-27 20:54 伍华聪 阅读(14400) 评论(12) 推荐(0) 编辑

C#进行Visio二次开发之图纸缩放操作的实现
摘要:我们知道,Visio菜单【视图】中有一个缩放的菜单项目,如下所示,选择响应的选项会对图纸进行缩放。另外,它的工具条中也有一个下拉列表框,除了可以选择现有的那些选项外,还可以输入自定义的值,达到自定义缩放比例的功能。 本文介绍如何使用C#和Visio的SDK函数,实现Visio中的图纸各种缩放操作。 阅读全文

posted @ 2008-06-26 12:47 伍华聪 阅读(5586) 评论(1) 推荐(0) 编辑

如何通过编程方式获取alexa排名的数据
摘要:Alexa 是以发布世界网站排名而引人注目的一个网站。其实,此网站的搜索引擎也很好用,但是“网站排名”却是它吸引眼球的最主要原因。 阿里妈妈的网站也有Alexa网站排名(http://tool.alimama.com/site.php)、中国站长网站(http://alexa.chinaz.com/Index.asp)也提供Alexa排名查询,还有很多网站也提供了它们的Alexa排名,这些排名的数据都是通过调用称为Alexa Web Information Service (AWIS)的服务,地址是http://awis.amazonaws.com/doc/2005-07-11/AWSAlexa.wsdl。 那么我们如何才能使用这些服务,以便创建我们的Alexa排名查询操作呢? 阅读全文

posted @ 2008-06-24 18:16 伍华聪 阅读(3659) 评论(5) 推荐(1) 编辑

导线应力及弧垂计算相关资料
摘要:有一项研究,需要计算导线的弧垂, 网上搜索,发现这方面的资料很少,贡献出来大家分享: c#架空输电线路设计系统(1) c#架空输电线路设计系统(2) c#架空输电线路设计系统(3) c#架空输电线路设计系统(6) -斜抛物线公式全集 另外还有两个文档,一个是Word文件,一个是Excel文档,Excel中包含了各种比载及弧垂的计算实例和公式. 阅读全文

posted @ 2008-06-23 12:51 伍华聪 阅读(11012) 评论(51) 推荐(4) 编辑

C#进行Visio二次开发之电气线路停电分析逻辑
摘要:停电分析,顾名思义,是对图纸进行停电的逻辑分析。在电气化线路中,一条线路是从一个电源出来,连接着很多很多的设备的,进行停电分析,有两个重要的作用:一是看图纸上的Shape元件是否连接正常,二是看哪些设备有电无电。通过给有电的设备一种颜色(如绿色),无电的设备一种颜色(如红色),那么就可以很明显地看到通电的不同变化。 对一张Visio绘制的电气线路图,我们如何进行停电分析呢?本文详细介绍如何实现 阅读全文

posted @ 2008-06-11 18:20 伍华聪 阅读(6526) 评论(2) 推荐(0) 编辑

C#进行Visio二次开发之图纸设备信息的保存
摘要:在Visio的二次开发中,当发布图纸的时候,我们往往需要保存图纸和图纸的设备信息到数据库,图纸是将文件以二进制保存到数据库中,设备信息是保存图纸对应的Shape的各种自定义属性。 我们需要注意一个问题,设备有很多属性列表,数据库也有很多字段属性列表,我们需要以一个为准,作为Sql语句字段列表的标准,否则就会出现问题。由于取本地Shape的属性虽然方便,但是由于其可能因为模具属性变化可能和数据库的字段列表不再一致,因此还是以数据库字段列表为准比较妥当。 阅读全文

posted @ 2008-06-11 12:38 伍华聪 阅读(5542) 评论(1) 推荐(0) 编辑

代码生成工具Database2Sharp功能功能完善及更新
摘要:好久没有更新代码生成工具了,因为很多功能基本上能够应付日常的开发工作了,如C#代码生成、数据库文档导出、Sql脚本生成,但用户在使用过程中也发现了一些需要完善的地方,因此继续完善,以求更加实用方便。 现更新了下面几个问题,希望给大家做软件开发的时候有一个启示。 阅读全文

posted @ 2008-06-10 13:39 伍华聪 阅读(3430) 评论(15) 推荐(0) 编辑

C#进行Visio二次开发之管理下拉列表
摘要:每个Shape有很多属性,这里我是指自定义属性,每个属性都对应一种类型,就像我们在SqlServer创建一个字段的时候,需要指定其类型一样。 本文着重介绍下两种类型:visPropTypeListFix和visPropTypeListVar,分别为固定列表和可变列表,其实这两种类型对应的.NET编程控件模型就是ComboBox,这个控件有个属性DropDownStyle,可以指定为DropDownList和DropDown这两种类型,本质上visPropTypeListFix对应DropDownList类型(只能选择列表的值),visPropTypeListVar对应DropDown类型(除了可选列表值,还可以输入新的值)。 Visio的这两种列表的值,都是通过对应的ShapeSheet行中的Format的值来展示的,如有一个列表的Format的值为“专用;公用”,那么就有两项可以选择,如下图所示。 那我们在Visio的二次开发程序中如何管理这些下拉列表的呢? 对于固定列表,我们在添加或者修改自定义属性的时候,就给它固定的值那就可以了;对于可变列表,我们 阅读全文

posted @ 2008-06-05 22:07 伍华聪 阅读(6890) 评论(4) 推荐(0) 编辑

如何利用系统函数操作文件夹及文件
摘要:平时使用Path类不多,常用Combine来串联两个路径,其他的很少用,偶然发现Path提供了很多方便实用的函数。我比较喜欢那个GetTempPath 函数,一句代码就可以返回临时目录的路径了,很方便。大家可能也注意到,Environment.GetEnvironmentVariable(string variable)也提供了如何获取特别路径的函数,另外Environment.GetFolderPath(Environment.SpecialFolder folder)的函数也提供了很多实用功能,返回相应的目录。 最后我顺便提供一个递归删除文件夹和文件的操作函数,方便大家。 阅读全文

posted @ 2008-06-04 20:31 伍华聪 阅读(4369) 评论(6) 推荐(0) 编辑

C#进行Visio二次开发之设备状态跟踪
摘要:明察秋毫,很多情况下是非常需要的,例如,如果我们完善了一套系统,能够将四川赈灾的款项的筹集、采购、分发等步骤都能明察秋毫,相信整个世界会安静很多。 同样,对于一个使用Visio进行二次开发的程序来说,背后你需要知道用户增加了那些设备,删除了那些设备,修改了那些设备,这样你才能对整个系统的数据进行有效的控制,否则“赈灾”款项就可能丢失了,呵呵。 那我们应该如何做才能有效的处理这些事件,达到对设备的变更明察秋毫呢? 我前面介绍了一篇文章《C#进行Visio开发的事件处理 》,其中也介绍了各种事件侦听,我们要对设备进行跟踪的话,基本上只需要侦听这几个事件,并对之进行处理即可。 阅读全文

posted @ 2008-06-01 21:43 伍华聪 阅读(5761) 评论(1) 推荐(1) 编辑

C#进行Visio二次开发之Shape的Data1、Data2、Data3的用处
摘要:我们知道,Visio的Shape对象有有3个比较特别的属性,分别是Data1、Data2、Data3,平常我们很少用到它,因为我们如果需要属性的话,可能会通过ShapeSheet的Customed Properties中定义我们所需要的信息,需要各种属性的值都可以拿到,那么Data1、Data2、Data3对我们来说,就用处不大,但有的情况下,我们使用它进行一些操作却是非常方便的。 首先我们介绍下,这几个属性是什么东西,Data1、Data2、Data3是Shape的内置属性,不需要额外定义,而且它据说可以放置64K的字符串(没有试过这么大的),一般来说我们是足够放置内容的了。 言归正题,我们什么情况下会使用到这几个属性呢,大家想想,我们在绘图的时候,是不是总有个图框来列出图纸那些设备有几个的一个设备清单呢,或者是一个比例尺说明什么的,这些场合就可以 用上它们了。 因为这些线条,可能是我们随机画上去的,里面的一些设备的说明以及相关信息一般都是根据图纸变化而变化的,因此每次保存的时候,可能要重新绘制一下,但绘制的时候,为了有别于其他设备图元,我们使用这几个属性来记 阅读全文

posted @ 2008-06-01 10:45 伍华聪 阅读(7713) 评论(1) 推荐(0) 编辑

导航