2008年2月22日

C#进行Visio开发的事件处理

摘要: Visio的二次开发过程中,必定要处理很多Visio事件,事件基本上分为三类:Document事件、Applicaiton事件、AxDrawingControl事件。Document事件是每个文档创建或者打开都需要重新绑定一次的,但是Application事件不变,即不需要重新绑定,AxDrawingControl是ActiveX控件的事件响应。 在C#进行Visio的开发中,通过继承接口IVisEventProc,可是创建事件的侦听处理类.... 事件有很多类,有Application级别的,有Document级别的,有Page级别的,有Shape级别的,有Windows级别的,有Cell级别的..............,下面截取一部份事件代码看看 阅读全文

posted @ 2008-02-22 23:25 伍华聪 阅读(6138) 评论(6) 推荐(0) 编辑

C#进行Visio二次开发的常见问题处理

摘要: 1. Visio属性值的转换问题 做过Visio开发的人知道,Visio中的属性值也就是Cell.Formula的值通常包含两对双引号的(如""XX""), 如果要将属性的值转换正常的字符串值,那么需要去除双引号。 2、获取指定形状指定Cell的值。除了方法1,还有下面一种方法可以获取Cell的Value值。 4、判断形状某个属性是否存在。 5、取当前操作属性所在的行。 6、判断Visio图纸上是否有形状图元存在。 7、其他的一些功能设置 8、Name和NameU属性的差别 Visio中很多属性都有一个同名+U的属性名称,一般情况下最好使用这个名称如NameU,因此这个是一个唯一的名字,有时候你会发现Name相同,但他们就是不一样,因为他们的NameU名称不一样的。 9、遇到不明白的操作或者属性,多用Visio文档的宏记录功能,然后对VBA代码进行分析和调试。 阅读全文

posted @ 2008-02-22 22:57 伍华聪 阅读(7000) 评论(10) 推荐(0) 编辑

2008年1月21日

使用NVelocity0.5实现服务器端页面自动生成

摘要: 地球人都知道,静态HTML页面通常会比服务器端页面如asp、aspx页面要来的快,即使这些页面没有服务器端代码。 另外要命的是,这些页面在主流的搜索引擎能中最为吃香,和那些aspx还带几个尾巴参数的页面比起来,真是天上地下。 如果那天老板发现这个问题,叫你把辛辛苦苦实现的服务器端程序向静态HTML页面靠拢,你会做何感想? 有一种URL重写的方案可以实现对搜索引擎的欺骗,除了这种方法,自动生成静态HTML页面应该是最彻底的方法了。 言归正传,开始介绍如何实现吧 阅读全文

posted @ 2008-01-21 23:09 伍华聪 阅读(4968) 评论(14) 推荐(0) 编辑

老歌新唱--使用VB6开发的ActiveX实现.NET程序的混淆加密

摘要: 由于存在一下几种特点: 1、.NET程序反编译容易,而使用一些混淆工具会导致有些程序不能运行 2、VB6开发ActiveX控件,那叫一个快,VB代码也不是很容易被反编译。 3、结合两者的特点,如果在.NET中使用了封装一些关键代码的ActiveX控件,那么程序的安全性是否好一点呢? 对于这种做法,请大家拍砖讨论,本人提供一个如何实现这种做法的思路。 阅读全文

posted @ 2008-01-21 22:25 伍华聪 阅读(3595) 评论(8) 推荐(1) 编辑

2007年12月9日

代码生成工具随笔(3)---占领最后一块黄金宝地

摘要: 目前代码生成工具多如繁星,绝大多数的代码生成工具都是基于数据库进行实体类、数据访问类、部分业务类等的代码生成,较少会用来生成易用、重用的界面代码,因为这块的逻辑很难控制,每个人的需求都不一样,而且把整个界面和业务层结合一起更是困难。如果界面代码如果不进行封装,代码会多的很难控制。因此很多即使做到界面代码的生成,也只能做了部分关键界面代码和后台控件赋值的代码,我的代码生成工具也做过相关的工作,由于界面部分总体上不是很理想,一直来都是鸡肋,弃之可惜。 言归正传,“占领最后一块黄金宝地”的意思就是在界面代码生成这个领域有了很大的突破,将常用的查询、分页、修改、查看和增加等功能用3个控件(查询控件、分页控件、编辑控件)进行了封装,利用我的代码生成工具Database2Sharp通过与数据库字段的信息结合,完整的生成一个网站的界面工程框架,你需要做就是做一些锦上添花的工作就OK,工程越复杂效率提高就更快。 阅读全文

