- 浏览: 275360 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
weituotian:
这篇文章真的很好阿
C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 -
clshuai:
博主,你好,看了你的这篇文章,让我很敬佩。可谓内容之全,涵盖范 ...
C#操作Excel -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题
#region 用回车键替换Tab private void AccessoryInfo_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { if ((this.ActiveControl is TextBox)) SendKeys.Send("{TAB}"); e.Handled = true; } } #endregion
//字符串右对齐不够2位的用'0'填充 PadLeft(2, '0') //在类前面加 [Serializable]表示类可以被序列化 [Serializable]
//压缩 using System.IO.Compression; public static void Compress(Stream source, Stream dest, int size) { source.Position = 0; dest.Position = 0; using (GZipStream zipStream = new GZipStream(dest, CompressionMode.Compress, true)) { byte[] buf = new byte[size]; int len; //把source中的内容读到buf中 while ((len = source.Read(buf, 0, buf.Length)) > 0) { //把buf中的内容写到zipStream中并压缩 zipStream.Write(buf, 0, len); } } }
//解压 public static void Decompress(Stream source, Stream dest, int size) { source.Position = 0; dest.Position = 0; using (GZipStream zipStream = new GZipStream(source, CompressionMode.Decompress, true)) { byte[] buf = new byte[size]; int len; while ((len = zipStream.Read(buf, 0, buf.Length)) > 0) { dest.Write(buf, 0, len); } } }
//把内存流写到文件 #region WriteToFile public static void WriteToFile(MemoryStream mem, string fileName) { long pos = mem.Position; mem.Position = 0; using (FileStream file = new FileStream(fileName, FileMode.Create)) { mem.WriteTo(file); file.Close(); } mem.Position = pos; return; } #endregion
//把字节数组写到文件 #region WriteToFile public static void WriteToFile(byte[] data, string fileName) { using (FileStream fileStream = new FileStream(fileName, FileMode.Create)) { fileStream.Write(data, 0, data.Length); fileStream.Close(); } } #endregion
//序列化并压缩一个对象 public static byte[] Pack(object obj) { byte[] ret; BinaryFormatter formatter = new BinaryFormatter(); using (MemoryStream stream1 = new MemoryStream()) { formatter.Serialize(stream1, obj); using (MemoryStream stream2 = new MemoryStream()) { Compress(stream1, stream2, 4096); ret = stream2.ToArray(); } } return ret; }
//解压缩、反序列化并得到一个对象 public static object UnPAck(byte[] data) { object obj; using (MemoryStream stream1 = new MemoryStream()) { stream1.Write(data, 0, data.Length); using (MemoryStream stream2 = new MemoryStream()) { Decompress(stream1, stream2, 4096); BinaryFormatter formatter = new BinaryFormatter(); stream2.Position = 0; obj = formatter.Deserialize(stream2); } } return obj; }
//根据指定的开始位置和长度解压和反序列化一个字节数组并返回一个对象 public static object UnPAck(byte[] data, int offset, int len) { object obj; using (MemoryStream stream1 = new MemoryStream()) { stream1.Write(data, offset, len); using (MemoryStream stream2 = new MemoryStream()) { Decompress(stream1, stream2, 4096); BinaryFormatter formatter = new BinaryFormatter(); stream2.Position = 0; obj = formatter.Deserialize(stream2); } } return obj; }
//计算字符串的MD5码 public static string MD5Digest(string str) { string pwd = ""; if (str != "") { MD5 inst = MD5.Create(); // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 byte[] s = inst.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str)); // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得 for (int i = 0; i < s.Length; i++) { // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 pwd = pwd + s[i].ToString("X2"); } } return pwd; } //X2中的X表示十六进制,2表示每次按2位输出,例如:两个数10和26,正常情况十六进制显示0xA、0x1A,这样看起来不整齐,为了好看,我们可以指定X2,这样显示出来就是:0x0A、0x1A。
//计算一字节数组的MD5码 public static string MD5Digest(byte[] data) { string pwd = ""; if (data.Length > 0) { MD5 inst = MD5.Create(); byte[] s = inst.ComputeHash(data); for (int i = 0; i < s.Length; i++) { // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 pwd = pwd + s[i].ToString("X2"); } } return pwd; }
//根据指定的开始位置和长度就算以个字节数组的MD5码 public static string MD5Digest(byte[] data, int offset, int len) { string pwd = ""; if (data.Length > 0) { MD5 inst = MD5.Create(); byte[] s = inst.ComputeHash(data, offset, len); for (int i = 0; i < s.Length; i++) { // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 pwd = pwd + s[i].ToString("X2"); } } return pwd; }
//对称加密 public static string EncryptDiy(string a_strString, string a_strKey) { try { byte[] keyArr = System.Text.Encoding.UTF8.GetBytes(a_strKey); byte key1 = 0; for (int i = 0; i < keyArr.Length; i++) { key1 = (byte)(key1 ^ (keyArr[i])); } byte[] valArr = System.Text.Encoding.UTF8.GetBytes(a_strString); for (int i = 0; i < valArr.Length; i++) { valArr[i] = (byte)((valArr[i]) ^ key1); } return Convert.ToBase64String(valArr); } catch { return ""; } }
//对称解密 public static string DecryptDiy(string a_strString, string a_strKey) { try { byte[] keyArr = System.Text.Encoding.UTF8.GetBytes(a_strKey); byte key1 = 0; for (int i = 0; i < keyArr.Length; i++) { key1 = (byte)(key1 ^ (keyArr[i])); } byte[] valArr = Convert.FromBase64String(a_strString); for (int i = 0; i < valArr.Length; i++) { valArr[i] = (byte)(key1 ^ (valArr[i])); } return System.Text.Encoding.UTF8.GetString(valArr); } catch { return ""; } }
//保留2为小数(四舍五入) private int GetIntVal(string str) { try { const int digit = 2; double value = (double)Convert.ToDecimal(str); double vt = Math.Pow(10, digit); double vx = value * vt; vx += 0.5; return (int)Math.Floor(vx); } catch { return 0; } }
发表评论
-
获取批处理文件路径
2010-12-08 20:36 787@echo off echo 该批处理文件: echo 所 ... -
预览文章: asp.net 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证
2010-07-01 15:56 1472异常详细信息: System.ArgumentExceptio ... -
改变交叉表的行标题和列标题
2010-06-30 12:57 914以后写 -
ASP.NET中如何实现FORM认证登录
2010-06-14 13:55 1726如何运用 Form 表单认证 ... -
重新注册asp.net 2.0
2010-06-14 10:58 1090运行 C:\WINDOWS\Microsoft.NET\Fra ... -
发布到IIS后水晶报表的图片显示不了
2010-06-13 18:40 1867原因:没有安装 Crystal Report ... -
网站的预编译
2010-05-30 02:55 8861、找到aspnet_compiler.exe的路径 ... -
VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件
2010-05-30 01:39 18301.新建一ASP.NET网站2.利用aspnet_compil ... -
获取正在执行的方法的信息
2010-04-28 10:30 954System.Diagnostics.StackTrace ... -
log4net在winforn中的使用
2010-04-26 18:54 9331、新建一个面目 2、添加引用(添加log4net.dll的 ... -
上传图片
2010-04-11 23:45 939using System; using System.Col ... -
常用代码
2010-04-11 23:23 836//添加连接 第一个<appSetting/>后 ... -
连接数据库代码
2010-04-11 23:22 662//添加连接 第一个<appSetting/>后 ... -
数据库操作代码
2010-04-11 23:17 898/****************************** ... -
在中文版VS 08中安装MVC
2010-03-10 20:21 1485看到微软MIX08大会的产 ... -
编程遍历页面上所有TextBox控件并给它赋值为string.Empty
2010-03-09 12:44 1774foreach (System.Windows.Forms.C ... -
图表的绘制
2010-02-26 17:12 743//图表的绘制兵保存为gif格式 int height ... -
ViewState与Session
2010-01-17 05:40 1348昨天偶然看到网上有人讨论究竟是该用viewstate还是ses ... -
后台调用前台的js
2010-01-05 01:24 2155(1)在类似于onload的初始化过程中添加Attribute ... -
前台调用后台代码
2010-01-05 01:09 1476(1)在后台写一个名为GetString()的方法: pu ...
相关推荐
GPS数据传输协议 课程设计上用到过
客户端和服务端互传数据,测试传输效率,1、使用tcp传输,服务端比较复杂用到了epoll,客户端用select
基于VB的网络数据传输、聊天室毕业论文 基于Visual Basic的网络数据传输,。在本文中简单介绍了网络数据传输的相关协议,如TCP/IP协议和UDP协议;在实现过程中用到的核心控件,如Winsock控件和MSComm控件;介绍了利用...
在微机测控系统中, 经常要用到A/D 转换, 常用的方 法是扩展一块或多块A/D 采集卡, 当模拟...一种串行数据采集串行数据传输的方式。经实践调试证 实, 该模块功耗低、采样精度高、可靠性好、接口简便, 有 一定实用价值。
用于数据的传输和发送,用到FIFO的传输
记录温度变化曲线的android程序,单片机采集到温度信息通过蓝牙传输到手机,用到SQLite储存数据,mpchart描绘曲线,可以用于学习蓝牙传输 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,...
单片机开发者在编制各种应用程序时经常会遇到实现精确延时的问题,比如按键去抖、数据传输等操作都要在程序中插入一段或几段延时,时间从几十微秒到几秒。有时还要求有很高的精度,如使用单总线芯片DS18B20时,允许...
本书分为四部分,共22章,高屋建瓴地阐述了在大型组织环境中,不同计算机系统之间传输数据,以及将异构数据进行集成所用到的技巧、技术和最佳实践,内容涵盖数据集成导论、批处理数据集成、实时数据集成和大数据集成...
介绍了所开发的一种应用于电力系统的故障录波数据传输系统。该系统的通信技术基于串口通信,实现了一种准确有效的串口通信报文,且具有断点续传和与其它进程共享串口资源的功能。介绍了系统的设计方案和所用到的关键...
随着无线通信技术的飞速发展,利用无线通信,解决偏远、无人和不方便铺设通信线缆地带的通信问题,越来越多的被用到各行各业,以解决各种实际需要。本课题就选择了GPRS作为无人职守地区传输气象资料的通信方式.GPRS...
数据通信以数据传输为基础,但又不是单纯的数据传输,它包括数据传输和数据交换,以及在传输前后的数据处理过程。 由于计算机在各个领域中都得到了非常广泛的应用,遥测、遥控、自控、雷达等领域都需要用到数据处理...
在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。 Intent传递数据时,如果数据太大,可能...
许多应用领域要用到单片机和机之间的无线数据传输, 本文论述了利用PTR2000实现单片机和PC机之间无线数据传输的原理和方法, 并给出了应用实例。
本文实例为大家分享了python实现udp传输...注意传输的数据是二进制流数据,所以要找方法把需要传输的数据编码成二进制码流,传过去之后再解码即可,这里我用到了opencv读取图片成numpy的array格式,然后编码,传输,最
名字为“使用winsock传输并显示图片的例” 它这个是显示接收到图片,而我的是txt文件。因为有的时候我们会把数据保存在txt文件中。当你想从txt文件中读取这些数据并曲线综合显示的话,可以用一用。这其中用到NTGraph...
串口通讯实现的文件传输和字符串传输 经过测试 最大只能传输5M的文件,实现很简单 ,是简单的文件读写没有用到所谓的数据的分包以及数据帧等内容,希望有帮助
从整个大数据的处理流程来看,数据预处理技术的水平决定了数据的真实性、 完整性,对后续的数据分析起到十分关键的作用,在预处理环节用到很多的数学方法, 本文接着重点阐述大数据预处理环节的相关数学变换与数学...
很多人对工业数据传输过程中用到的模拟量和开关量这两个词非常的陌生,不知道是什么意思。单单从字面上看,并不知道他们分别代表什么意思。在工业上经常是需要对这两个数据进行传输的,以便观察采集的数据以及设备...
在用PB进行开发时常常需要用到ftp功能,最典型的应用就是将数据窗口中的数据生成txt文件,然后将此数据文件用ftp发送到远程服务器上去。由于pb本身并未提供任何ftp的功能,因此想在pb中进行ftp传输,只能应用pb以外...
文件快传之基于C++ QT的Windows HTTP 服务器(用到QtWebApp,可以与客户端实现数据收发。这个是自定义文件传输软件系统的一部分-电脑的服务器端,可以在局域网内基于HTTP协议,实现电脑,安卓,网页浏览器三端数据...