2023年2月

07~08年间,由于业务和兴趣需要,潜心研究Visio的二次开发,国内这方面资料很少,基本上靠微软的SDK进行学习,不过因为比较有兴趣,虽然学的艰难,不过不觉得枯燥。这个时候对软件的布局设计比较感兴趣,因此也下大功夫学习了很多好的布局控件,不过最好的就是WeifenLuo.WinFormsUI.Docking的控件了,作出来的界面比较好看,后来就发布了一款Visio二次开发的软件,如下图所示。

软件大多数是Visio业务操作,不过界面仿照Office还是比较成功了,这个软件也是用我代码生成工具辅助完成底层代码的开发的,否则工作量会大的惊人。

这款软件在业务应用上可能比较窄,不过作为技术的研究,也是一个时期的代表作品了,期间提升了自己的界面设计技术、掌握了Visio的二次开发技术,以及一些有用的辅助代码,因此整理了相关的技术学习心得,发表了N篇Visio的开发文章,和大家一起交流,同时也或者了很多博客积分,呵呵。

后来学习涉及到了网抓,对正则表达式比较感兴趣,因为它可以从繁杂的代码中分析出你要的部分,因此就尝试学习这方面的内容,然后有了一个想法,做了一个生肖数据采集及分析软件,这个软件就是把人家生肖网站的网页数据全部采集过来,对每页进行分析(采用多线程哦)。

这款软件可能由于大家平常生活遇到的比较多,因此很多人感兴趣,也是销量比较好的一个软件了,因此也明白,只有大众的软件,才能获得更多的支持和回报,规模产生效益。

后来到了另外一家公司上班,因为在缺陷管理上,觉得应该上一个管理软件,而原本是想在网上找一个就可以了,不过发现大多数要么是PHP做的,要么是Java做的,C#做的比较少,因为觉得需要一些修改,如果不是C#的可能会有问题,另外大多数觉得功能不是很适合。

因此就萌生了自己搞一个缺陷管理系统的想法,由于有Database2Sharp的辅助,我设计好数据库后,底层代码和界面我都可以一气呵成,工具完成了绝大部分内容,我在上面修改一下就OK。也就是软件缺陷管理系统的诞生了。

接着一个朋友营销需要寻找一些客户,叫我给他弄一个查询指定范围和条件的QQ用户,因此对城市达人的编程接口进行了研究,对其中的一些技术也甚是感兴趣,因此开发了“QQ号码采集及邮件发送系统”,邮件发送是以前的积累代码,QQ号码采集是新鲜出炉的部分,两者结合,又一个共享软件诞生。QQ软件由于大家用的比较多,因此给一些营销的人员很好的辅助,对这款软件感兴趣的人也不少,慢慢也有一些客户购买,一切似乎比较美好,呵呵。

后来又做了一个病人资料管理的系统,主要是给医院科室管理病人资料的,是基于Access的开发,其他的没有什么特别,不过由于需要,倒是丰富了我的Winform分页控件的功能,包括有分页,间隔颜色显示,导出Excel,打印 以及一些其他功能。

其实期间也在作一款送水管理软件的网络版,因为很多客户都想要上连锁店,而没有相应的软件支持,我的送水系统面世还比较长,但是由于是单机版本的,不支持分布式的连锁店模式,因此想突破很多技术知识和原来送水管理系统业务,做一个连锁店经营的管理软件。

由于时间的断断续续,还有就是软件设计和业务构想还是比较庞大,因此功能好像总是完不成:原本的设计是要有严格的权限控制,因此做了一个Winform的权限控制系统;要完全继承原有的送水管理系统业务,因此细节处处考究和优化;要有统一的界面和操作方式,因此完善了分页控件的内容,也弄了很久;要使用WCF的数据交换模式,就对WCF做了一些学习研究,如如何部署等;来电显示要做多路的,就比较了N多设备,花了近500元卖了一款回来做开发;POS打印也是需要做的,因此又花了300块左右买了一个热敏打印机回来做开发测试;反正做一个完善的系统,不是那么容易,需要经过无数个夜晚的工作和闲暇时间的修改,很多都是精雕细琢的功夫。最后在线帮助文档和一般的文档也搞定了,总算发布了,软件的界面如下所示。