posted @ 2007-12-09 22:59 伍华聪 阅读(5214) 评论(37) 推荐(0) 编辑

2007年12月3日

.NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)

摘要: .NET导出报表一般是采用导出Excel报表的方式输出内容。而这又分为两种方式:使用Excel模板方式和使用网页输出Excel格式两种。首先介绍简单的一种,网页输出Excel内容,这种不需要引用Excel的程序集。 /**//// /// 报表导出辅助类 /// public class ExportToExcel { 字段信息#region 字段... 阅读全文

posted @ 2007-12-03 20:47 伍华聪 阅读(5278) 评论(4) 推荐(0) 编辑

.NET开发不可不知、不可不用的辅助类(二)

摘要: 序列化及反序列化的辅助类SerializeUtil 序列化及反序列化的辅助类SerializeUtil测试代码 数据库字段NULL值转换辅助类SmartDataReader 数据库字段NULL值转换辅助类SmartDataReader测试代码 字符串操作辅助类 字符串操作辅助类测试代码 Web界面层操作的辅助类 Web界面层操作的辅助类测试代码 阅读全文

posted @ 2007-12-03 13:39 伍华聪 阅读(4984) 评论(12) 推荐(0) 编辑

.NET开发不可不知、不可不用的辅助类(一)

摘要: 1. 用于获取或设置Web.config/*.exe.config中节点数据的辅助类AppConfig 辅助类AppConfig测试代码: 2. 反射操作辅助类ReflectionUtil 反射操作辅助类ReflectionUtil测试代码: 3. 注册表访问辅助类RegistryHelper 注册表访问辅助类RegistryHelper测试代码: 4. 压缩/解压缩辅助类ZipUtil 压缩/解压缩辅助类ZipUtil测试代码: 阅读全文

posted @ 2007-12-03 12:50 伍华聪 阅读(6572) 评论(15) 推荐(0) 编辑

2007年11月25日

VS.NET中自定义安装程序制作经验总结

摘要: 内容介绍: 自定义安装程序的一些注意事项: CustomActionData属性介绍及其格式 如何获取自定义界面和系统参数: 在自定义操作中添加CustomActionData 属性数据. 在代码中引用参数 如何在安装过程中添加自定义操作: 运行Dos命令, 在创建虚拟目录或者安装数据库脚本等操作需要调用Dos命令 使用活动目录DirectoryEntry创建虚拟目录: 覆盖Installer的函数: 在自定义安装中执行数据库脚本: Log目录创建授权操作: 阅读全文

posted @ 2007-11-25 18:34 伍华聪 阅读(4707) 评论(5) 推荐(1) 编辑

2007年11月23日

如何获取类或属性的自定义特性(Attribute)

摘要: 问题说明: 在ActiveRecord或者其他的ORM等代码中, 我们经常可以看到自定义特性(Attribute)的存在(如下面的代码所示) [PrimaryKey(PrimaryKeyType.Native, "PostId")] public int Id { ...... } 看似非常神秘的东西, 我们在什么场合需要使用它, 我们该如何使用它? 自定义特性(Attribute)在一些需要声明特定信息的时候非常有用, 如标识实体类属于那个表, 那个字段是否为主键,主键的数据库字段名是什么这些信息的时候就会派上用场, 使用的时候也是非常的简单. 阅读全文

posted @ 2007-11-23 09:18 伍华聪 阅读(7721) 评论(5) 推荐(0) 编辑

记录转化为有层次结构的树状列表的通用算法

摘要: 问题说明: 在获取数据库记录数据的时候, 通常返回的ArrayList集合, 没有了层次关系. 如果每次根据PID重新到数据库获取记录, 可以做到, 但有以下几个缺点: 1. 访问数据库记录次数随着记录的增多而增多 2. 由于需要多次访问数据库, 因此访问速度受影响 3. 需要数据库访问层的支持, 并对记录进行转化, 耦合性太强 4. 通用性不好, 每次需要一个新的类型列表, 就需要重新编写 解决方法: 我根据原有的树状结构算法代码, 编写一个通用的算法, 利用反射原理, 递归的对数据进行筛选. 这样只需要访问数据库一次, 然后就在内存中遍历, 而且适合于所有具有(PID, ID, Name)属性的实体类集合的排序. 阅读全文

posted @ 2007-11-23 09:15 伍华聪 阅读(3153) 评论(6) 推荐(0) 编辑

2007年11月22日

收集一些关于Visio二次开发经典的文章,共同学习

摘要: 以编程方式使用 Microsoft Office Visio 2003 ActiveX 控件Visio 2003 开发入门使用Visio 2003 Drawing Control开发应用Visio 2003 ShapeStudio 形状开发入门Drawing Visio Shapes in the ... 阅读全文

posted @ 2007-11-22 13:35 伍华聪 阅读(8204) 评论(6) 推荐(0) 编辑

2007年11月19日

列表查询组件代码, 简化拼接条件SQL语句的麻烦

摘要: 使用场景:在列表页面中,一般有好几个条件, 用户进行查询时候,需要根据这几个条件进行过滤查询.但在组装这些过滤条件的时候,代码比较烦琐臃肿,本组件代码为解决该问题而设计。 使用目的: 1.减少对参数非空的条件判断 2. 可以构造出参数化的DbCommand对象,简化操作. 3.适当修改后可以用于其他数据访问的参数化参数生成.4.构造Sql语句或者参数化条件更加易读 阅读全文

posted @ 2007-11-19 13:39 伍华聪 阅读(8514) 评论(23) 推荐(3) 编辑

如何使用C#进行Visio二次开发

摘要: Visio在VB6中的开发有很多现成的项目及代码,但在.NET领域相对比较滞后,但是从Visio SDK2007发布以来,给予Visio的C#开发逐渐多了起来,虽然和VB6的开发思路有一定的相似,不过平台不一样,做出来的东西差别还是有一定的距离,虽然总体慢一点,但是,DotNET框架的逐渐强大以及更多的DotNet程序和开发人员的加入,带给大家更高的整合价值以及更美好的发展未来。 本人将会在C#领域将Visio的二次开发进行下去,希望大家一起学习研究,碰撞出更美的火花......... 阅读全文

posted @ 2007-11-19 00:17 伍华聪 阅读(16092) 评论(21) 推荐(2) 编辑

2007年11月17日

强大的模板引擎开源软件NVelocity

摘要: 背景知识 NVelocity(http://sourceforge.net/projects/nvelocity )是从java编写的Velocity移植的.net版本,是java界超强的模版系统,.net版本的NVelocity目前版本为0.42。 NVelocity拥有完善的、丰富的模板语言(VTL,Velocity Template Language) ,几乎所有高级语言的特性都可以在模板引擎语言中找到。(如流程控制语句、数学运算、关系和逻辑操作符、函数定义、注释等等) NVelocity可以做什么? 能够快速生成所需的代码、SQL脚本、页面文件等基于文本内容的文件 生成速度快、模板语言完善、灵活性好 容易学习、开源,免费使用 前身为Velocity(Java),使用者多,资料全 阅读全文

posted @ 2007-11-17 00:01 伍华聪 阅读(19112) 评论(30) 推荐(2) 编辑

2007年1月29日

VB6中如何使用C#开发的WebService进行开发

摘要: 在项目开发过程中,我们需要集成已有的权限管理系统,作为它本身的权限控制的模块。但是已有的权限管理系统是采用C#开发的,提供了WebService的权限访问接口,而开发项目是使用VB6开发的;两者可以互相沟通么?如果可以,如何才能实行在VB6中获取WebService中的信息呢? 阅读全文

posted @ 2007-01-29 23:09 伍华聪 阅读(9684) 评论(3) 推荐(0) 编辑

2006年9月26日

代码生成工具随笔(2) ---我的生成工具

摘要: Database2Sharp升级到V3.5版本功能增加或者改进: 1. 增加国际化语言支持(提供中文和英文两种界面) 2. 增加数据库表结构SQL脚本的生成(各种不同的数据库生成不同的SQL脚本),在打开表信息的时候同时在下方生成。 3. 增加Select、Update、Insert和Delete基本语句代码的生成。 4. 增加实体类快速生成的功能,直接在窗体中打开,并用语法高亮显示。 5. 增加可以对表进行选择性生成代码的功能。 6. 增加对MySQL数据库GBK的支持,方便使用中文操作,完好支持MySQL5.0。 7. 改善SQL Analyzer和测试SQL脚本的操作。 8. 改善数据库配置项管理,提供更方便简单的操作。 目前有很多代码生成工具,很多做得很好,我在上一篇关于代码生成工具的随笔(代码生成工具随笔(1) ---关于代码生成器 )中,大概介绍了一些代码生成工具的现状,也得到很多人的关注。 由于本人很早就在代码生成工具方面有所研究,因此在开发过程中没有使用CodeSmith 阅读全文

posted @ 2006-09-26 00:12 伍华聪 阅读(12542) 评论(55) 推荐(1) 编辑

2006年9月25日

自己编写的操作实体类的分页控件, 实现页码层与数据库的具体的信息隔离

摘要: 目前网络上有很多成熟的分页控件, 不过很多都是基于Sql语句进行分页, 而且直接绑定到分页控件中, 不能通过实体集合进行绑定, 因此不是很适合我目前项目的架构开发, 偶然一次机会在博客上看到有"永不言拜"先生发表的Sqlserver存储过程和C#分页类简化你的代码! 一文, 深受启发, 结合我正在使用的架构写了一个分页控件。 分页控件在Web开发中是不可或缺的一个控件, 但目前很多分页控件, 是通过设置Sql语句的方式进行分页, 这种方式的分页控件的缺点是和数据库紧密联系一起, 需要定制输出内容的时候, 需要绑定数据库字段的名称, 而且需要在底层拼接Sql语句以供分页控件调用. 在分层比较明显的架构中, 这种从界面层直接到数据库底层的操作破坏了分层的优雅和特点. 如果能够利用分页控件的专有特点(易用/分页检索)和分层架构的特点(共享实体类, 隔离底层和细节), 使得分页控件布局的时候访问的是实体类的信息, 而有可以按页进行数据检索, 那么就可以完美解决这个问题. 阅读全文

posted @ 2006-09-25 23:38 伍华聪 阅读(5152) 评论(7) 推荐(0) 编辑

2006年8月26日

Database2Sharp2009 代码生成工具

摘要:    深田之星Database2Sharp,是一个NHibernate、Castle-ActiveRecord、Enterprise Library和PetShop架构的C#代码生成工具,提供了对MS Sql2000、MS Sql2005、Oracle、Mysql、Access的支持;可以生成各种架构代码,导出数据库文档、浏览数据库架构、查询数据、生成Sql脚本等。 主要的功能如下:   1、Castle的ActiveRecord代码生成功能,准确生成各种关系。   2、NHibernate代码生成,生成相应的实体类和HBM文件。   3、PetShop架构代码的生成(多种形式),直接生成所需的解决方案,为你封装了功能强大的基础类库和数据访问基类。   4、Web界面自动生成功能,生成列表、增加、修改界面代码和后台代码,包括烦琐的绑定数据和赋值语句代码,为你封装具有漂亮界面和布局的编辑、查看、添加和分页控件,随手可得,率性而为。   5、Enterprise Library代码生成,生成整个项目工程框架,包含实体类、数据访问类、业务类、Asp.net页面类,利用泛型及缓存机制 阅读全文

posted @ 2006-08-26 23:59 伍华聪 阅读(4520) 评论(2) 推荐(2) 编辑

代码生成工具随笔(1) ---关于代码生成器

摘要: 本人比较早就开始编写代码生成器, 第一款的生成工具SharpCode(有兴趣的可以在Google上搜索一下http://www.google.com/search?hl=zh-CN&newwindow=1&q=SharpCode&lr=), 就开始编写支持多数据库的C#代码生成工具, 一直以来也很想把该工具做的更加智能化一些, 可是工作之余,很少有时间, 所以新版本的代码生成工具一直停留在蜗牛式的开发过程中. 不过一直留意着代码生成工具的前沿情况, 有CodeSmith, MyGeneration, Codus都是不错的代码生成工具, 国内好像也还有一些做得不错的工具, 像好友Wintle的Codeplus, 还有一个叫李天平的同行也发布了一个, 各有各的特色. 很多代码生成器都是有一些自己的特点, 不过扩展性都不是很好, 也很少提供合适的模型让别人进行开发, 不过作为编程人员, 去适应别人还是很有好处, 可以快速得到生成的代码. 阅读全文

posted @ 2006-08-26 23:24 伍华聪 阅读(5459) 评论(3) 推荐(2) 编辑

导航