上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 45 下一页

2010年3月19日

读取实体类的属性的备注作为表头的应用

摘要: 在做淘宝API的学习过程中,发现一个API的封装类库TopNET对操作封装的比较好,试用了一下,效果非常不错,另外由于淘宝的API对象参数很多,多数是英文的,另一方面TopNET的实体类对象备注信息很详细,因此可以考虑吧实体类的属性描述信息作为列表的表头说明使用。 这些是很详细的类库备注信息,如果能在代码中读取对应的属性备注信息出来,那么各项内容的显示,就不需要太多的手工字段的转义工作了,虽然在性能上有点点损失,但是开发效率上会提高不少。 现在的问题就是该如何才能正确读取到相关的信息,这个操作可以通过XML文档的检索实现的,我在测试的时候,发现可以通过3种方式来读取到正确节点的信息的。其中上面的Member中的Name第一个字符有T、P、M等字样,其中的T是类,P是属性,M是方法的意思。 阅读全文

posted @ 2010-03-19 20:43 伍华聪 阅读(6015) 评论(0) 推荐(1) 编辑

2010年3月10日

Winform下的地图开发控件(GMap.NET)使用心得之二

摘要: 在上篇《Winform下的地图开发控件(GMap.NET)使用心得》中简单介绍了GMap.NET的控件基本情况,本篇开始介绍一下相关的代码操作。 其实目前GMap.NET提供的功能还不是很多,因此其演示的例子基本上都涉及到了,我在此基础上做了一些改进和运用,总结下功能代码吧。 阅读全文

posted @ 2010-03-10 08:34 伍华聪 阅读(29165) 评论(36) 推荐(8) 编辑

Winform下的地图开发控件(GMap.NET)使用心得

摘要: GMap.NET是一个强大、免费、跨平台、开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等实现寻找路径、地理编码以及地图展示功能,并支持缓存和运行在Mobile环境中。 GMap.NET是一个开源的GEO地图定位和跟踪程序。就像谷歌地图、雅虎地图一样,可以自动计算两地的距离,定位经纬度,与Google地图不同的是,该项目是建立在C#语言WinForm基础上的。可以对地图放大缩小,进行城市标记等。 GMap.NET的项目地址是http://greatmaps.codeplex.com/ ,我们可以下载相关的例子和源码进行学习和研究。我在Google上搜过相关的项目,好像介绍的文章不多,不过不影响这个控件的强大和易用。我们先看看它的界面截图: 阅读全文

posted @ 2010-03-10 08:33 伍华聪 阅读(42830) 评论(17) 推荐(8) 编辑

2010年2月7日

winform 复选框控件赋值的小技巧

摘要: 前几天,有一位园友写了一篇不错的文章《WinForm 清空界面控件值的小技巧》,文章里面介绍了怎么清空界面各个控件值的一个好技巧,这个方法确实是不错的,在繁杂的界面控件值清理中,可谓省时省力。 本人在开发Winform程序中,也有一个类似的小技巧,不是清空控件值,而是赋值,给复选框赋值和获取值的小技巧,分享讨论一下。 应用场景是这样的,如果你有一些需要使用复选框来呈现内容的时候,不管采用那种控件,我们都会设计到为它赋值的麻烦,我这里封装了一个函数,可以很简单的给控件 赋值。 阅读全文

posted @ 2010-02-07 16:36 伍华聪 阅读(12044) 评论(5) 推荐(2) 编辑

2010年2月5日

从Socket数据处理线程想到的普通Winform数据显示的应用

摘要: 再前面介绍过Socket编程的文章中,有一篇是《Socket开发探秘--基类及公共类的定义》,其中介绍了一个独立线程处理类,专门在一个独立的线程中处理Socket的数据包的。它的工作原理是这样的,每次收到数据后,系统把数据扔给独立线程处理类,处理类放到一个队列Queue的列表中,每次从中弹出一个来处理,根据不同的协议头,分派到不同的线程来处理,这样可以提高响应速度,防止线程之间的阻塞,能够充分利用系统的资源。 其实我们还可以把这个思想应用到日常的Winform开发中,有时候我们可能在处理一些比较费时的操作,可能是需要做一部分显示一部分,类似日常生活中的项目周报、月周报的场景,因为不可能等一个几年的项目完成后,你才告诉老板你的工作情况吧。借鉴Socket的数据处理方式,我在Winform程序中运用了这种数据处理方式,如我在采集赶集网的数据的时候,可以把采集到的部分数据扔给系统中的数据独立处理线程,让他们爱怎么显示就怎么显示,程序不中断,继续乐此不彼的去采集内容去,然后继续这样做(每采集一部分仍出去一部分),直到采集完毕。 阅读全文

