摘要: .net提供了对流的非常好的支持,各种类型的流,常用的Reader和Writer,对于初学者可能会觉得迷茫,我也是其中一位,经过查阅msdn和练习,总结了以下图例。总的来说,按流的读写方向分为外部源和程序,存储器和文件字符串都是外部源,凡是字节内容的都是程序。这点不难理解,c#处理的基本单位就是字节。从内部到外部叫做读取,从外部到内部叫做写入。基本流,缓冲,网络流,文件流以及内存流都是字节流。字符是为了方便人阅读的,二进制是方便存储的,文本是字符串的进一步概括,这些对程序来说是外部源。那么图解如下,高手莫笑,有错请指出。 阅读全文
posted @ 2012-09-08 10:30 二师弟tl 阅读(1104) 评论(0) 推荐(0)
摘要: 先上效果图:饼图:条形图:通过在网上找资料,自己稍微整理下,注释配代码如下:1、画饼图的全部代码/// <summary>/// 根据四率 得到扇形图/// </summary>/// <param name="width"></param>/// <param name="heigh"></param>/// <param name="r">饼图半径</param>/// <param name="familyName&q 阅读全文
posted @ 2012-07-11 14:18 二师弟tl 阅读(12493) 评论(0) 推荐(3)
摘要: 逻辑与 &&按位与 &我们知道true&&false==falsetrue&false==false甚至msdn上的例子 ,上面这种情况也混用。为了说明不能混用,得举一个反例。通常建议if(条件) 中的条件使用逻辑与,而不是按位与,理由有二:一是语义(同事这么跟我说的),二是请看下面的例子(我发现的)public class entity{ public bool? b;}entity e=new entity{b==null};(1)if(entity.b.hasvalue&&entity.b.value)//正常{}但是(2) 阅读全文
posted @ 2012-07-11 14:16 二师弟tl 阅读(2326) 评论(0) 推荐(0)
摘要: 一直在做基于权限安全和状态的管理程序,发现2的N次方这类数字很有用。因为可以方便进行逻辑运算。有时候需要验证一个数是否是2的N次方:今天写了一个方法觉得很好玩,当然我是菜鸟,大侠们看见了飘过即是 static bool CheckNumIfIsNPowerOfTwo(ulong Num) { Console.WriteLine(DateTime.Now.Millisecond); if (Num == 0) return false; byte state = 0;//该值实际不会超过63 for (int i = 0; i < 64; i++)//循环64次 { if (Num - 1 阅读全文
posted @ 2012-06-14 11:38 二师弟tl 阅读(710) 评论(5) 推荐(0)
摘要: 在这篇wpf教程中,如果选用浏览器wpf应用程序模板我遇到了 访问数据库时权限不够 不能打开连接将项目属性的安全性中设置为完全信任后即解决 阅读全文
posted @ 2012-03-29 16:39 二师弟tl 阅读(401) 评论(0) 推荐(0)
摘要: 一直以来,找安装程序的msi源文件路径得到的都是“system32”的路径,安装程序做完了,学习WIX的时候发现了方法,并已经测试成功了。网上有很多获取源文件路径的方法,比如1、扫描当前所有进程,获取meiexec进程的路径2、获取当前程序的路径3、获取发起当前进程的路径事实上这些路径都不是msi的路径。那么:怎么获得msi文件的路径?切换到“自定义视图界面”,打开“自定义操作”属性界面中customactionData属性填入/Sdir=[SourceDIR],然后在安装方法中写上string sdir=Context.Parameters["SDIR"];注意:1、/S 阅读全文
posted @ 2012-03-23 17:22 二师弟tl 阅读(1018) 评论(5) 推荐(1)
摘要: 我们知道目标平台是32位的程序运行在64位的系统上,去访问部分注册表的时候系统自动重定向到win32node节点对应的项去了。但是做过安装程序开发人员可能遇到过“需要去掉重定向”的问题,即直接访问64位程序的注册表。网上有很多winAPI的方法,关闭注册表的重定向稍微复杂。(关闭文件系统的重定向稍微简单些,搬过来就可以用;关闭注册表的重定向我现在没看懂。)我这里提供的方法不需要关闭重定向,也不需要用winAPI,操作起来方便了许多。具体如下: 第一个方法是获得根节点的句柄,常数是固定的。 static IntPtr GetHiveHandle(RegistryHive hive) ... 阅读全文
posted @ 2012-02-26 17:54 二师弟tl 阅读(3984) 评论(5) 推荐(4)
摘要: 网上有一些这样的方法,但我这里主要做一些对比和扩充网上这方面的文章的岁数比较大,server 08R2和win7出来后,整理这方面的资料的文章没找到,所以这里将我的经验跟大家分享下首先说下08R2,08R2和win7附带的iis的版本是7.5,而之前的server08和vista附带的版本是7.0。这里主要说3个命令的区别:在上述系统中添加iis一般离不开这几个命令:pkgmgr,servermanagercmd,dism我东拼西凑然后实践证明:7.5版本的用dism;server08用servermanagercmd;而几乎只要不是08R2都可以用pkgmgr下面分别说下这几个命令的优缺点: 阅读全文
posted @ 2012-02-04 14:48 二师弟tl 阅读(3675) 评论(2) 推荐(4)
摘要: '该函数获得正文二进制。奇怪的是获得的二进制不能写入ado流中function getContentByte(formdata)FirstSeparator=leftb(formdata,instrb(formdata,chrb(13)&chrb(10))-1)'文件流中的分隔符LastSeparator=rightb(formdata,instrb(formdata,chrb(13)&chrb(10)))'最后一个分隔符response.BinaryWrite formdataresponse.Write "<br>"r 阅读全文
posted @ 2011-12-12 22:08 二师弟tl 阅读(321) 评论(0) 推荐(0)
摘要: 在js语法中,var关键字使用与否,都能声明变量。但是创建一个对象并同时赋值给变量时,在IE9中,var不能省;但是Chrome中正常。<html><head><script type="text/javascript">function startTime(){var today=new Date()//这里如果去掉var,IE9中将不显示时钟;但是Chrome中正常。var h=today.getHours()var m=today.getMinutes()var s=today.getSeconds()// add a zero i 阅读全文
posted @ 2011-11-18 16:21 二师弟tl 阅读(1517) 评论(0) 推荐(0)