算法相关技术专家。。。我晕,只是个码农而已。这个简介谁给我写的啊。
备注:本文使用的范例代码来自《系统设计师教程》(王春森主编),本文性质属于我的对引用代码的注释和分析,因此并非原创。本文的部分先发表于中国编程论坛。 (一)用栈前序遍历树 对这篇文章的来源性说明:理论和代码来源,《系统设计师教程》(王春森主编),文章内容来自我对书中代码的分析和手工注释。
发布一个在wince操作系统下,采用.net compact framework 1.0 ( c#)开发的矢量图控件,我于2007年3月份集中一个月的经历完成了它。当然,它的前身是2005年12月我写的第一个矢量图控件,在后来我在此基础上改进了很多地方,针对具体应用做了重新设计并集中精力把它完成,由于属于再次设计,因此它的架构设计和编码中凝聚了我此前开发中的经验和积累,它是我当时最满意的一个模块,对它的架构和可维护性以及运行性能都感到令我感到非常满意,可以说代表了我当时的最高水平。
这是一个小的例子在于演示SendMessage和PostMessage的区别,其区别简单来说,就是前者会等待对方的窗口过程返回,后者则仅仅给对方的消息队列中投放一个消息立即返回,不会阻塞。
【声明】严格来讲,这篇文章不属于我的原创。我在这里参考了codeproject上的国外作者的模仿MSN浮出窗口的C#代码。换句话说,可以认为我把C#代码翻译成了C++代码。另外,为了简化代码,CloseButton我没有采用自己绘制,而是用一个ImageButton来代替。
有的选项可能仅提供C++和Windows Platform SDK中的方法(API):(1)将窗口设为顶层窗口: c++: //[注意]:BringWindowToTop( hwnd )不会使窗口成为TopMost窗口! SetWindowPos(h...
BalloonTip通常出现在位于屏幕右下角的Tray(成为通知栏,或系统托盘)的Icon上,比如用户插拔USB设备时的气泡提示。该函数位于Shell32中,是通过调用下面这个API函数实现的, BOOL Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATA lpdata ); 该函数用于控制对TrayIcon进行控制,可以弹出BalloonTip。
编译器提示:warning treated as error,然后某个文件未生成,build中断。 这是因为项目选项中把warning级别设置为了较高的级别导致的,某些warning被当作error,从而不能生成。
最近有感于部分网友对高斯模糊滤镜的研究,现总结如下。高斯模糊是数字图像模板处理法的一种。其模板是根据二维正态分布(高斯分布)函数计算出来的。 正态分布最早由A.棣莫弗在求二项分布的渐近公式中得到。
在上一篇文章中,我们介绍了开发Photoshop滤镜插件最基本的一些概念和基础。Ps为了满足插件的应用需求,同时也给插件提供了大量的回调函数(或服务)。例如,滤镜可以在一次调用后,保存最近一次用户设置的参数,并应用到下次调用或显示UI。
在flyweight模式,指的是具有大量的轻量级对象,我们为这些对象建立一个实体对象,其他则为“虚像”或者称为对该实体的一种“引用”。在我从前的项目中,电力系统的矢量图中,有大量设备,同种类型设备采用一种符号绘制,称为图元。
Photoshop是数字图像处理领域内的杰出软件。同时,它也允许第三方以插件(Plugin) 的形式扩展其功能。Photoshop的插件目前一共可分为以下九种:自动化(批处理)(出现在‘自动’子菜单下),颜色拾取,导入,导出(出现在‘导入’‘导出’子菜单下),扩展,滤镜,文件格式(出现在打开,存储为),解析(与导出导出功能),选取(出现在‘选择’菜单下)。
题目链接:http://acm.zju.edu.cn/show_problem.php?pid=1146 这是一道用于把数字显示成LCD样子的题目,输入每一行有两个整数,第一个整数n表示笔画大小,第二个是需要显示成LCD样子的数字。
这道题目:http://acm.zju.edu.cn/show_problem.php?pid=1113 的大意如下:根据公式 e=1/0!+1/1!+1/2!+1/3!+...+1/n! 计算e。
【补充声明】此文完成于几年前回答 BCCN 论坛的网友提问,就问题本身而言,对于这个问题似乎是没必要深究的,因为这种代码在读取一个变量的值的过程中反复尝试修改它的值,其结果依赖编辑器的实现。这种代码当然也是不可能在现实应用中出现的。
最近重新找了一下C语言的资料,深深的被c语言的底层操作特性迷恋~。在这方面,最经典的一本书莫过于清华大学出版社的《C高级实用程序设计》(王士元),在C语言高级应用领域里这是我见过的写的最好的一本书,非常可惜的这本书现在已经绝版了(可能是因为技术发展和更新的太快),在书店里网上都无法买到了。
在这里没有新的原创性的东西。该部分内容主要取材于《软件设计师教程》部分的内容。 我想强调一种数据结构,散列表。它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。
使窗口逐渐浮现,退出时逐渐消失,这主要是通过设置增强窗口样式为图层窗口,然后设置窗口的alpha值来实现的。在c#中,对应的是Form.Opacity属性。这是老外的一篇帖子里面提到的,但我对代码做了一些改进,使代码更为直观易用。
在我印象中有很多各种各样的自定义控件(例如TreeListView,Office侧边控件,CRM侧边控件,Leds等等)。它们具有的共同点是具有一些迷人特性,并且在标准控件库中不提供它们。
前几日回复了一个网友的帖子,是关于new和override修饰符的区别,初看时发现自己也甚为模糊,msdn上的描述甚至也不能令人完全明确其区别,但于使用上并无大碍。简单的描述: virtual:虚方法。
刚才在提问区解答了一个问题,即如何给图片加半透明度水印,实际上由于透明度算法是最早被发现也是最简单和基本的算法之一,因此这个方法实际上很直观。这里单独发帖再来解释下这个问题。首先我们强调一下opacity的概念,是“不透明度”,它表示的是两个图层之间的关系,即该属性隶属于本图层,它表示与本图层下面图层之间的像素合成关系,当opacity=100%时,表示本图层完全不透明,因此下面的像素完全被遮挡。
非常高兴,又见到了我最喜欢的数学题目。这已经是第三篇数学题目文章。原帖号称是初中数学题,惭愧的是我这个master的数学基础薄弱。。。。下面是题目的原帖: 题目: 发信人: wonuvy (日格一物百合帮米米坛之九五二七), 板面: ZJUOnline 标 题: 初中数学题,急问 发信站: 飘渺水云间 (Fri Jan 25 16:16:43 2008), 转信从2的0次方,到2的2008次方这2009个数字里,有多少个数字的最高位是1? 请给出答案,并证明。
在TC2.0下,隶属于16位子系统,所以int是2字节,long是4字节,char是1字节。绘图系统模式是VGA,颜色当然也很有限,所以读取bmp像素后需要把像素颜色转换为“最近”的已有VGA颜色。用int GetColor(int r,int g,int b)实现返回一个颜色值(color code)。
最近我用笔记本发现电池容量的notifyicon经常不会正常出现(虽然设置了始终显示),并且我以前在PDA软件上写过显示电池容量的功能,所以可以写一个在桌面上显示电量的轻量级程序。查询电量主要通过API函数GetSystemPowerStatus来实现,这里不讲这个API函数(可参阅在api文档中有详细介绍)。
--------------------------------------------------------------------------------------------------------- 注意:在这个例子里我采用了拼SQL语句的方法,因此是不安全的,无法抵御SQL注入式攻击。
============================================================================================= 声明【1】:这篇文章中的代码在写ICO文件时的方法并不够完善和准确。
很久没有更新技术blog了,所以炒下从前的冷饭。这是一个我在过去的项目中设计的数据结构。在一个矢量图浏览器中,需要缓存视图状态(实际上是起始坐标和缩放比例等参数),当用户点击向前,向后视图时,能显示相应的视图。
经常某些输入的文本要求只能是数字等,比如qq登陆框上的qq帐号,如果按键不是数字,则没有反应。原理当然是很简单的,只需要在相应消息到来时阻止控件去处理消息即可。 这种例子很多,当然可以override keypress事件。
这本来是我在大三时期做的一个题目,属于课外习题。题目是这样的,在单片机课程中,有一个实验是控制数码管显示一个时钟。程序逻辑非常简单,可以用如下的伪码表示。 while(true) { 累加ms时间并进位; if(ScanKeys(&code)) ProcessKey(code); //处理按键 Display() ; //刷新数码管显示 } 上面的逻辑是凭借记忆,并且实际上是使用8051汇编语言编写,控制6个Led7段式数码管。
在我早期用c#写的窗口查看器里面,引用了很多windows api。主要功能几乎都是api调用实现的。当时发现做模仿spy++的查找窗口时出现了一个障碍。使我怀疑是不是查找窗口用到了更复杂的方式,已经用到查找子窗口等其他api。
关于身份证号码的校验,网上的各种代码实在太多了。这里我补充一则C#的代码。 在网页上,通常是一个textbox让用户输入,然后用一个正则表达式验证控件,用这样一个正则表达式:\d{17}[\d|X]|\d{15} 这样当内容通过验证以后,可以保证用户输入的文本有15位数字或者18位数字(末尾可以为X)组成。
在IE6.0版本里面,打开网页的过程中,IE右上角会有一个动画图标,一个地球在转动。类似的动画还可以在MSN,QQ登陆的时候看到。这个小例子就是表现这样的实现, 下面是效果图: 它的实现原理非常简单,所以不必解释什么,只是用来练习一下而已。
很久没有写技术日志了,主要是最近研究的不多。不过刚刚从事asp 2.0网站开发。在过程中遇到了一些简单的问题。特把这些内容摘要记录一下。 (1)ASP2.0调用客户端的脚本:在PageLoad事件处理中,添加如下代码: //在页面全部载入后,执行该脚本~if (!this.
这是我亲身经历的一个面试题目,并且表现的是整个面试里面最为糟糕的环节,令我十分恼火。回来以后我在tc2.0上写它,发现依然花费了我相当多的时间用于改错和调试(从这一点来看,我面试里的表现也算正常了)。尽管这个问题看起来是如此的简单。
在前面一个帖子中,我已经提出了一道来自88上的数学题目,所以这次是第二道来自88的数学题目.对于一个程序员来说,数学基础是非常重要的。所以我在浏览88时,特别关注数学题目的帖子。 问题:1/2*3/4*5/6.
包括平移,旋转变换,这是一个很基本的东西,即把向量扩维到一个能够变换的空间中,例如变换三维的颜色向量,将它扩展为五维空间。在我做的项目中,很多图形本身只有一组变换参数和一个指向图元的引用,那么绘制这些图形时,即需要用变换参数把图元坐标变换到真正的显示系统坐标,才能绘制。
当第一次安装iis并建立webapplication项目时,可能会出现这个错误:---------------------------Microsoft 开发环境---------------------------Visual Studio .NET 已检测到指定的 Web 服务器运行的不是 ASP.NET 1.1 版。
题目选自以下博客网址:http://zhedahht.blog.163.com/#。第26题:题目:输入一个正数n,输出所有和为n连续正数序列。 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
声明:这个特效不是我原创的,当然我也不知道这个特效的最初制作者是谁。我仅仅试图解释这个水波特效实现的原理。 我曾经从vchelp网站下载过这样一个水波特效的demo(c#写的),当我第一次看到这个控件的时候,感觉很不起眼,但是当我无意中用鼠标在控件上一拖,oh,it 's really amazing! 一层层水波荡漾开去,不得不说,我有些惊讶它的表现力! 我再次看了一下这个控件的代码,只有区区200多行,但是初看一眼,由于里面注释很少,没有马上读懂。
这里延续讲Led控件的第三种,即高分辨率的Led显示屏,它是由很多密集的发光二极管组成的阵列,和显示器的像素显示的原理类似。(显示器的像素是一种RGB蜂窝状密集排列)。 类似的例子,例如vs.net里面的图片,光标设计器,可以看到它可以把图片像素放大成密集网格显示。
我觉得这真是一本不错的书,正是符合我的喜好的一本书。恩,所以我还是买了原版回来,尽管我的英文水平有些差劲。我注意到有网上一个人评论说,里面有些雕虫小技而已,对于大的项目可能不适用,或者在现代计算机内存,cpu速度都很强的情况,有些问题不那么在乎了。
hi,cnblogs readers,this is my first article here.——jinfd这是我的第一篇在这里的随笔,我在最近两三天把这个控件的主要代码写完了。这是一个用c#写的控件,它的原型是outlook 2000里面左侧的快捷方式栏,类似的控件也会在QQ,Visio等常用软件中找到,我为这个控件写了一个dll,并且做了一个demo演示它。
非常高兴申请成功了一个技术blog,这个想法很久之前就有了,因此那时申请了163的blog,不过可惜163的blog是用于风花雪月的,导致最终也就落得惨淡经营无人关注的后果了。希望把一些感想发表出来。多发技术性的帖。这一篇例外。