总的来说,我作的共享软件,大多数都是基于技术的研究和个人的想法,因为挑战总是能够激发一个人的潜力和强烈的追求精神的,做共享软件是比较辛苦的事情,而且也要有敏锐的观察力,那些适合做,那些不适合做,不过得到客户的认可和能够赚到一些小钱花花,也是不错的安慰。

从我个人的经历和经验看,国内的共享软件还是有一定得市场,对个人用户是比较好的目标,如果是通用的大众软件,还是舍得花钱去买注册码的。

开发共享软件是一个长时间的积累和等待过程,不要想一两个星期,或者一两个月就能得到什么好的销售和认同,如果东西够好,慢慢就会有人来咨询。

软件界面一定要做的相对比较好看一些,多融入一些新技术,并做技术积累和了解一下目前的市场,都是可以促进共享软件的良性发展的。

目录


1.

总体介绍
...............................................................................................................

2.

.NET
代码生成
.........................................................................................................

2.1.

EnterpriseLibrary
代码生成
.....................................................................................

3.

Java
代码生成
..........................................................................................................

3.1.

Java
架构代码生成
..................................................................................................

4.

数据库文档生成
........................................................................................................

4.1.

操作指南
...............................................................................................................

5.

软件设置说明
............................................................................................................

5.1.

数据库配置
...........................................................................................................

5.2.

表别名和字段别名修改
.............................................................................................

1.

总体介绍

合理利用代码生成工具,可以提高编码速度以及质量。

代码生成工具
Database2Sharp
是一款主要用于
.NET
代码、
Java
代码生成以及数据库文档生成的工具,软件支持
Oracle

SqlServer
(包括
SqlServer2005
)、
MySql

Access
数据库。

其中
.NET
代码生成之“
EnterpriseLibrary
代码生成”是整合了省移动公司所要求的微软企业库
Enterprise Library
组件,以及省移动的界面规范。“
Java
架构代码生成”则主要是生成目前使用的“Ibatis+Spring+Struts”框架的相关
Java
代码。

下面介绍主要介绍“
EnterpriseLibrary
代码生成”和“
Java
架构代码生成”这两部分定制的代码生成内容。

注:
代码生成工具
Database2Sharp
很多时候使用到了数据库字段的注释代码的说明部分(如果实体类的字段介绍、界面相关显示等),因此建议在生成代码前,完成字段的属性说明的添加工作。

2.

.NET
代码生成

2.1.

EnterpriseLibrary

代码生成

2.1.1.

操作指南

1
、打开
Database2Sharp

软件,系统列出指定服务器(默认是本地
SqlServer

)上的所有数据库,单击想要操作的数据库,系统会列出所有该数据库的表、存储过程、视图等信息,如下图所示。


































2
、在该数据库上单击鼠标右键,选择“
EnterpriseLibrary

代码生成”菜单项,如下图所示。

3
、在出现的向导对话框中,选择指定的数据库,选择数据库表,如下图所示。


4
、在接着下来的向导对话框中输入主命名空间和输出目录等信息,然后确认下一步即可。主命名空间是指命名空间的前半部分(如实体层完整的命名空间会是“
Bornshine.AdminProject.Entity”

,那么主命名空间就是“
Bornshine.AdminProject

”);输出目录是指代码生成后存储的目录;过滤表名前缀是用于在代码类名中去除为了区分业务块的表名固定字符,这样可以使得类名更加可读(如有
tb_gmcc_Car

表,那么过滤
tb_gmcc_

的前缀后,相关层的类名会是
Car

)。

至此代码已经顺利输出,用户可以到指定目录去查看所生成的代码。

在实际代码生成中,可能会需要提前做一些处理,如配置数据库服务器、设定表名前缀、修改表别名或者字段别名等操作,请参考下面“软件设置说明”部分。

注:集成了统一界面样式的界面层代码已经生成到相同的目录下,但没有加载显示而已,界面层集成了页面编辑控件、查询控件和分页控件等,相关的显示、链接、分页、查询等已经基本完成,可以直接使用。

3.

Java
代码生成

3.1.

Java

架构代码生成

3.1.1.

操作指南

