XuGang

记录一个程序员的成长

 

随笔分类 -  DotNET

1 2 3 下一页

使用SerialPort 对象实现串口拨号器通信[下]
摘要:定义 ModemManager 调度管理类ModemManager 类用于对所有 Modem 对象进行管理和调度使用。ModemManager 类代码如下:using System;using System.Collections.Generic;using System.Text;using System.IO.Ports;using System.Threading;namespace RequestResponse001CS{ // 拨号器管理者 public class ModemManager { //已经安装了拨号器的串口对象 priv... 阅读全文

posted @ 2013-05-13 16:24 钢钢 阅读(1498) 评论(2) 推荐(1) 编辑

使用SerialPort 对象实现串口拨号器通信[上]
摘要:首先,定义 CommandInfo结构体结构体 CommandInfo 用于保存当前 AT 指令的相关信息,代码如下: enum CommandDirection { None = 0, Read = 1, Write = 2 } enum CommandKey { None = 0, AT = 1, ATD = 2, ATH = 3, AT_CFUN = 4 } struct CommandInfo { public... 阅读全文

posted @ 2013-05-13 15:51 钢钢 阅读(2699) 评论(0) 推荐(1) 编辑

考勤表生成工具介绍及使用说明
摘要:为了方便公司的普通员工,简化每个人每个月的个人考勤记录数据核对工作,特地抽出空余时间制作本考勤表生成工具,以方便本公司广大草根阶层,节省琐碎和无辜的时间浪费!一、工具界面考勤表生成工具的设计界面与使用说明如下图所示:二、生成结果生成的 Excel 考勤表结果如下图所示:三、工具特性优点:1、本工具只需要添加个人信息、异常考勤记录即可,无需填写正常考勤的数据,简化了录入操作;2、本工具根据使用者本人操作系统的日期,自动计算和显示当月的日期数据,简化了日期的选择;3、本工具根据用户的数据,自动生成Excel 考勤记录表,省去了表格制作和手动填充数据的事宜;4、本工具为绿色版本,无需安装,没有多余. 阅读全文

posted @ 2013-03-19 11:54 钢钢 阅读(4352) 评论(3) 推荐(0) 编辑

Modbus RTU 通信工具设计
摘要:Modbus 是一个工业上常用的通讯协议、一种通讯约定。ModBus 协议是应用层报文传输协议(OSI 模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。ModBus 协议能够应用在不同类型的总线或网络。对应不同的总线或网络,Modbus 协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。目前,Modbus 有下列三种通信方式:1. 以太网,对应的通信模式是Modbus TCP。2. 异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是 Modbus RTU 或 Modbus ASCII。 阅读全文

posted @ 2012-12-13 10:09 钢钢 阅读(21259) 评论(7) 推荐(2) 编辑

使用C# 实现串口拨号器的SIM卡通信[修正版]
摘要:在第一版 使用C# 实现串口拨号器的SIM卡通信 的代码中,存在一些实际的问题,经过反复测试和实际使用,对原代码进行了一些改进。首先,博客园的ㄟ荖樹炪厊ㄖ同学提出将拨号指令ATD发出后,不必使用 Thread.Sleep(20 * 1000) 方法等待20秒后进行挂机,而改用AutoResetEvent来处理,不必让线程死等,也能提高你程序的性能。但修改后效果并不理想,还是使用Thread.Sleep(20 * 1000) 方法快捷实用。其次,由于拨号器以及服务器等硬件设备的差异,导致反馈信息的速度不一致,以前采用Thread.Sleep() 方法绑定固定秒数然后查看返回信息的方式存在一定的问 阅读全文

posted @ 2012-09-19 16:06 钢钢 阅读(1765) 评论(7) 推荐(0) 编辑

使用C# 实现串口拨号器的SIM卡通信
摘要:写此博客意为抛砖引玉,希望能和博客园的朋友们探讨一下关于.NET 在工业方面的应用,包括:物联网、无线通信、嵌入式开发、工业控制等等。欢迎探讨,多多指教!^_^下面是我在开发中,使用C#代码实现对安装在COM 串行端口上的SIM卡拨号器的拨号调度程序。应用场景:在使用新能源的风光互补路灯远程管理系统中,通信服务器需要通过无线通信方式唤醒上位机。> 上位机中内置GPRS 无线上网卡,被安装在风光互补路灯中。> 通信服务器上扩展出4个COM 串行端口,分别安装有:西门子C35TS 拨号器和西门子MC52I 拨号器。使用需求:> 监控中心跟上位机进行通信前,对没有连接上的上位机先使 阅读全文

posted @ 2012-08-23 16:29 钢钢 阅读(7260) 评论(26) 推荐(16) 编辑

我的INI 配置文件读写动态库
摘要:工作需要,今天上午花时间看了一下INI 配置文件的相关文章,并添加到项目中。后来想想,干脆封装成DLL 动态库,并提供给大家使用,顺便更新一下博客。^_^INI 配置文件的格式 在早期的Windows 桌面系统中,主要是用INI 文件作为系统的配置文件,从Win95 以后开始转向使用注册表,但是还有很多系统配置是使用INI 文件的。其实,INI 文件就是简单的text 文件,只不过这种txt 文件要遵循一定的INI 文件格式。“.ini” 就是英文 “initialization” 的头三个字母的缩写;当然INI file 的后缀名也不一定是".ini"也可以是" 阅读全文

posted @ 2012-03-21 13:44 钢钢 阅读(6009) 评论(4) 推荐(4) 编辑

关于ASP.NET 将数据导出成Excel 的总结[补充]
摘要://打开一个空的ExcelMicrosoft.Office.Interop.Excel.Applicationapp=newMicrosoft.Office.Interop.Excel.Application();app.Workbooks.Add(true);app.Visible=true;//打开一个已经存在的Excel文件Microsoft.Office.Interop.Excel.Applicationapp=newMicrosoft.Office.Interop.Excel.Application();app.Workbooks.Add(路径和文件名);app.Visible=tr 阅读全文

posted @ 2012-02-08 00:58 钢钢 阅读(1366) 评论(2) 推荐(0) 编辑

子角色权限的实现
摘要:(1)子角色的分类子角色分为三类:字段值、字段、数据表。下面就三类子角色的实现进行说明。(2)字段值类(数据行)子角色的实现如上图所示,是子角色2的字段值类子角色权限的记录。RITEM是“资源项”字段。字段类的“资源项”的编码规则为第1位是大写英文字母“V”,表示资源类型,属于第一部分。随后的一位或者多位大写字母表示数据表简码,是属于第二部分。比如上图的“VI12”和“VI17”的第2位是“I”, 该数据表简码I,从T_ZK_RESOURCE资源表查到是T_ZK_PROJECT 项目表。最后的一位或者多位数字表示该资源顺序号,是属于第三部分。比如上图的“VI12”和“VI17”的数字12和数字 阅读全文

posted @ 2012-02-03 11:55 钢钢 阅读(1247) 评论(0) 推荐(0) 编辑

定义简单的反射工厂示例
摘要:首先,定义一个水果抽象类,代码如下:classFruit{//定义虚方法publicvirtualvoidEating(){Console.WriteLine("水果有各种吃法。。。");}}然后,实例化几个水果类,代码如下:classBanana:Fruit{publicoverridevoidEating(){Console.WriteLine("香蕉扒皮吃。。。");}}classOrange:Fruit{publicoverridevoidEating(){Console.WriteLine("橘子剥皮吃。。。");}}cla 阅读全文

posted @ 2011-05-20 13:27 钢钢 阅读(2275) 评论(7) 推荐(5) 编辑

收藏.NET 技术社区
摘要:摘自:圣殿骑士 的.NET 技术社区谈之英文篇和.NET 技术社区谈之中文篇 英文社区: 名称:MSDN 地址:http://msdn.microsoft.com/zh-cn/default.aspx 描述:这个网站是大家学.Net的初始网站,也是.net方面官方和权威的资料,相信大家都知道或经常访问这个网站。即是初学者的最佳资料, 同时也是中高级开发者的参考资料。同时里面还包括很多视频、library、每月技术杂志、社区等。 名称:CodeProject 地址:http://www.codeproject.com 描述:分类十分的清晰,同时涵盖了.net技术的方方面面,最关键的是它的基本所. 阅读全文

posted @ 2011-03-29 00:47 钢钢 阅读(1214) 评论(1) 推荐(0) 编辑

XML 与DataSet 对象的关系
摘要:在.NET Framework 中,经常使用XML 作为存储和传输各种数据的格式。DataSet 中的数据可以转换成XML 的形式来表示和存储。我们可以使用XML 对象同步和转换DataSet 的数据,而DataSet 也可以存储和传输XML 格式的数据。 XML 与 DataSet 的关系如下图所示: DataSet 对象的常用方法如下:A. 使用ReadXml( ) 方法:从文件或流中加载XM... 阅读全文

posted @ 2010-09-16 12:35 钢钢 阅读(5010) 评论(9) 推荐(4) 编辑

使用 data URI scheme 在网页中内嵌图片[转]
摘要:data URI scheme 允许我们使用内联(inline-code)的方式在网页中包含数据,可以在Html、CSS、Javascript 等中使用。 data URI scheme 经常用来将图片嵌入网页,使用如下: <img alt="鹤冲天的头像(您的浏览器不支持 data URI scheme,图片无法显示)"src="data:image/jpeg;base64,/9j/4AA... 阅读全文

posted @ 2010-09-14 17:38 钢钢 阅读(2005) 评论(3) 推荐(0) 编辑

C# 根据反射和特性实现ORM 映射[学习]
摘要:(一)关于反射什么是反射?反射就是在运行时,动态获取对象信息的方法。比如:运行时获得对象有哪些属性,方法,委托等。反射的作用? 能够实现运行时,动态调用对象的方法,以及动态设置、获取属性值等。反射的示例: usingSystem; usingSystem.Reflection; namespaceCS_Test { publicclassMyStudent { privatestringsName... 阅读全文

posted @ 2010-08-07 12:57 钢钢 阅读(5257) 评论(2) 推荐(1) 编辑

测试ASP_NET 生命周期
摘要:抽空看了一下博主GodSpeed 的《ASP.NET应用程序生命周期趣谈系列》的三篇文章,讲解得不错。尤其是第三篇文章 ASP.NET应用程序生命周期趣谈(三) HttpModule 的后半段,让我收获颇多,顺便自己也做了一个Demo 进行测试。 首先:我在Web.config 配置文件中,分别在 <httpHandlers> 和 <httpModules> 节点添加了自... 阅读全文

posted @ 2010-07-14 16:21 钢钢 阅读(2180) 评论(4) 推荐(1) 编辑

WinForm 窗体间传递数据的一些方法[转]
摘要:方法一 在子窗体中自定义一个构造函数,参数类型是主窗体,当要显示子窗体的时候,就用这个构造函数来实例化子窗体,然后把this指针传进去。代码如下:主窗体.cs[代码]子窗体.cs子窗体.csCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--publicc... 阅读全文

posted @ 2010-06-29 12:40 钢钢 阅读(5448) 评论(4) 推荐(1) 编辑

关于页面逐步呈现的总结
摘要:分块编码 ( chunked encoding )就是让 response 分块编码进行传输。response 分块编码,可以先传输一部分不需要处理的 html 代码到客户端,等其他耗时代码执行完毕后再传输另外的 html 代码。详细介绍,请参考:高性能 WEB 开发(11) - flush 让页面分块,逐步呈现假设有一个页面,一开始显示 cnblogs 的 logo 图标,3 秒钟后显示 csd... 阅读全文

posted @ 2010-06-22 15:24 钢钢 阅读(1206) 评论(2) 推荐(0) 编辑

WinForm 之Control.Invoke 和Control.BeginInvoke 方法的使用
摘要:Control 不能在创建它的 Thread 之外被调用。但可以通过 invoke 来保证 Control 线程安全。在跨线程更新的时候,Control 会检查 CurrentThread 是否为创建 Control 的线程,并报错!示例代码如下:示例代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://w... 阅读全文

posted @ 2010-06-05 14:00 钢钢 阅读(6925) 评论(2) 推荐(0) 编辑

在C# 中如何让T-SQL 包含敏感的嵌入参数
摘要:在项目需求中,根据用户从文本框输入的表名,查询该表的记录数。初步代码如下: string sql = "select * from " + txtTableName.Text.Trim(); // txtTableName 是文本框但这样有可能导致T-SQL注入式攻击,于是更改代码如下: string sql = "select * from @tb_name"; cmd.Parameters.A... 阅读全文

posted @ 2010-06-04 13:10 钢钢 阅读(2279) 评论(7) 推荐(1) 编辑

C# 实体类生成工具
摘要:我知道:这类工具在网上已有不少。但下载后一试用,很是不爽! 要么过于庞大,使用起来比较复杂,似乎杀鸡焉用牛刀; 要么太过简单,使用起来难以满足我的需求。而此工具要做到既小巧,又实用,可谓之“众里寻他千百度,摆渡百度无觅处” ^_^No way out, do it yourself ! so, 有了下文 。。。根据实际需求,站在用户角度,编写了此工具。本人之此工具,不可谓... 阅读全文

posted @ 2010-05-19 18:14 钢钢 阅读(26587) 评论(130) 推荐(12) 编辑

1 2 3 下一页

导航