悟透delphi 第一章 delphi的原子世界
经过多方查找,总算基本找齐战哥的处女作《悟透delphi》的手稿。
不敢独占,于是拿出来于大家共享。
第一章 DELPHI的原子世界
第二章 DELPHI与WIN32时空
第三章 多线程
第四章 接口
第五章 包
第六章 事件与消息
第七章 组织你的模块
第八章 探索数据库
第九章 多层体系结构
第十章 操作界面与操作逻辑
第十一章 面向对象数据库基础
第一章 DELPHI的原子世界
“天苍苍,野茫茫,风吹草低 见牛羊”在使用DELPHI开发应用软件的过程中,我们就像草原上一群快乐牛羊,无忧无虑地享受着Object Pascal语言为我们带来的温暖阳光和各种VCL控件提供的丰富水草。抬头望望无边无际蔚蓝的天空,低头品尝大地上茂密的青草,谁会去想天有多高?地有多大?阳光和水草又是从何而来?那是大师关心的事。而大师此时正坐在高高的山顶上,仰望宇宙星云变换,凝视地上小虫的爬行。蓦然回头,对我们这群吃草的牛羊点头微笑。随手扯起一根小草,轻轻地含在嘴里,闭上眼睛细细品尝。不知道这根青草在大师的嘴里是什么味道?只是,他的脸上一直带着满意的微笑。
第一节 System
不经意,偶然打开了System.pas的原程序文件,却发现这里竟是一个既熟悉又陌生的世界。在这里有我们熟知的东东,如:TObject、TClass、GUID、IUnknown、IDispatch ……但这些东西也是我们所陌生的。在茫茫编程生涯中,我们不断地与这些东东打交道,都已经熟悉得宛如自己身体的一部分。但真想要去了解他们,也就人象想要了解自身一样的茫然。
在System.pas单元的开头,有这样一段醒目的注释文本:
{ Predefined constants, types, procedures, }
{ and functions (such as True, Integer, or }
{ Writeln) do not have actual declarations.}
{ Instead they are built into the compiler }
{ and are treated as if they were declared }
{ at the beginning of the System unit. }
这段话的意思是说:“这一单元包含预定义的常量、类型、过程和函数(诸如:Ture、Integer或Writeln),它们并没有实际的声明,而是编译器内置的,并在编译的开始就被认为是已经声明的定义”。
System单元不同于别的单元。你可以将Classes.pas或Windows.pas等其他DELPHI源程序文件加入你的项目文件中进行编译,并在源代码基础上调试这些单元。但你绝对无法
相关文档:
delphi获取Windows系统的进程运行信息
自从出现windows系统以来,各种各样的软件层出不穷。购买或者免费下载以后,轻轻点击Install或者Setup以后,稍作些许简单配置就完成安装的整个过程。显然这给用户带来了许多方便,但对用户来说这些软件似乎是个"黑匣子",展现在用户面前的仅仅是华丽的外表和简洁的操作,至于软 ......
新建一个Active Library
2. 新建一个COM Object,在Class Name填一个名字,如Test。
点一下Implemented Interface后面的List按钮。再点一下对话框中的Add Library按钮,
选择“Program Files\Common Files\Designer”目录下的msaddndr.dll文件。
然后在列表中找到msaddndr.dll里面的_IDTExtensibility2接口点 ......
WebBrowser组件和MSHTML 在Delphi中的使用
由于项目需要,近来研究了一下WebBrowser组件和MSHTML 在Delphi中的使用,整理了一下这段时间研究的结果,写下来一是方便大家查阅,二也可以加深我自己的记忆.希望能对大家有所帮助… …,同时,如果有更好的处理方式或者我没有提到的问题,请大家也告诉我哦, 咱们一 ......
ListView1.Items 为标准 Tlistitems类
ListView1.Items
(1)赋值
with ListView1.Items.Add do
begin
Caption:=caption; //添加第一项
SubItems.add(aaaaa); //添加后面数据
SubItems.add(1234);
SubItems.add(1234);
end; //一定要使用WITH结构.
(2)取值
listview1.Items.Item[i].Caption 取得某条数据标题
l ......
delphi全局变量的定义与赋值主要有下面几种方法:
1.
全局变量的初始化
在最后结束的end.之前,增加initialization关键字,然后加入对全局变量的初始化,这样就可以初始化全局变量了.不论在interface还是在implementation部分的全部变量,都可以这么来初始化
//省略前面的interface, uses, type.
var
i: Integer;
......