Java
架构代码生成和
.NET
的“
EnterpriseLibrary
代码生成”操作类似,在指定的数据库上单击鼠标右键,选择“
Java
架构代码生成”菜单即可,如下所示。

接下来的操作和“
EnterpriseLibrary
代码生成”类似操作,不再赘述。

4.

数据库文档生成

4.1.

操作指南

1
、在指定的数据库上单击鼠标右键“数据库文档生成”,则进入数据库文档生成操作。在接下来的向导中选择指定的数据库和表等信息。

2
、选择数据库设计文档中要显示的信息,默认选择全部。

3
、勾选上“生成后打开
Word

文档”,完成
Word

文档后会自动打开文档,以便查看。

5.

软件设置说明

5.1.

数据库配置

代码生成工具
Database2Sharp

支持
Oracle


SqlServer


Mysql


Access

数据库,每种类型的数据库可以添加多个,自由切换。

在每种类型的数据库配置上单击鼠标右键,选择“注册新数据库”则可以添加一个新的数据库连接设置项,如下图所示。如需修改已经添加的项目,双击指定的配置项即可。

5.2.

表别名和字段别名修改

一般情况下,如果表名称设置合理,较少使用表别名和字段别名修改。数据库表或者表字段的命名建议使用
Pascal

命名规范。

为了使得代码更加可读,可以对表的别名和表的字段别名进行修改,别名是影响类名和字段名称,但不会影响数据库的底层操作。

5.2.1.

表别名修改

1
、在指定的数据库、或者表上,单击鼠标右键“表别名修改”即可进行如别名的修改界面,如下图所示。

2
、修改完成后,请单击指定的数据库,重新加载数据库信息,然后再进行代码生成工作。

5.2.2.

字段别名修改

在必要的时候,可以对表的字段别名进行修改。

1
、单击指定的表,在“表基本信息”窗体中,单击“设置字段别名”按钮即进入字段别名修改界面。

2
、在出现的窗体中,根据需要对字段别名进行修改,保存设置后,请重新刷新数据库列表,然后再进行数据库代码生成操作。

软件详细介绍及下载页面:
http://www.iqidi.com/Database2Sharp.htm

框架的主要特点:
1)基于N层架构分层思想,各层边界清晰,可维护性更好。
2)基于最为广泛接受的RBAC(Role Based Access Control )的权限模型,控制更强、更合理。
3)遵循省移动公司统一UI样式、统一框架、集中授权、集成省公司相关业务组件(如工作流、日志等)
4)使用代码生成工具辅助开发,70%以上的代码可直接生成。
5)页面呈现组件化,代码更少、开发更快、界面更统一。

N层架构分层
使用了N层架构技术,分界面层、业务逻辑层、数据访问层、实体层;界面做了封装、底层数据使用企业库组件处理。
业务处理边界更加清晰,代码可读性、可维护性更好
使用更加稳定成熟C# 2.0的.NET框架,底层支持更多
使用了泛型技术,减少数据的装箱拆箱,强类型数据更加安全,性能更高。
基于泛型的基类封装技术,代码重用性更高
使用了Asp.net 2.0的Master Page页面技术。
使用参数化Sql操作数据库,业务数据更安全

权限控制模型
基于最为广泛接受的RBAC(Role Based Access Control )的权限模型,权限控制更加合理和规范,粒度更细,安全性更好。
权限控制可提供功能权限和数据权限控制,数据更加安全、合理。
权限控制细致(菜单,按钮,链接及数据权限控制),用户身份不同,用户看到的菜单功能和相关数据也不同,个性化更强,安全性更高、更合理。
菜单可以根据权限动态分配显示,设计更加合理

遵循省移动公司规范
遵循省公司统一UI样式、页面布局、图标、界面控件等界面元素。
遵循省公司统一框架,引用相关的类库进行数据访问,日志操作等。
遵循省公司的统一用户管理、统一认证、单点登录等业务组件。
遵循模块化、组件化思路进行软件开发,系统功能可配置化。
使用了省规范约定的组件开发,更加安全,提高可维护性。



代码生成工具辅助

