随笔分类 -  技术随笔

1
乱七八糟的技术类文章
摘要:There are so many reason when we've to migrate our base-end database from MsSql to MySql. But I think the most one is the price. Since MySql is NOT free if you do not use it to develop a software under the GPL, but the cost of using MySql is much lower than MsSql. This is the same situation I've just met. There are many diffrences between MsSql and MySql so we need spend more time to investigate, research and trail migration. 阅读全文
posted @ 2007-09-18 15:40 妖居 阅读(1725) 评论(0) 推荐(0)
摘要:1、 将字节数组转化为数值public static int ConvertBytesToInt(byte[] arrByte, int offset){ return BitConverter.ToInt32(arrByte, offset);}2、 将数值转化为字节数组第二个参数设置是不是需要把得到的字节数组反转,因为Windows操作系统中整形的高低位是反转转之后保存的。public sta... 阅读全文
posted @ 2007-06-15 09:40 妖居 阅读(5188) 评论(1) 推荐(0)
摘要:插件功能给软件的使用者可以扩充软件功能的机会。我们不可能让软件适用于所有人,也不是所有的人都会出资帮助你实现他们的需求。插件功能提供了一个软件的高度可扩充性,允许用户作为软件的二次开发者,继续完善软件的功能。 本文通过模仿Visual Studio .Net Addin的实现方法来实现一个提供插件功能的软件。包括提供插件的软件制作、插件的制作一个相关的技术知识。 阅读全文
posted @ 2007-01-08 17:28 妖居 阅读(3352) 评论(18) 推荐(0)
摘要:DataGridView虽然好用,但是如果数据量比较大的话就会出现性能的问题。网上提供的一般做法是通过虚拟模式(Virtual Mode)来加速。但是有的时候,可以通过简单的设置来加速DataGridView。(1)使用绑定数据。就是通过加载DataTable然后通过BindingSource来和DataGridView.DataSource进行交互。(2)不要使用AutoSizeColumnsM... 阅读全文
posted @ 2006-12-12 10:47 妖居 阅读(2799) 评论(3) 推荐(0)
摘要:防止我们的软件被非法盗用,目前主要用两种办法:注册码、在线激活。目前微软都是使用在线激活的方法。不可否认这一方法目前来讲还是最难于破解的。因为所有的激活程序都是通过Web Service在服务器运行。但是缺点是目标机器必须能上网。而且要有一个24小时在线的服务器。而对于我们的小程序来说,没有必要这么兴师动众的。我们可以使用简单的“用户名+注册码”的办法。使用.NET自带的RSA算法的实现执行不对称加密和解密生成并验证注册码。 阅读全文
posted @ 2006-12-01 18:18 妖居 阅读(3062) 评论(5) 推荐(0)
摘要:在MSDN里面看到关于StreamReader.Peek 方法的解释,备注里面说Peek 不会更改 StreamReader 的当前位置。如果当前没有更多的可用字符,则返回值为 -1。 但是假设C:\CMSG.LOG文件一行内容超过1024字节后,运行下面的程序就会发现Peek之后,Position变成了1024了。但是此后如果再运行Peek就没有问题了,Position不会改变。难道MSDN说的... 阅读全文
posted @ 2005-09-27 09:42 妖居 阅读(1596) 评论(5) 推荐(0)
摘要:下载并注册了VB2005 Beta 2,得到了一个MS的E-Learning帐号。于是乎趁着闲暇看了里面的一本书《Introducing Visual Basic 2005》。依靠我CET4水平的英文总算是看完了,发现2005以前不知道的一些新特性。不敢独享,找了些个我觉得有趣的Post上来,大家可以看看。由于本人对ADO.NET和ASP.NET不是很熟悉,所以这两部分没有写。IL的部分估计有“装配脑袋”大哥一个人就可以搞定了,不敢班门弄斧,于是主要写了关于IDE和Form的改善。写的仓促,大家凑和着看。 阅读全文
posted @ 2005-05-18 13:10 妖居 阅读(3137) 评论(8) 推荐(0)
摘要:今天上CSDN,看到讨论VB.NET关于函数返回值的问题。简单的说就是为什么我们在函数内部定义的变量,通过Return返回之后,调用端可以正常接收到这个值,而不会由于这个对象释放而无法得到。我第一次做C程序的时候就遇到了相关的问题,我在函数里面定义的变量,当我通过return返回的时候,由于这个函数返回,使得所有函数内的局部变量都自动释放了,结果调用端得到的结果就是错误的。为了解决这个问题,我只能... 阅读全文
posted @ 2005-05-17 11:02 妖居 阅读(6508) 评论(8) 推荐(0)
摘要:记得CSDN上面以前曾经有人问过,有没有像IE地址栏那样能够自动记忆以前输入过的文字,然后通过下拉列表选择的控件。我的印象是.NET没有提供这样的控件,众多.NET高人肯定做过,但是我一时找不到。这几天无聊,于是自己试着做了一个。可以将此控件加入.NET的工具箱,通过拖拽放置到画面上。 主要的实现方法就是通过一个隐藏在TextBox后面的ListBox来显示下拉列表,用户选择了之后可以将对应内容填充到TextBox里面。而TextBox里面输入了文字之后可以筛选并显示相关的曾经输入过的项目内容。 一时高兴做的,所以没有特别全面的测试。我把源代码放上来,欢迎园子里面的哥哥姐姐们给我指点指点。如果您有什么更好的想法,非常欢迎Feedback。 源代码和Sample合并在一个Solution里面下载 阅读全文
posted @ 2005-04-19 16:51 妖居 阅读(1930) 评论(3) 推荐(0)
摘要:通过标准的.NET Windows Application我们只能建立一个使用Comctl32.dll Version 5的应用程序。即便我们的程序运行在Windows XP系统下,外观仍旧沿用了Windows 2000。实际上通过简单的设置,就可以让我们的程序在Windows XP下面显示为新的程序外观。(本文参考了MSDN的相关文档编写) 阅读全文
posted @ 2005-04-14 15:52 妖居 阅读(2740) 评论(8) 推荐(0)
摘要:刚刚看到关于Comega的新闻,我到MS Research上面看了一点关于Comega的简介,个人感觉Comega并不应该说是一种“新的语言”,它只是一个C#的“扩展”。但是对于MS这样三天出一个新语言,五天出一个新架构的做法小弟比较反感。.NET还没有真正达到MS的预期目标,又开始弄新的东西新的概念。感觉就是第一盘菜没有炒好,赶快炒下一盘,反正客人饿得不行。 小弟试着翻译了一下,但是翻译完了... 阅读全文
posted @ 2005-04-12 10:40 妖居 阅读(958) 评论(2) 推荐(0)
摘要:增强型的模式匹配算法,KMP查找算法VB.NET 2005泛型实现。也不知道用的对不对,但是个人感觉好像是对的。不过做测试的时候发现如果是字符串(字符数组)的匹配,用KMP算法比.NET自己的String.IndexOf还要慢。不知道.NET怎么做的,可能也是KMP算法吧。 和2003版的一样,主函数KMPSearch进行实际的匹配操作。子函数KMPSearchGetNextArray负责计算匹配串每个项目单位对应的权值。只不过加入了(Of T As IComparable(Of T))泛型约束。 阅读全文
posted @ 2005-03-31 13:03 妖居 阅读(1275) 评论(1) 推荐(0)
摘要:增强型的模式匹配算法,KMP查找算法。全称是克努特-莫里斯-普拉特算法。是一种在一个串内查找第一个匹配子串位置的算法。之所以是增强型的,是应为它修改普通算法中失配的时候,被查找串的查找起始位置只向后移动一个单位的办法。通过首先分析匹配串的逻辑,给每一个项目位置加入一个权值。这样在失配的时候,就可以根据失配项目单位所对应的权值,顺移多个位置再次匹配。具体的算法可以参考《数据结构》一书。 现在我用VB.NET 2003实现这个算法。主函数KMPSearch进行实际的匹配操作。子函数KMPSearchGetNextArray负责计算匹配串每个项目单位对应的权值。 稍后推出使用VB2005泛型的KMP查找算法。 阅读全文
posted @ 2005-03-31 11:54 妖居 阅读(1512) 评论(8) 推荐(0)
摘要:看了二十四画生的Blog的大小写金额转换函数,自己也对照着写了个VB.NET的,然后用类封装了一下。 原版C#版的,可以看原作者的代码。 Public Class Currency Inherits Object Private Const CST_CAPSTR_TAIL As String = "整" Priva... 阅读全文
posted @ 2005-03-30 14:33 妖居 阅读(4297) 评论(4) 推荐(0)
摘要:只支持单继承的VB.NET为了解决多继承的问题,引入了接口的概念。接口可以在一定程度上解决单继承给我们设计上带来的一些缺陷,并且接口是类型安全的。本文简单介绍了关于接口的概念,主要篇幅集中到接口的使用上面。 前提知识:VB.NET、OOP。 阅读全文
posted @ 2005-03-29 14:44 妖居 阅读(10462) 评论(19) 推荐(1)
摘要:对于DLL文件,取出他的Assembly信息可以使用Reflection.Assembly.LoadFrom(Path)语句来实现。但是这样读取之后,如果我们的程序不退出,这个DLL就会被我们的程序进程锁死,不能修改或删除了。为了解决这样的问题,我们通过AppDomain(应用程序域)来实现。 前提知识:MarshalByRefObject,Reflection.Assembly。 阅读全文
posted @ 2005-03-21 16:17 妖居 阅读(1525) 评论(1) 推荐(0)
摘要:通过反射取属性列表,相信大家都知道。 System.ComponentModel.TypeDescriptor.GetProperties 我们看到在MSDN里面,GetProperties一共有六个重载列表。我们现在只说两个: (1) GetProperties(componentType As Type) (2) GetProperties(component As Object) ... 阅读全文
posted @ 2005-03-18 16:12 妖居 阅读(1001) 评论(0) 推荐(0)
摘要:进一步阐述如何通过参数定制我们的Event事件操作以及随后的操作。通过OOP的办法将修改Event类功能所导致的代码修改降到最低。 阅读全文
posted @ 2005-03-18 10:41 妖居 阅读(1377) 评论(0) 推荐(0)
摘要:通过定义Event内的参数来达到让使用者控制Event事件的相关操作。 阅读全文
posted @ 2005-03-17 11:25 妖居 阅读(2676) 评论(0) 推荐(0)
摘要:简单阐述了.NET下面的Event是使用方法。以及如何编写一个带有Event的Class及如何抛出Event,使用者如何向普通.NET类一样使用这个Event。 阅读全文
posted @ 2005-03-16 15:26 妖居 阅读(2323) 评论(0) 推荐(0)

1