posted @ 2010-02-05 23:15 伍华聪 阅读(5060) 评论(8) 推荐(1) 编辑

赶集去了,你准备好了么?----谈谈正则表达式的内容采集

摘要: 不知阁下是否都听说过赶集网,我想对大多数人来说,应该不会太陌生,有时无聊之时,还是可以去逛逛,了解社会百态,熟悉人间风情,呵呵。 赶集网基本是按照全国城市分类的,每一个城市是相同界面,不同内容。你可以在不同城市中切换,以便关注该城市的各种信息。对应每个城市,赶集网又有不同的分类,基本上涵盖了生活的方方面面。进入一个特定的分类,你可以看到相关的用户文章,有些事经纪人发的,有些是普通老百姓发的,各取所需,各观所好。 本文主要是分析赶集网的内容获取及采集程序的工作方式,介绍下一些正则表达式的处理和利用。 阅读全文

posted @ 2010-02-05 21:36 伍华聪 阅读(2692) 评论(10) 推荐(1) 编辑

Oracle中对超长内容的处理,避免出现can bind a LONG value only for insert into a LONG column错误

摘要: 本人在做一个新闻内容的模块的时候,发现如果内容在4K以上的字符串会出错,得到的内容会是乱码(也就是被自动截断),如果小于4K,那么就不会有问题。 原来采用了Varchar2的类型来存储,但发现后修改为Clob类型的也出现同样的问题,而且发现日志的错误是:System.Data.OracleClient.OracleException: ORA-01461: can bind a LONG value only for insert into a LONG column。 由于Clob类型是可以存放很大类型的文本数据的,不会是数据库字段容量不够,因此检查插入和更新的C#代码,发现原来的代码是这样的: 阅读全文

posted @ 2010-02-05 12:15 伍华聪 阅读(13193) 评论(3) 推荐(1) 编辑

2010年1月26日

Socket开发探秘--基于Json格式的数据协议收发

摘要: 前面发表过两篇随笔:《Socket开发探秘--基类及公共类的定义》和《Socket开发探秘--数据封包和拆包》,介绍了Socket方面的开发。本文继续探讨使用Json格式来作为Socket收发协议方面的技术问题。 前面说到,收到的Socket数据经过粗略的解析后,就是PreData类型的数据,这个是通用的数据格式,我们需要进一步处理才能转化为所能认识的数据对象(实体类对象),同样,我们发送数据的时候,内容部分肯定是按照一定协议规则串联起来的数据,那么我们就需要把实体转化为发送的数据格式。综上所述,我们通过实体类,必须实现数据的发送和读取的转换。 由于数据的封包拆包是一个繁琐的过程,代码重复性比较多,而且也容易出错。前面介绍过设计一个基类,我们把所有对数据的拆包和封包,利用反射机制,减少我们的代码量,提高代码的优雅性。 但是后来有人建议,可能使用Json格式的数据内容可能更好,确实,如果是采用以|分割符号的内容,有一个缺点,就是数据内容比较难懂(有时候我们还是需要分析数据包的),Json会更易读一些。 另外,使用Json可以脱离字段顺序的关系,可以向后兼容一些历史的协议,例如首次定 阅读全文

posted @ 2010-01-26 19:59 伍华聪 阅读(21223) 评论(3) 推荐(2) 编辑

2010年1月25日

用户输入查询与拼音首字母的结合,提高用户的操作体验

摘要: 我们在界面设计的时候,不管是Web的还是Winform的程序,为了方便用户对各种数据进行操作,提高用户的操作体验,都是一个永恒不变的话题,需要尽可能地提高。本文抛砖引玉,介绍本人在Web和Winform中使用拼音简码以及智能提示的具体例子,对这个话题进行探讨。 在下面的Web界面中,我们可以通过拼音首字母或者部分中文内容,来模糊搜索(类似Google搜索的智能提示),一个方便用户搜索,第二个有效利用Ajax技术来提高用户的体验。在Winform界面中,同样也可以做到智能提示,由于Winform中的响应速度比较快,我们可以根据输入的首字母或者部分中文快速更新列表内容即可,如下图所示。 阅读全文

posted @ 2010-01-25 22:48 伍华聪 阅读(10426) 评论(31) 推荐(26) 编辑

2010年1月22日

推荐两个界面原型设计工具--GUIDesignStudio 和 Mockups For Desktop

摘要: 前段时间,有幸参加一次高级软件架构师的培训,授课老师介绍了两个很好玩的界面原型设计工具:GUIDesignStudio 和 Mockups For Desktop,现分享一下,截图说明,洗洗眼球,权当娱乐。 以前在做界面原型设计的时候(不多,但有时候要做的),印象中多数用Visio或者一些UML工具来大致描述一下,效果及交互性较差,不知您是否做过这方面的工作,不管有没有,我们来了解下这两个比较有意思的东西吧。 阅读全文