整个项目的基础代码根据数据库信息,全部可以自动生成
使用代码生成工具辅助开发,70%以上的代码可直接生成
工具可以生成界面层、业务逻辑层、数据访问层、实体层等代码,生成即可编译运行。
实际开发工作,主要完善业务逻辑层,调整界面层即可
基础架构代码统一采用工具生成,代码风格更加统一和标准化。
生成的代码,集成了相关的界面组件、数据访问组件,同时应用了省公司的界面样式。

界面呈现组件化、统一化

基于组件化的构建思想,以省公司界面规范统一封装了查询列表、数据分页、内容编辑等界面内容,界面展示更加统一,操作更加友好。
以稳定、成熟的新技术优化产品的处理性能,提高界面响应和用户体验。
系统功能菜单布局更加合理化。
系统操作界面更加标准化,统一化,界面操作更加友好、易用。
界面空间利用更加合理,用户体验更好。

Enterprise Library框架搭建的基础平台功能:
用户管理——实现组织架构管理(部门管理)、用户管理、角色管理、功能管理等
用户和组织架构同步——可自由同步数据,在Web端同步、在Windows服务中同步数据。
权限设置和管理——可以管理部门、角色、个人的权限,支持总公司、地市公司、区县分公司等多级机构的权限管理。
工作流自定义——流程设置灵活、节点设置灵活。支持流程分支、退回、重新提交流程表单等。
菜单自定义——可以选择对所有用户屏蔽菜单,也可以根据用户具有的权限自动隐藏或者显示菜单。菜单可以根据需要添加,自动更新显示。
数据字典——提供所有模块可以管理的通用数据字典功能,减轻各模块的基础数据管理开发。
系统日志——管理用户登陆信息或者操作模块的日志记录。

用户管理:
树形组织架构管理,用户资料管理。可实现域用户管理。
该平台支持与其他平台的的组织架构、用户资料同步。



部门管理:
树形组织架构管理,支持与其他平台的的组织架构、用户资料同步



角色管理:
对角色本身的信息进行管理,还可以对角色包含的用户、包含的机构以及对角色进行关联权限操作。


用户权限:
基于角色的权限分配原则,可以灵活定义用户的各类权限,满足用户的各种复杂需求。


我的工作台:
有创建申请、我的草稿、我发起的、我的代办、我的已办、我的待阅、我的已阅等模块,提供各种流程表单操作和数据显示。


工作流自定义:
可对工作流的流程、处理环节、权限进行灵活设置。


菜单自定义

菜单可以进行灵活设置。可以灵活配置各个业务模块和系统模块的菜单项目显示,菜单访问权限等。

通用数据字典

提供通用的数据字典模块,方便其他模块引用基础数据,添加菜单时候,修改不同类型的参数即可实现对具体字典内容的管理和增加、删除、修改、查看等。所有数据字典,即数据字典中心的截图如下所示


某类型数据字典管理如下所示:


产品说明如下:
★软件功能
配电网络管理可视化系统2009,是按《电气符号国家标准》提供统一的电网图标设计,具有强大的绘图功能、馈线图管理功能、馈线图的审批流程、在线修改馈线图、实时查看馈线图、设备与图纸紧密结合、完整的资产管理与强大的资产信息查询与统计功能、电力用户信息管理、停电分析功能、线损计算功能等。
配电网络可视化管理系统基于Microsoft Visio技术开发,操作方便,简单易学,而且制作的图纸符合国家标准,还支持可视化电网分析操作。并且利用后台数据库技术集中管理馈线图和设备资料。

配电网络管理可视化系统系统的优势
规范化
配电网络可视化管理系统的电网图标是依照《电气符号国家标准》制定,电网图标带有设备信息,绘制的馈线图图例统一,风格一致,利于统一管理,也有利于交流。
易学易用
配电网络可视化管理系统基于Microsoft Visio技术开发,操作方便,简单易学,会使用Microsoft Office,就会使用配电网络可视化管理系统。
协同工作
配电网络可视化管理系统支持多用户登录管理,能够对权限进行控制,实现了在线修改馈线图,实时查看馈线图,基层工作人员不再需要回总公司取图纸,可以直接通过浏览器来查看馈线图,实现不同地域的协同工作。
可扩展强
配电网络可视化管理系统的馈线图的存储采用了数据库技术,所有的馈线图和模具信息统一存储在数据库中,扩展空间更大;模具属性可以自定义,系统适用性更强。

