开发心得
文章平均质量分 84
Mittermeyer
就读于理工科院校的计算机专业。毕业之后一直从事计算机软件方面的开发。
由于工作关系,对数据库、计算机网络、分布式应用、WindowsUI接触比较多,现在热衷于DotNET平台下的开发、面向对象的分析与设计、自动化以及大型多人网络平台的构建。希望和同好或者有经验的朋友一起交流
展开
-
CSharp Tips:让DotNet实现的COM对象支持IObjectSafety接口
当我们实现的COM对象,或者ActiveX控件在浏览器中调用的时候,往往会出现警告框,提示不安全的控件正在运行。这是因为浏览器安全策略所限定的,浏览器认为只有“安全的对象”才能够被执行。所谓安全的对象就是指那些不访问本地资源的对象,例如不会去读注册表,不会写文件等等。一个满足条件的对象通过支持IObjectSafety接口告诉浏览器,自己是合法的。下面就简单的介绍一下怎么在C#中实现对于I原创 2003-10-16 09:40:00 · 2825 阅读 · 1 评论 -
谈谈jQuery和跨域访问
跨域访问,需要服务端支持JSONP,JSONP使用JSON填充响应结果。jQuery中的ajax方法对JSONP有很好的支持,甚至无需特别声明,jQuery内部根据请求地址自动判断,如果是跨域的就启动JSONP,如果是本域就是常规的AJAX。但是正因为跨域请求的返回结果不是常规的JSON,所以不仅需要客户端有特殊的方法,服务端也需要对JSONP进行专门的支持:服务端需要知道下载完毕后的回调函数是什么,需要把执行回调函数的JavaScript语句写入到响应流中。原创 2014-11-25 17:17:11 · 2044 阅读 · 0 评论 -
CSharp Tips:Delegate成员变量和Event的区别
简单分析了在定义类的时候,声明Delegate成员变量和Event的区别。原创 2010-11-19 10:00:00 · 4352 阅读 · 1 评论 -
CSharp Tips:Drag & Drop的高级应用
本文简述了怎样把把应用程序中的数据(文件/流)通过拖放(Drag and Drop)的方式复制到桌面或者Explorer中。原创 2010-11-18 15:38:00 · 1724 阅读 · 1 评论 -
CSharp Tips:调用Win32 API如何处理指针类型的参数(补)
2年多前整理了一下调用Win32 API过程中指针类型的参数如何处理,发觉遗漏的重要的一点,就是怎样处理UNION。C/C++中UNION是这样定义:“联合”是一种特殊的类,也是一种构造类型的数据结构。 在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,已达到节省空间的目的(还有一个节省空间的类原创 2009-06-27 18:19:00 · 3316 阅读 · 0 评论 -
CSharp Tips:使用OleDb操纵Excel文件(1)
0、前言在进行数据操作的时候经常会碰到这样的要求,“将从数据从Excel文件导入到数据库中”或者“将数据导出到Excel文件中”,这时我们不得不对Excel文件进行操作。一般情况下我们使用Excel自带的一套COM对象对Excel文件进行操作,这套对象模型的功能非常强大,不仅可以通过WorkBook、WorkSheet等一系列对象操纵每一个Cell的数据,而且还可以操作Excel界面中的窗原创 2008-04-05 13:24:00 · 7301 阅读 · 4 评论 -
编码系列--Base32编码的完整示例
0、前言几年前由于做一些和加密有关的工作,所以写了几个编码的示例,包括Base32和Base24,当年示例代码写得比较随手,而且不是完整的部分,仅演示编码解码的过程,存在不少问题。Blog很少打理,发觉不少朋友对这部分比较感兴趣,不更新一下有误导大家的嫌疑呀,所以重新更新一下示例,希望对大家有帮助,同时也希望和大家讨论是否有更有效的算法。 1、完整的示例再次声明,代码中不保证没有原创 2007-10-02 11:48:00 · 3590 阅读 · 1 评论 -
CSharp Tips:模拟MSN Message发送文字效果的实现
在MSN Message发送文字的原则是:单击Enter发送;没有输入任何文字是发送Enter无操作;单击Shift+ Enter,在输入框中添加一个回车,即换行显示;没有输入任何文字,单击Shift+Enter,也在输入框中添加一个回车,即显示一个空行;没有任何外文字,单价Shift+Enter,然后再单击Enter,发送一个空行。 具体实现的代吗非常简单,处理文本框的两个事件即可原创 2007-06-15 12:00:00 · 2357 阅读 · 1 评论 -
CSharp Tips:以整数的形式传递对象引用
0、前言怀念C/C++光荣岁月的孩子,总是念念不忘指针。指针的确是个很神奇的东西,一个32位的整型(仅针对32位平台而言),时而函数、时而结构、时而数组,从而使得C,简洁又不失功能强大。指针和结构珠联璧合,巧妙地解决了很多编程上的问题,这也是我们在DotNET平台下条用Win32 API比较麻烦的根源。指针简洁的背面充斥着内存非法访问和内存泄露等一大堆头疼的问题,所以在DotNET平台下,原创 2007-08-01 15:32:00 · 3403 阅读 · 1 评论 -
CSharp Tips:调用Win32 API如何处理指针类型的参数
0、前言从VB到C#,被人诟病比较多的就是交互性比较差,又集中表现在调用Win32 API上。如果说C/C++调用API只是调用函数这类轻松的活,在C#下却成了阻挡入门者的技术活。之所以产生这么大区别在于数据类型的差异,就是因为C#这类采用了“安全”的类型,我们避免了内存释放和内存访问错误的一些困扰,但是不得不面对调用API时的繁琐。有得必有失,关键看你选择了什么。在调用API时,原创 2007-04-27 10:45:00 · 16173 阅读 · 17 评论 -
DotNET 1.1迁移至DotNET 2.0的注意事项
最近有一个项目要求从DotNET 1.1的平台下迁移到2.0下,花了一周时间进行这个工作,将迁移过程中碰到的一些问题记录下来,整理了这篇文章。 DotNET 2.0的类库较之DotNET 1.1发生了很大的变化,总体感觉在线程间调用,数据的检查方面比以前严格了。在迁移时需要注意如下问题。 1、控件AutoSize的变化1.1、原先AutoSize是class Form的属性,现在提原创 2006-12-30 10:00:00 · 2112 阅读 · 0 评论 -
CSharp Tips:在Form中显示动画图片
在Windows Form的程序中有的时候需要显示动画,例如连接网络的动态图标。传统的做法可能是做一组BMP表示不同的状态,然后在Form上添加一个定时器,隔若干毫秒,绘制下一幅图片,如此循环。但是只能是BMP,没法自动支持本身有动画效果的Gif格式的图片。在DotNET中有一个ImageAnimator类,动画处理包含基于时间的帧的图像,这样的在C#中就不需要加载一组图片了,一个Gif轻松搞原创 2006-08-28 11:14:00 · 7462 阅读 · 1 评论 -
CSharp Tips:怎样创建COM的实例
0、前言C#总的来说不错,Framework也提供了比较丰富的类库,基本上能够满足大部分的需要。但是应用程序难免要和遗留系统打交道,比如说:API函数或者COM组件。C#在Framework环境内部怎么玩都挺好,一旦要和Framework之外的组件函数打交道就需要作一些手脚了。这里主要对在C#中调用COM组件经常遇到的集中情况进行说明。 1、引用一个COM组件,通过New创建大原创 2006-05-19 16:43:00 · 8842 阅读 · 1 评论 -
编码系列--Base24编码
0、写在前面Windows和Office的序列号就是在最终换算之后,通过Base24编码转换成为可显示字符串的。写这个系列的目的就是做类似的东东。 1、编码原理在Base32的那篇文章中已经比较详细的说明了,这里只指出与原理相比较,Base24是一个非常奇怪的方案,因为用4个bits作为分码段,只能用到16个,另外8个编码字符用不到,而采用5个bits作为分码段,又少8个字符。这就原创 2004-09-23 12:32:00 · 6764 阅读 · 10 评论 -
编码系列--Base32编码
0、写在前面这里讨论的编码主要的目的是将不可显示的二进制数组转变为可显示的字符串,包括其逆运算。通过特定的协议传输数据,或者加密解密的时候都会用到类似的方法。在这类运算中用的比较多的是Base64,比如MIME中,DotNET中更是直接提供了Base64 Encode和Decode的方法,相当方便。但是Base64通常由“a-z”、“A-Z”、0-9以及“+”和“=”这些符号组成,当中包含原创 2004-09-07 14:10:00 · 27686 阅读 · 11 评论 -
CSharp Tips:应用程序访问集成Windows认证的站点
问题从事过Web Application的人都知道,在一个Web Site可以允许用户匿名访问,也可以禁止匿名强制要求认证才能够访问。在IIS的Directory Property/Directory Security下可以看到匿名访问(Anonymous access)和认证访问(Authenticated access)的选项。在认证访问中又有多种方式:基本认证(Basic)、摘要认证原创 2003-11-20 00:26:00 · 1953 阅读 · 0 评论 -
CSharp Tips:引用ActiveX/COM组件时的Strong Name
问题DotNet平台下提供了比较完备的类库,但是第一个版本总归不可能面面俱到,而且由于历史遗留问题,经常会和COM/ActiveX的组件之间进行互操作。笔者碰到的问题就是在一个Assembly中调用到了Excel的对象,但是该Assembly需要封装成为一个ActiveX的Control,供IE的客户端脚本调用。简而言之,我在C#中用到了一个COM组件,还需要把自己封装成一个COM组件,听原创 2003-10-22 01:24:00 · 2341 阅读 · 2 评论 -
CSharp Tips:调用API注册和注销Windows Service
0、写在前面 DotNET平台下的类库封装的相当完善,普通的应用完全可以利用类库完成所有的工作。对于Windows Service的支持也是一样,只需要继承DotNET下提供的ServiceBase就可以创建Windows的Service,调用ServiceControl类的方法就可以控制Service的启动和关闭,非常容易。 然而生成了一个Service类型的应用程序之后,必原创 2004-01-04 10:13:00 · 3632 阅读 · 0 评论 -
谈谈Javascript中的异步调用的上下文
简单谈谈对Javascript作用域的一些理解。原创 2016-01-26 14:14:04 · 1878 阅读 · 0 评论