自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Window SubClassing另类运用(之二)

 Window SubClassing另类运用(之二)  你大概已经熟悉通用对话框(打开/保存文件,选择字体/颜色,以及查找和替换)的使用,不过你是否了解如何调用“选择文件夹”对话框呢?如果答案是否的话,你可以先看看一个简单的例子,籍以做个热身。如果你自认为已经了解它的话,可以跳过下面这一段。 要调用“选择文件夹”对话框,和其他通用对话框所使用的方法非常类似:一个结构(BR

2002-02-28 09:03:00 1828 2

原创 Window SubClassing之另类运用(之一)

 Window SubClassing之另类运用(之一) 所谓Window SubClassing,中文通常译为窗口子类化,简单说来就是截获并处理窗口过程的技术。可能很多程序员都已经了解这项技术,并且或多或少在自己的程序中使用过它。在微软的MFC类库中就大量使用了Window SubClassing方法,以至于有人说“MFC is about Subclassing”。即使你没有用过,

2002-02-21 23:59:00 1236

原创 用Delphi产生一个最小的可执行程序

 用Delphi产生一个最小的可执行程序 曾经在网上看到有人说Delphi能够产生大小只有16k的Win32应用程序,而我自己曾经编写过的这种可执行文件大小则是在17k左右,因而我一度猜想Delphi恐怕也只能将代码优化到这种程度了。最近由于测试的目的重新把这个程序写了一遍,才发现利用一些技巧,还能够将文件的大小进一步缩减到8.5k。这个程序也能够显示Delphi作为类似于Visual

2002-02-16 23:33:00 1865

原创 我的回忆和一些不大有趣的故事

 有许多朋友对我说他们对编程语言发展的历史很感兴趣,可惜的是这方面的资料少之之少。我本人也很喜欢看这方面的东西,李维的两篇作品《我的回忆和一些有趣的故事》以及《C++圣战》是我看到过的两篇非常好的文章。我想在这里以Basic、Pascal和C这三大编程语言在DOS/Windows平台上的发展为主题,把我所知道的和自己经历过的一些事情记录下来,同时尽量避免和李维的文章在内容上发生撞车的情形。我自

2002-01-05 18:18:00 1951

原创 Visulal C++是什么? -- 兼谈其他

   Visulal C++是什么? -- 兼谈其他 这个问题很奇怪吗?大概是。不过,当我又看到有人发表诸如“Windows/Office是VC编写的”或者“VC是无所不能的”这种高论,我就禁不住这样问自己。Visual C++究竟是什么?你平常在其中工作的那个标记着“Microsoft Visual C++”的窗口,真的就代表Visual C++吗?按照我的理解,Visual

2001-12-18 08:18:00 1278

原创 Object Pascal中String类型的内幕探讨

 在Object Pascal中,String(准确的说是AnsiString)是一种可变长度的字符串,通过PChar(AString)可以将其转换为与Windows API相兼容的字符指针类型。事实上,String类型就是一个指针,你可以用Sizeof去读取它的大小,不论字符串的实际长度是多少,Sizeof(AString)永远是4。String与一般的Null-Terminated字符指针

2001-12-11 09:25:00 1536

原创 《Mastering Delphi 6》学习笔记之十一

CLX及其它 《Mastering Delphi 6》中提到Object Pascal中有一个TBits类,用来进行二进制位操作。我看过这一段之后马上去找,果然在Classes单元中找到了它。这个类的声明相当简单,不过我看过后感慨很多。如果不知道这个类的存在,我以后可能还要在需要操作二进制位的时候辛辛苦苦的写一大串代码(我以前也写过不少这样的代码),要是能够早点知道有这个类的话该有多好!我

2001-12-04 09:50:00 1150

原创 《Mastering Delphi 6》学习笔记之九

无名称构件的使用 我曾在许多Delphi资料中看到这样的说法:每一个Component都必须有一个不为空的Name,用于和其他Component相区分。过去我也对这种说法深信不疑。但是看过《Mastering Delphi 6》后,我知道我错了。Component的Name属性可以是空的,特别是对于Menu Separator,Static Label,Bevel,Shape和Panel等

2001-12-04 09:49:00 1091

原创 《Mastering Delphi 6》学习笔记之十

Delphi中的Serialiation  熟悉MFC的人对Serialize这个虚拟函数大概不会陌生。在MFC中,如果要用Serialization机制读取和保存数据,大概是这样:void CMyDoc::Serialize(CArchive& ar){  if (ar.IsStoring())  {ar ar   }  else  {ar >>

2001-12-04 09:49:00 1093

原创 《Mastering Delphi 6》学习笔记之八

构件自动清除的内幕 我们已经知道,TComponent在释放自身的时候会自动删除它Owns的所有Component,这是Delphi程序的一个极大特点。否则的话,任何动态生成的对象比如Menu Items都要自己维护和删除,那将是多么痛苦。VCL是如何做到这一点的呢?可以想象到,每个Component内部应该保持一个列表,记录它所拥有的Components,在自身的析构函数中将列表中的所有

2001-12-04 09:45:00 1253

原创 侯捷文章:初学者如何学习C++

不必介绍,侯捷的名字就是最好的介绍。Re: 初学者要如何学习 C++【我见我闻我感我思】2000/04/22    最近 CompBook 版的一个题目:「初学者要如何学习 C++」,又引发一长串讨论。每天我啜着咖啡,看着一篇篇的长短文,在精譬与幼稚、深远与浅薄、骂声与辩白之间,固然得稍遣一日下来的疲惫身心,聊以为茶馀饭後之资。但是看着日渐众多的贴信,想到某些问题,心情也不很轻松得起来。

2001-11-26 11:31:00 1532

原创 《Mastering Delphi 6》学习笔记之七

《Mastering Delphi 6》 学习笔记之七 TObject中的ClassParent是一个很让人感兴趣的方法。通过这个方法,你可以从某个类开始,层层上溯,一直到整个VCL的根TObject为止,描述出一个完整的层次列表。可以用下面的例子来检查类继承关系:procedure TForm1.Button1Click(Sender: TObject);var  CurrO

2001-11-25 00:51:00 1000

原创 《Mastering Delphi 6》学习笔记之六

《Mastering Delphi 6》学习笔记之六Delphi 6中对RTL增加了不少函数和Helper Class,虽然不算翻天覆地的大变化,不过确实方便不少。如果有时间的话,建议大概浏览一下新增的StrUtils,DateUtils和ConvUtils这些单元,相信会发现一些有趣的东西。 如果要得到操作系统的信息,如下即可:  case Win32Platform of 

2001-11-25 00:40:00 1170

原创 《Mastering Delphi 6》学习笔记之五

《Mastering Delphi 6》 学习笔记之五 在某个类中用protected声明的变量,在本单元之外是不能够随意访问的(通过声明子类才可以访问其protected域)。《Mastering Delphi 6》中提到了一个不常用的技巧:// Unit2type TTest = class  protected   protectedVar : integer;e

2001-11-25 00:27:00 1023

原创 《Mastering Delphi 6》学习笔记之四

《Mastering Delphi 6》 学习笔记之四在C++中,我们可以用static来声明一个属于类而不是类的某个具体实例的函数。许多人以为Object Pascal没有类似的功能,其实是有的,只要将函数声明为类方法(class procedure或者class function)就可以了。例如:TForm1=class(TForm)public  class procedur

2001-11-25 00:13:00 1079

原创 《Mastering Delphi6》学习笔记之三

 代码编辑器/窗体设计器/Object Inspector中的一些快捷键在代码编辑器中按Ctrl+E可以 激活Increment Search。这样就避免了从菜单中选择Search->Find,再输入文本的繁琐步骤。选中一或者几行文本,然后按Ctrl+Shift+I,可以增加这几行的缩进量;Ctrl+Shift+U减少缩进。缩进的距离取决于Editor Options里面的Auto I

2001-11-22 15:16:00 1106

原创 《Mastering Delphi 6学习笔记》之二

 《Mastering Delphi 6学习笔记》之二 本文是我在阅读《Mastering Delphi 6》一书过程中的一些心得笔记,一方面因为原书是英文版,所以将一些我认为比较重要的部分整理和摘录出来,记以备忘;另一方面也希望和大家一起分享《Master Delphi 6》这本好书和Delphi 6这一优秀工具。第一部分《Object TreeView简要说明》已经贴出,从这一部分

2001-11-20 18:41:00 941

原创 Object TreeView简要说明

Object TreeView简要说明 在Delphi 6 IDE中,最显眼的新功能可能就是Object TreeView了。由于Delphi 6比较新,介绍它的资料还很少,所以很多人不知道如何使用Object TreeView,甚至嫌它太占地方而将它关闭了。事实上,当窗体上的构件越来越多的时候,你才会发现Object TreeView的强大功能。以下是关于Object TreeVie

2001-11-20 16:15:00 2289

原创 黑盒子:在理论与现实之间

 黑盒子:在理论与现实之间 编程领域有一条古老而常青的法则,那就是“分而治之”。按照这条法则,一个现实中的任务,无论多么复杂,最终都能够而且应该分解成多个分离并相互独立的小的任务;一个任务只完成特定的功能,它和其他任务之间通过约定的“接口”互相通信,而不用关心各自在内部是如何实现的。在编程的早期,还没有子程序的概念,所有的指令都在一个主程序片断中执行—那时候甚至还没有顺序,分支和循

2001-11-08 14:16:00 2517

原创 C++/Object Pascal中循环结构的一点差异及讨论

 C++/Object Pascal中循环结构的一点差异及讨论 虽然在所有的编程语言之中,程序的执行都无非是顺序、分支和循环等几种结构,比如说,C中的if…else,switch…case,while和do…while, 以及Pascal中的if…then…else,case…of,while…do,repeat…until,几乎就是一一对应的关系,只不过语法上有小小的差异而已。这样的

2001-10-31 18:10:00 1774

原创 微软首席建筑师 查尔斯—西蒙尼

这是蒋涛先生所作的一篇关于微软传奇人物Charles Simonyi的小传,我看到后觉得很有意思,值得大家一看。程序员不应该只是数字动物,“以人为鉴,可以明得失;以史为鉴,可以知兴替”,很希望大家也关心一下IT界的历史和风云人物的经历。从Charlest Simonyi的经历中,我们看到的不仅仅是个人的历程,也能看到微软早期的曲折,以及PARC的前辈那些令人尊敬的工作等等,不一而足。蒋涛先生在CS

2001-10-07 17:52:00 1762

原创 Microsoft Visual Studio.NET及Borland Delphi6初探

 Microsoft Visual Studio.NET及Borland Delphi6初探最近安装上了Visual Studio.NET和Borland Delphi6这两个号称下一代编程环境的东东,感觉新东西实在不少,下面就说说我的感觉。首先说Visual Studio.NET的安装。Microsoft在这方面的霸气一直不改,我还记得当初装Visual C++5.0的时候,本来我已经有

2001-10-07 12:17:00 1059

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除