posted @ 2010-01-22 19:33 伍华聪 阅读(87445) 评论(30) 推荐(20) 编辑

2010年1月20日

Web打印的解决方案之证件套打

摘要: 由于以前未接触过套打,一直觉得套打是一个比较神秘和麻烦的事情,因为打印机的位置总是需要调整的,你总不能硬编码吧?但是如果位置可调,有需要直观一些来处理,那就比较麻烦了。在前面介绍过《Web打印的解决方案之普通报表打印》的一片文章中提到过那个打印控件Lodop,做起套打来感觉还是挺方便的,至少位置调整界面不需要自己弄,位置嘛,也提供了自动保存的功能,不需要理会。 一般的套打,包含了几部分操作:打印预览、打印维护、打印设计。打印预览和打印维护是面向终端用户的,打印维护是指内容不能修改删除、但位置可以调整,给不同的打印机不同的尺寸打印提供调整位置的可能性。打印设计是面向开发人员的,开始需要通过这个功能来设计好套打的界面,就是根据套打证件的背景图片,大致摆放好各个内容的位置。 阅读全文

posted @ 2010-01-20 12:14 伍华聪 阅读(20180) 评论(3) 推荐(8) 编辑

2010年1月15日

Web打印的解决方案之普通报表打印

摘要: 做过很多的Web项目,大多数在打印页面内容的时候,采用的都是通过Javascript调用系统内置的打印方法进行打印。打印的效果及控制性虽然不是很好,但是也能勉强使用,应付一般的打印还是可以的了。采用此种方法,不需要安装任何控件,具有很好的兼容优势,不过出来的报表内容,好像控制起来会比较麻烦一些,特别对于一些报表方面的打印,需要输出复杂的内容是,也有一定的缺陷,但总体来说,也是一个较好的选择。 后来在需要做一些证件套打方面的工作,这个控件就做不到了,因此需要一种方法或者控件,能够较好处理套打方面的事情。无意间,发现一个比较好的打印控件,支持各种格式的打印,还有我关心的证件套打功能,功能强大,使用也很简单的,非常值得推荐。 本篇主要介绍Web打印中的普通报表的打印功能。 阅读全文

posted @ 2010-01-15 19:52 伍华聪 阅读(24851) 评论(12) 推荐(8) 编辑

2010年1月14日

如何获取并设置自己的浏览器为默认浏览器

摘要: 在.net里面,有一个WebBrowser控件,这个控件可以用于很多用途,很多人用来定做自己的浏览器,本文谈谈如何获取默认浏览器的设置,并介绍如何设置自己的浏览器为默认浏览器的小技巧。 先看一个小的界面图形,用来更好理解这个功能的用途,如下图我们可以看到需要获取到系统的默认浏览器名称,并提供设置默认浏览器功能。 其实,这些操作都是和注册表相关的内容,这些内容保存在键HKEY_CLASSES_ROOT\http\shell\open\command中的默认值里面,而默认浏览器的名称保存在HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application的默认值里面。 基本上我们修改这两个键值就可以实现默认浏览器的设置了。我封装了一些方法,现发布出来,留底,供娱乐,搏一声好,足矣! 阅读全文

posted @ 2010-01-14 12:57 伍华聪 阅读(9241) 评论(4) 推荐(5) 编辑

2009年12月28日

使用NVelocity自动生成Favorite收藏夹的导航页面

