VB真是想不到系列之三:VB指针葵花宝典之函数指针 (转)
VB真是想不到系列之三:VB指针葵花宝典之函数指针 (转)[@more@]《VB真是想不到系列》 每次看大师的东西到了精彩之处,我就会拍案叫绝:"哇噻,真是想不到!"。在经过很多次这种感慨之后,我发现只要我们动了脑筋,我们自己也能有让别人想不到的东西。于是想到要把这些想不到的东拿出来和大家一起分享,希望抛砖引玉,能引出更多让人想不到的东西。本系列文章可见: .NET/develop/list_article.ASP?author=AdamBear">http://www.csdn.net/develop/list_article.asp?author=AdamBear VB真是想不到系列之三:VB指针葵
Good Coding Skills Are Not Enough (转)
Good Coding Skills Are Not Enough (转)[@more@]Good Coding Skills Are Not Enough XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> But I just wanna be a programmer! Why do I need all of these non-coding skills? Can’t I just sit in my cubicle and concentrate on programming? Sure you can. In fact, the overwhelming majority of programmers worldwide do just that. Of course, the overwhelming majority of programmers worldwide also have an extremely common
(译)win32asm教程-8 (转)
(译)win32asm教程-8 (转)[@more@] 9.0更多的伪代码XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 这儿有更多的伪代码 TEST Test对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器。结果本身不会保存。Test用来测试一个位,例如寄存器: Test eax, 100b;b后缀意为二进制jnz bitset 如果eax右数第三个位被设置了,jnz将会跳转。Test的一个非常普遍的用法是用来测试一方寄存器是否为空: test ecx, ecxjz somewhere 如果ecx为零,Jz跳转 关于栈的伪代码 在我讲栈的
(译)win32asm教程-9 (转)
(译)win32asm教程-9 (转)[@more@] 10.0 masm的优点XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 如果你不在使用masm,你可以跳过这章并尝试着转换所有的例子,或不论如何地读一下,并试着说服自己使用masm。当然,这是你的选择。但masm真的使汇编语言更容易了。 10.1 条件和循环结构 Masm有一些伪高阶的语法来简便地创建条件和循环结构: .IF, .ELSE, .ELSEIF, .ENDIF.REPEAT, .UNTIL.WHILE, .ENDW, .BREAK.CONTINUE If 如果你有使用编程语言的经验(你应该有),你可能已经看到了
(译)win32asm教程-7 (转)
(译)win32asm教程-7 (转)[@more@] 8.0关于数的一些事情XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 在大多数的编程语言中使用整数还是浮点数只取决于变量的声明。在汇编语言中,完全的不同。浮点数的计算是由特别的伪代码和FPU协处理器(浮点单元)完成的。浮点指令将会在后面讨论。先来看看一些关于整数的事情。在c语言中有signed(有符号)整数和unsigned(无符号)整数。Signed是意为数有符号(+或-)。Unsigned总是正。找出下表中的不同(再一次的,这是一个byte的例子,它在其他
OLE SDK——框架界面(六):IOleInPlaceFrame::InsertMenus (转)
OLE SDK——框架界面(六):IOleInPlaceFrame::InsertMenus (转)[@more@]IOleInPlaceFrame::InsertMenus 允许容器插入它的菜单组到复合菜单中,以便在在位(in-place)会话期间被使用。 HRESULT InsertMenus(HMENU hmenuShared, //空菜单句柄LPOLEMENUGROUPWIDTHS lpMenuWidths //指向数组); 参数 hmenuShared 一个空菜单句柄。 lpMenuWidths 指向六个值长的编程语言/VISUAL%20MSDN/COM/参考/界面/IOleInPlaceFrame/structs_9qb7.htm">OLEMENUGROUPWIDTHS数组。窗口在标记0,2中填充,4反映了在File,View和Window菜单组中它提供
OLE SDK——框架界面(五):IOleInPlaceFrame::SetMenu (转)
OLE SDK——框架界面(五):IOleInPlaceFrame::SetMenu (转)[@more@]IOleInPlaceFrame::SetMenu 在窗口框架容器对象被激活的位置安装复合菜单。 HRESULT SetMenu(HMENU hmenuShared, //复合菜单句柄HOLEMENU holemenu, //菜单描述符句柄HWND hwndActiveobject //对象的窗口句柄); 参数 hmenuShared 通过调用IOleInPlaceFrame::InsertMenus和windows InsertMenu函数建造的菜单句柄。 holemenu 编程语言/VISUAL%20MSDN/COM/参考/界面/IOleInPlaceFrame/api3_2uk2.htm">OleCreateMenuDescriptor函数返回的菜单描述符的句柄。
OLE SDK——框架界面(三):IOleInPlaceFrame::RemoveMenus (转)
OLE SDK——框架界面(三):IOleInPlaceFrame::RemoveMenus (转)[@more@]IOleInPlaceFrame::RemoveMenus 给定容器一个从在位(in-place)复合菜单中移去它的菜单标记的机会。 HRESULT RemoveMenus(HMENU hmenuShared //在位复合菜单的句柄); 参数 hmenuShared 在位复合菜单的句柄,它是被调用IOleInPlaceFrame::InsertMenus和windowsInsertMenu函数建造的。 返回值 这个方法支持标准返回值E_INVALIDARG和E_UNEXPECTEDs,也支持下列: S_OK 这个方法成功的完成。 注释 在使共享用户界面无效前,对象通常应该给容器从复合菜
OLE SDK——框架界面(四):IOleInPlaceFrame::EnableModeless (转)
OLE SDK——框架界面(四):IOleInPlaceFrame::EnableModeless (转)[@more@]IOleInPlaceFrame::EnableModeless 激活或禁止一个框架的非模式对话框。 HRESULT EnableModeless(BOOL fEnable //激活或禁止非模式对话框窗口); 参数 fEnable 通过指定TRUE激流非模式对话框窗口,指定FALSE禁止非模式对话框。 返回值 这个方法支持标准返回值E_UNEXPECTED,也支持下列: S_OK 对话框被激活或是被禁止成功,依赖 fEnable的值。 注释 调用者注意 活动的在位(in-place)对象调用IOleInPlaceFrame::EnableModeless激活或打开可以被
OLE SDK——框架界面(二):IOleInPlaceFrame::SetStatusText (转)
OLE SDK——框架界面(二):IOleInPlaceFrame::SetStatusText (转)[@more@]IOleInPlaceFrame::SetStatusText 在容器的框架窗口状态行设置和显示关于在位(in-place)对象的状态文本。 HRESULT SetStatusText(LPCOLESTR pszStatusText //指向显示消息的指针); 参数 pszStatusText 包含要显示消息的以空字符结束的字符串的地址。 返回值 这个方法支持标准返回值E_FAIL,E_INVALIDARG和E_UNEXPECTED,也支持下列的: S_OK 文本被显示了。 S_TRUNCATED 一些文本被显示,但消息太长有一些被删去了。 注释 调用者注意 如果
(C++的对话)Solmyr 的小品文系列之二:模棱两可的陷阱 (转)
(C++的对话)Solmyr 的小品文系列之二:模棱两可的陷阱 (转)[@more@]原作者:Solmyr FoRM pchome.NET “为什么会这样?!”,zero 一边喝水一边嘟囔着,恨恨的看着面前显示器上的代码,“为什么这么简单的一个调用也会出现编译错误 …… ” “这是因为你的设计太差!” 噗!zero 被幽灵一样出现在背后的 Solmyr 吓了一大跳,一口水差点全喷出来。 “咳!咳咳!S …… Solmyr ,你什么时候站在我背后的?”,zero 很费力的平息了咳嗽,同时努力回想刚才自己有没有把柄会被 Solmyr 抓到。 Solmyr 抓过一张椅子坐了下来:“在你一开始干
“剥皮”法求区域中心 (转)
“剥皮”法求区域中心 (转)[@more@] “剥皮”法求区域中心XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 本文作者 徐庆荣(武汉大学) 在已出版的有关图形图像处理的书刊中,几乎都没有专门论述求区域中心的方法,对区域中心也没有明确的定义,然而它在图像处理和分析中有着独特的作用。本文提出的剥皮法求区域中心虽与图像细化或边缘提取等算法有类似之处,但也有一些重要的差异值得注意。以上情况正是引发本文的缘由。 基本思想 假设:区域是封闭、连通的平面,无空洞,且是可塑的
数据结构FAQ (转)
数据结构FAQ (转)[@more@]1.何谓数据结构? 数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。
带?和*的正则表达式的匹配 (转)
带?和*的正则表达式的匹配 (转)[@more@]规定x[i]表示字符串x的第i个字符,注意,这里的下标从1开始。定义一个函数Match[i, j],表示特征串x的长度为i的前缀与字符串的s的长度为j的前缀是否匹配。经过分析可以写出如下的递归公式:Match[i,j] = Match[i-1, j-1], if x[i] = '?' = Match[i-1, 1..j]中任何一个等于true, if x[i]='*' = Match[i-1, j-1] and (x[i] = s[j]), if x[i]不是通配符该递归公式的边界条件是Match[0,0] = true, Match[i,0] = Match[i-1,0], if x[i] = '*' = false, otherwise 根据上面的递归公式
关于hash (转)
关于hash (转)[@more@]简单来说,hash就是找到一种数据内容和数据存放地址之间的映射关系。比如,由若干字符串要存放到一个哈西表中,希望能够在O(1)的时间内在表中定位某个特定的字符串,我们可以用数组来实现哈西表,找到某种函数sting -> integer,记为 p = f(s),其中p是一个整数,s是一个字符串,p就是字符串s在数组中的下标。这样如果需要在数组中定位s,只要直接根据函数p=f(s)就可以计算s的位置。在哈西表中添加一个字符串也类似,根据字符串的值计算出其应该存放在数组中的位置,然后将字符串放入。但是这种函数(成为哈西函数
没有需求就没有软件 (转)
没有需求就没有软件 (转)[@more@]没有需求就没有软件金芝(转载自计算机世界) (转载自软件工程专家网www.21cmm.com)ASP?page=/bbs/index.asp?Type=H" target=_blank> 需求工程无疑是当前软件工程中的关键问题,从美国于1995年开始的一项调查结果就足以看出这一点。在这项调查中,他们对全国范围内的8000个软件项目进行跟踪调查,结果表明,有1/3的项目没能完成,而在完成的2/3的项目中,又有1/2的项目没有成功实施。他们仔细分析失败的原因后发现,与需求过程相关的原因占了45%,而其中缺乏最终用户的参与以及不完整的需求又是
需求工程概述 (转)
需求工程概述 (转)[@more@]需求工程概述张友生 (本文转载自软件工程专家网www.21cmm.com) 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。 需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方
No MFC,Only API (转)
No MFC,Only API (转)[@more@] No MFC,Only apiXML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 在DOS编程中,养成了喜欢把所有东西都搞清楚的习惯,转化到windows编程仍喜欢把事情的方方面面都弄清楚,起初选择了VC6,但由于MFC的声势浩大,让我认为Windows编程就是MFC编程,学习了一段时间后,发现MFC并不是初学者的好工具,因为MFC是建立在类的基础上的,运用类的性质隐藏了许多东西,让初学者搞不清程序从何处开始执行,怎样传递消息,怎样调用过程。但同时不可否认,如果你是C++高手,清楚
银行业系统集成人员分析 (转)
银行业系统集成人员分析 (转)[@more@]银行业系统集成人员构成分析 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 银行业是我国较早运用计算机技术,尤其是数据库等软件技术的行业。由于经济实力雄厚,业务发展迅速,所以是经常进行系统集成工作的行业;其业内技术人员软件水平较高,项目组织也较符合规范,是软件工程项目范例分析的良好样板。 银行业的系统集成项目大小不一,小至POS等端末小系统,大至支撑全国的核心业务系统都有。每年每家银行的科技投入都以亿计。当然,早期的项目组织虽无
(译)win32asm实例-4 (转)
(译)win32asm实例-4 (转)[@more@] 4.0 - Creating the main frame创建主框架 Now we will create the main frame of our program: 现在我们将创建我们程序的主框架: Add two prototypes after the includes: 在include后加入两个原型 WinMain PROTO STDCALL :Dword, :DWORD, :DWORD, :DWORDWndProc PROTO STDCALL :DWORD, :DWORD, :DWORD, :DWORD These prototypes will tell masm how many parameters these functions take (4 DWORD's in this case) 这