编码笔记

导航

随笔分类 -  framework

对与所谓架构、框架的一些思考。
用泛型实现对枚举的通用处理
摘要:写代码的时候遇到一个问题,想写一个通用方法来实现对枚举的类型的操作,如获取枚举的项的列表,获取一个枚举值的索引等等,本来以为很简单,写一个函数:functionGetEnumNames(枚举类): TArray结果发现这个参数怎么搞也搞不对,不知道传一个什么样的参数可以支持所有枚举类型,因为函数内会... 阅读全文

posted @ 2014-09-18 19:59 封三郎 阅读(5043) 评论(0) 推荐(0)

写一个日志类用于跟踪调试
摘要:根据自己的工作需要,借鉴了网上一些分析和尝试,自己写了一个日志的单元用于服务器的跟踪调试。unit LogUnit;interfaceuses System.Classes,System.SysUtils,System.Generics.Collections,Windows,Forms,IOUt... 阅读全文

posted @ 2014-07-15 11:25 封三郎 阅读(1167) 评论(0) 推荐(0)

通过TCustomAttribute和反射实现动态查询(三)
摘要:利用TCustomAttribute和反射实现动态查询的管理。 在XE4中实现。 阅读全文

posted @ 2013-08-05 14:23 封三郎 阅读(547) 评论(0) 推荐(0)

通过TCustomAttribute和反射实现动态查询(二)
摘要:利用TCustomAttribute和反射实现动态查询的管理。 在XE4中实现。 阅读全文

posted @ 2013-08-05 14:20 封三郎 阅读(652) 评论(0) 推荐(0)

通过TCustomAttribute和反射实现动态查询(一)
摘要:利用TCustomAttribute和反射实现动态查询的管理。 在XE4中实现。 阅读全文

posted @ 2013-08-05 14:05 封三郎 阅读(1053) 评论(0) 推荐(0)

SQL升级脚本实现按版本差异化升级(优化)
摘要:1.增加了对SQL Server 2000的兼容;2.支持对脚本目录的批量处理;3.将脚本版本的判断放到具体的升级子脚本中去,让调度脚本更固化。-- 根据SQL的版本好确定启用xp_cmdshell的方式。declare @DBVersion varchar(50)select @DBVersion= cast(serverproperty('productversion') as varchar(50))declare @index intselect @index = charindex('.',@DBVersion)select @DBVersion = 阅读全文

posted @ 2013-08-05 11:06 封三郎 阅读(718) 评论(0) 推荐(0)

查询条件的封装(类图)
摘要: 阅读全文

posted @ 2012-04-06 22:29 封三郎 阅读(663) 评论(0) 推荐(1)

查询条件的封装(小结)
摘要:截至今天,查询条件的封装第一阶段的工作基本完成了。在之前的基础上做了一些调整,由于D7与XE/XE2的差异,某些思路也做了调整。查询条件项的驱动控制由于是使用TCollection和TCollectionItem来实现的,所以不能作为查询条件项的属性来进行选择(应该是只有继承自TComponent的组件才可以作为属性的选择对象),取而代之的是采用Index的方式来进行绑定,这个我觉得是设计上的一个缺陷,并没有完全符合我最初的设想,在使用上不够简便直观。如果是在XE2下可以有更好的选择,可以用TCustomAttribute加反射机制来实现持久化配置数据的动态绑定。常量单元ConditionCo 阅读全文

posted @ 2012-04-06 21:58 封三郎 阅读(1928) 评论(0) 推荐(2)

查询条件的封装(二)
摘要:TConditionItem 1 { TConditionItem } 2 3 procedure TConditionItem.Assign(Source: TPersistent); 4 begin 5 if Source is TConditionItem then 6 begin 7 if Assigned(Collection) then Collection.BeginUpdate; 8 try 9 //RestoreDefaults;10 ConditionName := TConditionItem(Source).Condit... 阅读全文

posted @ 2012-04-04 21:26 封三郎 阅读(613) 评论(0) 推荐(1)

查询条件的封装(一)
摘要:因为现行的项目是使用cxGrid作为主要的控件,通用的查询条件模块也是依赖cxGrid来实现的。但是现行的实现方式和设计思路的灵活性和维护性都比较差,存在每次改动代码量较大、修改处多且分散的问题,所以我考虑重构一下,从设计上改变目前的方式。初步的想法是,cxGrid不动,通过一个UI类来控制cxGrid的显示;设计一个条件项类和条件项列表类,用于程序员在设计器可视化设计查询条件;最后有一个业务逻辑控制类,可以控制每一个查询条件项,定义其获取条件值的方式,通过这种设计将界面与逻辑分离。以前有前辈指点过,也有大牛强调过,界面、业务、数据必须分离,但是,我以为对于业务逻辑来讲,它本身就是和数据紧密结 阅读全文

posted @ 2012-04-04 21:04 封三郎 阅读(1532) 评论(0) 推荐(0)