摘要: 你是否碰到你的收藏夹凌乱不堪,或者很多收藏网页地址虽然分类,可是使用起来却感觉不太好,有没有想过把你的收藏夹内容自动生成一个网页的导航页面生成类似Hao123(http://www.hao123.com/),或者番茄花园导航(http://www.tomatolei.com/)一样的网页,用来迅速导航到自己的网址呢? 即使使用场景有争议,不过我们也来关注一下这种自动生成页面的技术吧,说不定可以使用在合适的环境下,如下面我测试了两个类别的收藏夹Favorite目录下,其中“搜索引擎”和“新闻网络”两个目录是我的测试收藏夹分类,Icon和Images是我构造生成主页所需要的一些内容目录。我们根据Index.htm来生成index.htm来作为导航的主页面。 阅读全文

posted @ 2009-12-28 21:04 伍华聪 阅读(3074) 评论(2) 推荐(2) 编辑

2009年12月27日

使用Asp.net的TreeView来构建用户选择输入

摘要: 选择优于输入,这是一般人的共识,面对繁多的数据,提供良好的选择界面,一方面增强用户的界面体验,一方面也提高了数据的准确性,更节省了用户的宝贵时间。一般的单项数据选择可以使用DropdownList控件来实现,但对于有多个选择性输入,而且输入有层次关系的内容,最好选择TreeView控件来实现。 阅读全文

posted @ 2009-12-27 21:30 伍华聪 阅读(3731) 评论(14) 推荐(6) 编辑

2009年12月14日

WinForm界面开发之酒店管理系统--报表篇

摘要: 报表模块几乎是各种大小管理系统都是必不可少的一个模块,而往往报表都需要有数据查看、打印、导出、数据汇总等方面,原本我在准备做酒店管理系统的时候,曾经考虑过试用ActiveReport报表控件的,因为我以前的送水管理系统就是采用这个来做报表的,因此曾经写过一篇文章《ActiveReport报表开发---谈谈ActiveReport的中文化问题 》,提前为做中文报表做准备。 如果使用这个ActiveReport来实现我的报表功能的话,这样如果我的报表非常多,那么这个工作量就比较吓人了,最后还是放弃了这种方式,采用了改造我的分页控件的方式来实现,既可以方便数据的展示,有可以继承了报表预览打印、导出等功能,而且这样做的好处就是,我省却了不用设计那么多报表格式文件的时间,并且总体效果也非常不错。 阅读全文

posted @ 2009-12-14 20:55 伍华聪 阅读(16083) 评论(14) 推荐(6) 编辑

2009年12月13日

Socket开发探秘--数据封包和拆包

摘要: 在上篇《Socket开发探秘--基类及公共类的定义 》中介绍过,所有受到的数据包,经过系统的预处理后,都会得到一个PreData的数据实体,该实体包含了协议头、协议内容和所属用户的ID。PreData是定义了一个标准的协议数据格式,包含了协议关键字、协议内容、用户标识的内容。 前面说了,我们数据是通过实体类作为载体的,我们知道,收到的Socket数据经过粗略的解析后,就是PreData类型的数据,这个是通用的数据格式,我们需要进一步处理才能转化为所能认识的数据对象(实体类对象),同样,我们发送数据的时候,内容部分肯定是按照一定协议规则串联起来的数据,那么我们就需要把实体转化为发送的数据格式。综上所述,我们通过实体类,必须实现数据的发送和读取的转换。 阅读全文

posted @ 2009-12-13 15:08 伍华聪 阅读(15513) 评论(13) 推荐(2) 编辑

Socket开发探秘--基类及公共类的定义

摘要: Socket开发是属于通信底层的开发,.NET也提供了非常丰富的类来实现Socket的开发工作,本篇不是介绍这些基础类的操作,而是从一个大的架构方面阐述Socket的快速开发工作,本篇以TCP模式进行Socket程序的开发介绍,以期达到抛砖引玉的目的。 阅读全文

posted @ 2009-12-13 14:37 伍华聪 阅读(7549) 评论(8) 推荐(3) 编辑

2009年11月29日

WinForm界面开发之酒店管理系统--控件篇

摘要: 在上篇《WinForm界面开发之酒店管理系统--开篇》中介绍了一些界面的东西,本篇开始抽丝剥茧,细致分析里面的控件组成,并公布相关的控件资源,以飨读者。 本篇主要介绍按钮控件以及房间状态视图的控件开发思路,希望抛砖引玉能,给各位读者的思绪及灵感有一个引桥般的铺垫。 阅读全文

posted @ 2009-11-29 22:52 伍华聪 阅读(15083) 评论(9) 推荐(2) 编辑

WinForm界面开发之酒店管理系统--开篇

摘要: 星移斗转,时光似箭,不知不觉中,酒店管理系统的开发从开始到现在的结束,已经2个月了,2个月的业余时间,2个月的生活情趣,都寄托在这个软件当中,经历了各种艰苦和困惑,终于得以修成正果---深田之星酒店管理系统的顺利发布。技术的历程是一个开拓进取、攻克难题的历程,其中有困惑也有兴奋,有苦涩也有甜蜜, 在这个过程中,再一次检阅了我的Database2Sharp代码自动生成的开发工具的,再一次从“深田之星送水管理系统”进行升华,技术从来没有尽头,只有不断完善,以及不断的超越和创新。在这个过程中,总会产生一系列的Q&A,碰到了一个难题,如何寻找相应的解决方法,就是非常有趣的问题了。 写这个随笔的初衷主要不是宣传我做的软件,而是有感而发,感随物现,介绍在其中历程的一些思考和解决方法,介绍做这个酒店管理系统的一些界面和非界面,代码和非代码的东西,和大家做一个交流,希望大家能我从言之无物、略表空洞的文章中捡趣拾遗,略受启发。言毕,晒上所做东西,在继续....... 阅读全文

posted @ 2009-11-29 15:18 伍华聪 阅读(22151) 评论(41) 推荐(3) 编辑

上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 45 下一页

导航