11 2014 档案

摘要:新建一个空窗体项目,然后运行,此时首先运行:procedure TApplication.Run;begin FRunning := True; try AddExitProc(DoneApplication); if FMainForm nil then begin ... 阅读全文
posted @ 2014-11-28 19:15 findumars 阅读(986) 评论(0) 推荐(0) 编辑
摘要:VCL设计方法概论 1. 把Delphi对象改造成一个Windows窗口,主要是要设置Handle和回调函数。在创建一个Windows窗口后,将其句柄赋值给Delphi对象的属性,这个并不难,相当于从此以后这个Delphi控件(或称内存对象)代表了这个Windows窗口,准确的说是包含了这个Wind 阅读全文
posted @ 2014-11-28 17:29 findumars 阅读(735) 评论(0) 推荐(2) 编辑
摘要:Form1上放两个按钮Button1和Button2,默认输入焦点是Button1,现在点击Button2,产生WM_LBUTTONDOWN消息procedure TForm1.Button2MouseDown(Sender: TObject; Button: TMouseButton; Shift... 阅读全文
posted @ 2014-11-28 05:43 findumars 阅读(1005) 评论(0) 推荐(0) 编辑
摘要:以下因素都有影响:1. QT4与QT5对字符串编码的处理不同(最好不要在源代码里直接写中文,坑更多)2. QTextCodec自动对编码转换的影响3. 源代码文件对编码存储格式的不同会影响编译器对字符串的理解4. 不同版本编译器对源代码文件的理解不同,比如VC6和VC2005的不同,比如VS2010... 阅读全文
posted @ 2014-11-27 18:52 findumars 阅读(2073) 评论(0) 推荐(0) 编辑
摘要:今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。——谈VC++对象模型(美)简.格雷程化 译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一... 阅读全文
posted @ 2014-11-27 18:17 findumars 阅读(1151) 评论(0) 推荐(0) 编辑
摘要:_stdcall和_cdecl两种调用方式的区别 (2013-01-13 10:07:40)转载▼ 在看代码的时候遇到很多_stdcall修饰的函数,很是不明白到底什么意思,所以在网上搜了一些资料如下:其实要弄懂这个东西,我觉着汇编知识还是需要再回头复习一下:(1) _stdcall调用 _stdc 阅读全文
posted @ 2014-11-27 18:11 findumars 阅读(405) 评论(0) 推荐(0) 编辑
摘要:有空自己也写一个学习笔记,先把参考文章记下了:http://www.cnblogs.com/aguncn/archive/2012/11/14/2769989.htmlhttp://www.cnblogs.com/aguncn/archive/2012/11/14/2769814.htmlhttp:... 阅读全文
posted @ 2014-11-27 17:57 findumars 阅读(12558) 评论(0) 推荐(1) 编辑
摘要:OO 面向对象法则的使用good 当前这个库的精妙用法,比如VC,或者QTarchi 项目整体架构的方法super 特殊好技巧important 十分重要的数据(比如皮肤软件的文字颜色设置十分重要,因为是相对于背景色的颜色,否则会看不清文字),函数,API等等entrance程序的几个关键入口:启动... 阅读全文
posted @ 2014-11-27 01:56 findumars 阅读(259) 评论(0) 推荐(0) 编辑
摘要:procedure TForm1.Button1Click(Sender: TObject);var hEdit: HWND; str: string;begin str := '准备要添加到记事本的字符串'; WinExec('Notepad.exe', SW_SHOWNORMAL); ... 阅读全文
posted @ 2014-11-26 01:55 findumars 阅读(840) 评论(0) 推荐(0) 编辑
摘要:汇编语言--call和ret指令call和ret指令call和ret指令都是转移指令,它们都修改IP,或同时修改CS和IP。它们经常被共同用来实现子程序的设计。ret和retfret指令用栈中的数据,修改IP的内容,从而实现近转移;retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移。CP... 阅读全文
posted @ 2014-11-25 21:32 findumars 阅读(1603) 评论(0) 推荐(0) 编辑
摘要:摘要:虽然jmp指令提供了控制转移,但是它不允许进行任何复杂的判断。80x86条件跳转指令提供了这种判断。条件跳转指令是创建循环和实现其他条件执行语句,如if…endif的基本要素。条件跳转指令检查一个或多个标志位,判断它们是否匹配某个特殊条件(就像setcc指令):如果标志匹配成功,该指令就将控制... 阅读全文
posted @ 2014-11-25 21:30 findumars 阅读(19544) 评论(0) 推荐(0) 编辑
摘要:32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP)1个标志寄存器(EFlags)----------------------... 阅读全文
posted @ 2014-11-25 21:23 findumars 阅读(6004) 评论(1) 推荐(0) 编辑
摘要:使用VC编译QT程序碰到一个问题: 我在.h文件里定义: LoadingWidget* w;然后.cpp文件里定义:void MyClass::ModifyTask(){ // w = new LoadingWidget(); // 忘了生成实例 try { w->show(); } catch ( 阅读全文
posted @ 2014-11-25 19:27 findumars 阅读(2922) 评论(0) 推荐(0) 编辑
摘要:写博客写了这么久,但是一直不知道应该怎么样写函数之间的调用关系和执行顺序,因为不停的跳来跳去的,但是写的时候却只能顺序写调用关系,直到今天发现这种写法很不错:TButton创建窗口是在CreateWnd方法开始,下面是创建的一个大概流程:TButton.CreateWnd;| TWinControl... 阅读全文
posted @ 2014-11-25 18:46 findumars 阅读(711) 评论(0) 推荐(0) 编辑
摘要:第零步,测试代码:procedure TForm1.Button1Click(Sender: TObject);begin Label1.Caption := 'Hello World';end;---------------------------------------------------... 阅读全文
posted @ 2014-11-25 08:00 findumars 阅读(1745) 评论(0) 推荐(0) 编辑
摘要:每次一些无聊开题的帖子,虽然杞人忧天,却总是能得到许多很不错的回复,摘录如下:----------------------------------------------------------------------------------------楼主杞人忧天,坚守不代表就不在学习,反而坚守一... 阅读全文
posted @ 2014-11-24 17:53 findumars 阅读(794) 评论(0) 推荐(0) 编辑
摘要:来自万一的帖子:http://www.cnblogs.com/del/archive/2008/04/27/1173658.html的确做到了一行代码设置TForm控件的颜色(一点感想:Delphi程序员真幸福)。但真实的情况是,VCL框架在这个过程中做了大量的工作,经过多次消息的发送和响应,才达到 阅读全文
posted @ 2014-11-24 00:07 findumars 阅读(1327) 评论(0) 推荐(0) 编辑
摘要:TControl是图形控件,它本身没有句柄,所以不能直接使用WINAPI显示,调整位置,发消息等等,只能想办法间接取得想要的效果,但是可以直接使用一些不需要句柄的API,比如InvalidateRect。TWinControl是含有Windows句柄的窗口,它有句柄,因此所有使用句柄的WINAPI都 阅读全文
posted @ 2014-11-23 09:17 findumars 阅读(4091) 评论(0) 推荐(0) 编辑
摘要:任何情况下,在寄存器的使用上,BASM遵循如下的规则: ASM 语句执行过程中,必须保存EDI、ESI、ESP、EBP、EBX 的值(5个寄存器,意思是可以用,但最后得恢复成原模原样)。 ASM 语句可以任意使用EAX、ECX、EDX(三个参数寄存器,也许是编译器提前帮我们存放了三个寄存器的值,... 阅读全文
posted @ 2014-11-21 21:42 findumars 阅读(990) 评论(0) 推荐(0) 编辑
摘要:C++不一定更快,但C++给你更快的机会C++始终没有放弃的东西,一是代码表达力,二是对机器的控制力,这是其长处也是其短处,但是如果不想绑死在某平台的战车上,这两处绝对必要。所有的平台厂商都会自称帮你搞定一切事情,但是实际没什么能阻止他们遇到点事儿就放弃一部分用户的利益,凭什么说自己就不会成为被放弃... 阅读全文
posted @ 2014-11-21 21:24 findumars 阅读(1999) 评论(0) 推荐(0) 编辑
摘要:1.判断QString是否为纯数字 2.查找自身最长重复子字符串 https://www.cnblogs.com/sz-leez/p/6537004.html 阅读全文
posted @ 2014-11-21 19:55 findumars 阅读(1478) 评论(0) 推荐(0) 编辑
摘要:Delphi动态事件深入分析 2009-2-7 作者:不得闲核心提示:本实验证明了在类中方法的调用时候,所有的方法都隐含了一个Self参数,并且该参数作为对象方法的第一个参数传递... 首先做一个空窗体,放入一Button。在implementation下面声明两个方法如下: 运行之后点一下‘调用F 阅读全文
posted @ 2014-11-21 19:28 findumars 阅读(499) 评论(0) 推荐(0) 编辑
摘要:MainWndProc运行观察 把MainWndProc改写成如下代码,便于观察:procedure TWinControl.MainWndProc(var Message: TMessage);begin WindowProc(Message);end; 写个小程序观察汇编:procedure T 阅读全文
posted @ 2014-11-21 18:07 findumars 阅读(396) 评论(0) 推荐(0) 编辑
摘要:昨天把MakeObjectInstance的代码详细研究了一下,当然还有众多前辈高手们的帮助,终于大致搞明白了是怎么回事。但是给我顿悟的,不是高手们的帖子,而是来自我自己的一个疑惑,TObjectInstance这么小,一共才13个字节,显然不可能存储整个MainWndProc的函数内容,更不用说W... 阅读全文
posted @ 2014-11-20 18:00 findumars 阅读(2078) 评论(0) 推荐(0) 编辑
摘要:高手们的文章有很大启发,但是总有些小错,也有没交代清楚的,以下是我的理解:编译器编译MainWndProc的时候,它是一个正常Delphi普通函数,MakeObjectInstance对它做变换是运行期的事情, 它有两个参数的:SELF,TMESSAGE,编译的时候仍然... 阅读全文
posted @ 2014-11-19 20:38 findumars 阅读(738) 评论(0) 推荐(0) 编辑
摘要:第一步,准备工作:预定义一个全局Win控件变量,以及一个精简化的Win控件类var CreationControl: TWinControl = nil; // 定义全局变量,用来表示每次刚创建的Win控件 TWinControl = class(TControl) private FDefWndP 阅读全文
posted @ 2014-11-19 20:27 findumars 阅读(3086) 评论(0) 推荐(0) 编辑
摘要:Java的Reference感觉很象C++的指针,但是区别是本质的他们相同之处在于都是含有一个地址,但是在Java中你无法对这个地址进行任何数学运算,并且这个地址你不知道,是Java Runtime分配给你的,它随时还要调整这个地址(After GC,Memory要Compact,这时候一个Obje... 阅读全文
posted @ 2014-11-18 21:19 findumars 阅读(800) 评论(0) 推荐(0) 编辑
摘要:最主要是取得了桌面的DC,并且设置为背景色透明:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type ... 阅读全文
posted @ 2014-11-17 19:29 findumars 阅读(968) 评论(0) 推荐(0) 编辑
摘要:之所以要用类函数代替API,是因为VCL对它做了一些包装,好在API起作用之前和之后做一些额外的事情:通知和判断等等。之所以类函数要包装一个CM_消息,是因为这样方便程序员(在调用类函数的基础上)截断和改写这个处理过程举例:procedure TWinControl.Invalidate;begin... 阅读全文
posted @ 2014-11-17 00:08 findumars 阅读(520) 评论(0) 推荐(0) 编辑
摘要:Golang是一门新语言,经过几年发展,慢慢地也已经被许多大公司认可。最大的特点是速度快,并发性好,与网络的功能结合好,是一门服务端语言,号称“网络时代的新语言”;另外还是一个编译型的Python。不过仅仅这些理解是不够的,随时记一下自己看到和想到的心得:据说是rob pike对漫长的编译时间很不爽... 阅读全文
posted @ 2014-11-14 18:00 findumars 阅读(7578) 评论(0) 推荐(0) 编辑
摘要:最近研究邮件备份,首先要使用客户端下载邮件,碰到不少问题:1. HOTMAIL GMAIL SINA的POP/IMAP默认居然都是关闭的,必须改成开放才行。 GMAIL改成开放以后还是没有成功,好像还要再开放一个东西。 最可气的是新浪,还必须绑定手机才能激活POP功能。 yahoo没有这个问题,但是 阅读全文
posted @ 2014-11-13 19:39 findumars 阅读(12497) 评论(0) 推荐(0) 编辑
摘要:1. 如果没有使用静态编译的QT库的话,那么无论VS还是MinGW编译出来的exe程序都要带上一堆DLL,而且必须是准确版本的DLL,对于VS好像还有一个Microsoft.VC90.CRT.manifest的问题(目前还没搞懂)。探测所需DLL可以用以下三个工具之一:MS DependenceDe... 阅读全文
posted @ 2014-11-08 00:56 findumars 阅读(1696) 评论(0) 推荐(0) 编辑
摘要:至少我碰到了三个情况,都是AppCrash错误(以下都指VS2008的Release的设置) 第1个错误,报错模块是程序自己 我使用VS2008 Team with SP1和QT4.86编译程序,一直在本机上运行没什么问题,编译出的exe文件在别的机子上运行没问题(https发送有问题,但这是另外一 阅读全文
posted @ 2014-11-07 18:18 findumars 阅读(3932) 评论(0) 推荐(1) 编辑
摘要:1:现在手机比PC电脑多远了。随着硬件的处理速度提升、功耗的下降、电池的发展、显示屏的完善等等,将来肯定是移动的时代,PC的发展慢慢停滞了,PC现在饱和了,移动还在发展中。(这条不同意,PC的少部分功能会被替代,但绝大部分功能依然无法替代,谁会用手机来工作啊?再说现在的PC性能是50年代大型机的几百... 阅读全文
posted @ 2014-11-04 16:41 findumars 阅读(597) 评论(0) 推荐(0) 编辑
摘要:MMU和TLB记得那家芯片公司给我电话面试的时候,别的都还好,可是他问我什么是MMU,我只能干瞪眼。今天在看《Linux内核源码(陈莉君)》的时候,无意中看到第二章内存地址这一节,学习如下:在任何一台计算机上,都存在一个程序能产生的内存地址的集合。当程序执行这样一条指令时:MOVE REG,ADD... 阅读全文
posted @ 2014-11-02 09:56 findumars 阅读(8286) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示