★系统需求

配电网络可视化管理系统2009 使用C# 2.0开发,是一款CS架构的软件, 适运行在 Microsoft WindowsNT/2000/XP/2003 等平台,但必须安装有.Net 2.0平台.

该软件利用了微软.NET Framework2.0优秀的框架和微软SQLServer数据库高性能的数据处理能力,因此在安装软件前,您需要花费一点时间来安装下面的组件(请您按照顺序安装即可):

(1)MicroSoft .NET Framework 2.0 官方下载地址:
http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=zh-cn&SrcCategoryId=&SrcFamilyId=0856eacb-4362-4b0d-8edd-aab15c5e04f5&u=http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe

(2)如果您的机器上没有安装MS SQLServer数据库,您可以选择下载微软MSDE组件进行安装,该安装包是微软发布的软件,网上随处可以找到,下载后默认进行安装即可,
注意:MSDE安装后,必须重启机器,才能继续下面的安装
。下面提供一个参考下载地址:
http://download.microsoft.com/download/4/5/1/451d5d5c-69d4-40d5-b85d-f1d756cf46db/CHS_MSDE2000A.exe
如果安装MSDE出现“
为了安全起见,要求使用强SA密码。请使用SAPWD开关提供同一密码。
”的提示,请找到msde安装目录下的setup.ini,打开修改成下面这个样子
[Options]
SECURITYMODE=SQL
SAPWD=123456

其中SAPWD后的"123456"是你的sa的密码。(你也可以改成你自己的)。

(3)最后下载 配电网络可视化管理系统,进行安装即完成整个软件的安装。安装地址为:
http://www.iqidi.com/Download/EDNMS_Setup.rar

QQ配电网络管理可视化系统2009








QQ号码采集及邮件发送系统2009

QQ号码采集及邮件发送系统

软件价格:

文件大小

< 2M

更新时间

2009-4-12

下载地址

在线帮助:



产品说明如下:
★软件功能
QQ号码采集及邮件发送系统2009,是一款可以搜索采集QQ号码信息以及邮件群发的软件。该软件通过选择筛选条件,可以查询来自何地、年龄、性别、状态等条件的QQ用户号码及相关信息;另外该软件集成邮件群发功能,非常方便向QQ用户发送邮件,也可以发送其他邮件地址的邮件。
QQ号码采集及邮件发送系统2009,采用多线程发送邮件,有效利用您的机器资源,发送过程不影响您的其他软件操作;发送的邮件可以保存起来,可以方便的时候调出来进行发送,邮件发送过程会记录发送历史,可以设置跳过重复发送的邮件,对发送未成功的邮件,可以在再次发送。软件界面美观大方,方便使用。

1.本软件QQ数据全部来自于“QQ城市达人”。
2.本软件重要功能之一是搜索QQ用户,不过他不同于QQ本身自带的搜索功能,这款软件可以使你获得更多信息,可以很方便的使你交到理想的朋友。
3.本软件另外的重要功能就是可以群发邮件,可以给搜索到的QQ用户发送邮件,也可以发送给其他Email邮箱群发邮件,非常实用方便。
4.本软件还适用于一些网络推广人群,可以直接做推广使用,通过提供采集号码服务和邮件群发功能,您可以快速方便进行网络信息的推广。

★系统需求

QQ号码采集及邮件发送系统2009 使用C# 2.0开发,是一款CS架构的软件, 适运行在 Microsoft WindowsNT/2000/XP/2003 等平台,但必须安装有.Net 2.0平台.

该软件利用了微软.NET Framework2.0优秀的框架,因此在安装软件前,您需要花费一点时间来安装下面的组件(请您按照顺序安装即可):

(1)MicroSoft .NET Framework 2.0 官方下载地址:
http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=zh-cn&SrcCategoryId=&SrcFamilyId=0856eacb-4362-4b0d-8edd-aab15c5e04f5&u=http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe

(2)最后下载 QQ号码采集及邮件发送系统,进行安装即完成整个软件的安装。安装地址为:
http://www.iqidi.com/Download/qqcollector.rar