摘要: 这段时间做了一个和硬件设备通信的小项目,涉及到扫描头、输送线、称重机、贴标机等硬件。和各设备之间通信使用的是串口或网络(Socket)的方式。扫描头和贴标机使用的网络通信,输送线和称重机使用的是串口通信。 串口通信,以前一直觉得神秘,没想到用起来却这么简单。当然,这样简单要归功于 .NET 对其操作的封装。 .NET 里提供了专门操作串口的类 System.IO.Ports.SerialPort,可以操作串口收发数据。只需要 new 一个对象,简单配置一下相关属性,就可以使用串口收发数据了。 SerialPort 类常用的属性有 PortName、BaudRate、DataBits、... 阅读全文
posted @ 2013-09-17 13:42 小浩叔叔 阅读(18612) 评论(16) 推荐(6) 编辑
摘要: 从 N 久前写的代码中淘到以前写的一些加密解密的代码,简单整理成一个类,做了一个加密解密的小工具,可以实现MD5加密,DES加密解密,RSA加密解密。 使用的是 System.Security.Cryptography; 命名空间提供的相关类。 运行效果如图:源代码下载:http://files.cnblogs.com/zhhh/Encoder.zip源码是 VS2008 项目,有差不多详细的注释。初学者可以参考学习。 阅读全文
posted @ 2013-04-13 14:22 小浩叔叔 阅读(26692) 评论(5) 推荐(2) 编辑
摘要: 软件要越来越人性化,就要代替人干很多事情。软件干的事情越多,程序设计就越来越复杂。程序越来越复杂,Programer 就有义务使程序尽可能的 Simple。 当然,这个 Simple 并不是简化需求来使代码量减少,而是运用智慧,使代码达到“繁而不乱”的效果。 对,繁而不乱,这是艺术! 为什么要求代码“繁而不乱”?这要从代码的使用角度说起。 代码,说白了,是一种人与计算机交互的语言,它的使用对象有两个:计算机,和人。 语言的作用是传递信息,而语言最根本的原则就是便于理解。 做为计算机语言,特别是现在流行的这些高级计算机语言,能不能被计算机阅读和理解,强大的开发工具随时都会告诉你。... 阅读全文
posted @ 2012-08-26 02:04 小浩叔叔 阅读(2537) 评论(11) 推荐(2) 编辑
摘要: 蛋疼之余,写了一个小程序,用于在页面中管理当前 Web 站点下的所有文件。可以对所有文件和文件夹执行重命名、删除等功能,也可以创建目录,上传文件,下载文件等。不废话,先看效果:贴代码:FileManager 1 <!-- 2 Author: 张浩华 3 DateTime: 2012-07-06 03:25 4 ------------------------------------------------- 5 管理Web站点下文件的页面程序。 6 提供上传、重命名、删除、创建文件夹、下载等功能。 7 --------------------------------------... 阅读全文
posted @ 2012-07-06 03:42 小浩叔叔 阅读(1726) 评论(2) 推荐(0) 编辑
摘要: 这两个计划写一个小类库,需要在不同项目下任意调用。该类库需要对磁盘文件进行读写,所以就需要获取程序执行的磁盘路径,就简单的对获取磁盘路径的方法进行研究。 借助搜索引擎,我从网上搜罗来多种方法,都可以直接或间接的获取到应用程序执行的根目录。大概总结一下,一共有以下 11 种: Server.MapPath("~") //使用 HTTP 上下文中的 Server 对象来获取Web站点的根目录 System.AppDomain.CurrentDomain.BaseDirectory //使用应用程序域对象获取当前线程的应用程序域的基准目录 System.AppDo... 阅读全文
posted @ 2012-06-30 18:53 小浩叔叔 阅读(10047) 评论(2) 推荐(0) 编辑
摘要: C# 提供了一个很 NB 的机制:扩展方法。它可以让用户根据需要在类的外部为指定的类添加一些操作方法,而且这些方法和普通的实例方法使用起来完全一样(都是通过类实例调用)。 C# 的扩展方法使用起来也非常简单。比如我们要为系统里最常用的 string 类添加一个方法 Jump,则可以使用以下方式:1 static class Class12 {3 public static string Jump(this string s)4 {5 return s + " jump!";6 }7 } So... 阅读全文
posted @ 2012-06-06 23:50 小浩叔叔 阅读(1301) 评论(1) 推荐(1) 编辑
摘要: 初接触编程,确实感觉它抽象,而且很多时候觉得抽象的让人蛋疼。 以变量为例,最初还只是简单的数值,这很容易让人理解。可自面向对象思想流行以后,变量又引入了引用类型。突然之间,许多人又开始蛋疼起来。 其实,对变量而言,变量只是变量,引用类型的变量只是在使用变量存取数值的时候进行了一些稍复杂一点的处理——从以前的直接取值到从其值所表示的内存地址找相应的对象取值。 打个比方,将我作为一个主体。//我的年龄是多少?MyAge=24//我的体重是多少?MyWeight=70//我的上衣是什么颜色?TheColorOfMyJacket=黑色 这是值类型,很简单,很早以前我们在小学数学里就接触过了... 阅读全文
posted @ 2011-12-28 20:26 小浩叔叔 阅读(2748) 评论(2) 推荐(4) 编辑
摘要: 在工作中的项目使用的是一个前端基于 jQuery easyui 的一个系统,其中左侧的主菜单使用的是 easyui 中的 tree 组件,不是太熟悉,不过感觉不是太好用。比如 easyui 中的 tree 需要单击分叉节点前的小三角,才能够展开或关闭节点。另外,它还必需要求浏览器在兼容模式下才能正常使用(这个项目中使用的 easyUI 是 1.2.2 版本,新版的 Tree 不存在该问题),很是不方便。想修改又无从下手,所以有单独写一个简单的树形菜单的想法,趁下班的时间,抽空写了一个简单的JS文件,基于jQuery1.6版本的 SimpleTree。SimpleTree使用起来比较方便,它实现 阅读全文
posted @ 2011-11-25 20:50 小浩叔叔 阅读(109718) 评论(14) 推荐(5) 编辑
摘要: 昨天在某位大仙博客上看到他在BS那些前端水平差的浮燥人士,BS那些“连用原生JS写拖放效果的能力都没有的人”。怕被BS,这里小写一个拖放效果练习一下。。。这里贴出代码:js/move.js 文件//将一个绝对定位的对象封装成可拖动对象function MoveControl(c){ /* 考虑浏览器兼容性,这里编写一个获取事件对象的公共方法 */ c.getEvent=function(e){ if(!e){ e=event; e.pageX=event.x; e.pageY=event.y; ... 阅读全文
posted @ 2011-11-16 09:39 小浩叔叔 阅读(477) 评论(0) 推荐(2) 编辑
摘要: 又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了。因为它们都在逻辑上将应用程序划为三块,凑了一个数字3,就有人非要把它们联系到一起了。 这两个东西我接触有几年了,有一点体会,表达一下: 三层是三层,MVC是MVC,它们毫无关系的。三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层)。 三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑。 比如将数据库操作代码封装到一层中,提供一些方法根据参数直接返回用户需要的相应数据,这样在处理具体的业务逻辑的时候,就不用关心数据的存储问题了。MVC是在... 阅读全文
posted @ 2011-06-10 12:41 小浩叔叔 阅读(11860) 评论(20) 推荐(3) 编辑