《Kylix程序设计 进阶教程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:乔林编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2001
  • ISBN:7113042856
  • 页数:451 页
图书介绍:本书以多个应用程序实例为基础,介绍了Kylix程序设计的基本方法。内容涉及窗体与窗口、标准信息框、应用程序与多窗体界面设计等。

第1章 窗体与窗口 1

1.1 X Window系统与窗口 1

1.1.1 X Window系统与X服务器 1

1.1.2 X Window图形用户界面 3

1.1.3 买双ANTA运动鞋:X Window与Microsoft Windows 3

1.1.4 窗口与窗体 4

1.2 窗体与边框的样式 5

1.2.1 边框类型 5

1.2.2 边框图标 10

1.3 部件的字体比例 13

1.3.1 自动设置字体比例 13

1.3.2 手工设置字体比例 15

1.3.3 滚动条 16

1.4 窗体的位置与大小 17

1.4.1 窗体的位置 17

1.4.2 窗体与客户区的大小 20

1.4.3 窗体约束 24

1.5 窗体中的部件 25

1.5.1 部件的Owner属性与Parent属性 25

1.5.2 部件计数 26

1.6 小结 30

1.7 问题与练习 30

第2章 使用标准信息框 31

2.1 消息对话框函数 31

2.1.1 MessageDlg函数 31

2.1.2 MessageDlgPos函数 34

2.2 显示消息过程 35

2.2.1 ShowMessage过程 35

2.2.2 ShowMessagePos过程 35

2.2.3 ShowMessageFmt过程 36

2.3 输入框函数 36

2.3.1 InputBox函数 36

2.3.2 InputQuety函数 37

2.4 MessageBox类方法 38

2.5 使用消息框 39

2.5.1 窗体设计 39

2.5.2 程序代码 42

2.6 小结 55

2.7 问题与练习 55

第3章 应用程序与多窗体 57

3.1 窗体事件的发生顺序 57

3.1.1 窗体事件 57

3.1.2 OnActivate事件 58

3.1.3 OnClick事件 59

3.1.4 OnClose事件 59

3.1.5 OnCloseQuery事件 60

3.1.6 OnCreate事件 61

3.1.7 OnDeactivate事件 61

3.1.8 OnDestroy事件 62

3.1.9 OnDblClick事件 62

3.1.10 OnContextPopup事件 63

3.1.12 OnHelp事件 64

3.1.11 OnConstrainedResize事件 64

3.1.13 OnHide事件 65

3.1.14 OnLoaded事件 66

3.1.15 OnPaint事件 66

3.1.16 OnResize事件 66

3.1.17 OnShow事件 67

3.1.18 鼠标与键盘事件 67

3.2.1 模态窗口与非模态窗口 73

3.2 对话框与多窗体的创建与管理 73

3.2.2 窗体的创建时机 74

3.2.3 无名窗体 75

3.2.4 更安全的窗体创建方法 76

3.3 对话框的创建方法 79

3.3.1 创建标准About对话框 79

3.3.2 可变大小的对话框 81

3.4.1 创建Splash窗口 84

3.4 Splash窗口 84

3.4.2 特殊效果 87

3.5 小结 89

3.6 问题与练习 89

第4章 鼠标与键盘 91

4.1 鼠标与键盘输入 91

4.1.1 鼠标事件 91

4.1.2 鼠标设备 91

4.1.3 键盘事件 92

4.2 捕获鼠标事件 93

4.2.1 鼠标事件的参数 93

4.2.2 响应OnClick事件 94

4.2.3 响应OnMouseDown事件 95

4.2.4 响应OnMouseMove事件 101

4.3 捕获键盘事件 102

4.3.1 键盘事件的参数 102

4.3.2 响应OnKeyPress事件 103

4.3.3 响应OnKeyDown事件 104

4.3.4 响应OnKeyUp事件 106

4.4 跟踪鼠标与键盘事件 107

4.4.1 跟踪键盘事件 107

4.4.2 处理虚拟键 114

4.4.3 跟踪鼠标事件 118

4.5 小结 120

4.6 问题与练习 121

第5章 记录 123

5.1 记录的声明与使用 123

5.1.1 记录类型的声明 123

5.1.2 记录类型的使用 126

5.2 开域语句 128

5.2.1 with语句 128

5.2.2 with语句的嵌套 130

5.3.1 变体记录的一般声明方法 132

5.3 变体记录 132

5.3.2 访问变体记录 135

5.3.3 无名变体记录 137

5.4 记录的存储格式 139

5.4.1 域的存储空间 139

5.4.2 普通记录的存储 140

5.4.3 变体记录的存储 141

5.5 复杂记录结构 143

5.6 小结 144

5.7 问题与练习 144

第6章 指针 145

6.1 指针类型 145

6.1.1 指针类型的声明 146

6.1.2 指针变量的使用 147

6.2 指针操作符 148

6.2.1 “@”操作符 148

6.2.2 “^”操作符 149

6.3 动态内存分配过程 152

6.3.1 New过程 152

6.2.3 “=”与“◇”操作符 152

6.3.2 Dispose过程 153

6.3.3 GetMem过程 153

6.3.4 FreeMem过程 154

6.4 指针的存储格式 155

6.5 预定义的指针类型 165

6.6.1 PChar与字符串常量 167

6.6 字符指针与字符串 167

6.6.2 PChar与数组 168

6.6.3 PChar与Pascal长字符串 171

6.7 指针与链表 177

6.7.1 指针、记录与链表 177

6.7.2 设计窗体 180

6.7.3 实现程序界面控制代码 185

6.7.4 添加元素 190

6.7.5 插入元素 192

6.7.6 删除元素 194

6.7.7 查找元素 196

6.7.8 显示与初始化 197

6.8 小结 199

6.9 问题与练习 199

第7章 过程与函数 201

7.1 过程与函数的重载 201

7.2 过程与函数的缺省参数 203

7.3 数组作为过程与函数的参数 206

7.3.1 静态数组参数 206

7.3.2 开放数组参数 207

7.3.3 可变开放数组参数 210

7.4 字符串作为过程与函数的参数 213

7.5 指针作为过程与函数的参数 213

7.6.1 过程类型的声明 214

7.6 过程类型 214

7.6.2 使用过程变量 218

7.6.3 使用过程变量的场合 223

7.7 Variant类型 225

7.7.1 Variant类型的基本意义 225

7.7.2 Variant类型转换 226

7.7.3 表达式中的Variant类型变量 228

7.8.1 过程与函数的调用规范 229

7.8 过程与函数的控制规范 229

7.7.4 Variant数组 229

7.8.2 参数传递规范 230

7.8.3 寄存器保护规范与函数的返回值 231

7.9 小结 232

7.10 问题与练习 232

第8章 面向对象基础 233

8.1 窗体类与部件类 233

8.1.1 窗体类的声明 233

8.1.2 部件对象的声明与创建 235

8.1.3 修改窗体与部件的Name属性 236

8.2 类与对象 237

8.2.1 类与对象的基本概念 237

8.2.2 类类型的声明 241

8.2.3 TObject根类 242

8.2.4 类类型的前置声明 243

8.2.5 对象成员的访问 244

8.3 域与方法 245

8.3.1 域 245

8.3.2 方法类型 246

8.3.3 过程方法与函数方法 248

8.3.4 构造方法 253

8.3.5 析构方法 257

8.3.6 隐含参数Self 259

8.4 访问控制与成员可见性 261

8.4.1 封装与访问控制 261

8.4.2 缺省访问控制 265

8.5 小结 266

8.6 问题与练习 266

第9章 面向对象程序设计理论 267

9.1 数据抽象 267

9.1.1 抽象与数据 267

9.1.2 抽象与数据结构 268

9.1.3 泛化和聚集 269

9.1.4 抽象与数据类型 270

9.2 抽象数据类型 272

9.3 从结构化到面向对象 287

9.3.1 对抽象的再认识 288

9.3.2 结构化程序设计的问题 288

9.3.3 全局变量与局部变量 289

9.3.4 数据封装 289

9.3.5 类与抽象数据类型 290

9.3.6 面向对象的实质 302

9.4.1 再论对象 303

9.4 对象与对象交互 303

9.4.2 对象标识 305

9.4.3 对象交互机制 307

9.4.4 对象引用存在的问题 309

9.5 小结 310

9.6 问题与练习 310

10.1 CLX的类层次 311

10.1.1 CLX类库的基本结构 311

第10章 继承 311

10.1.2 属性与方法 312

10.1.3 事件 313

10.2 CLX类库的主分支 313

10.2.1 TObject分支 314

10.2.2 TPersistent分支 314

10.2.3 TComponent分支 315

10.2.4 TControl分支 315

10.3 继承 316

10.2.5 TWidgetControl分支 316

10.3.1 继承的基本概念 317

10.3.2 类的友元 320

10.3.3 窗体类的继承 326

10.4 方法的继承与重载 329

10.4.1 方法的继承 329

10.4.2 方法的重载 330

10.4.3 inherited保留字 336

10.5 快算24程序实例 338

10.5.1 游戏原则与程序设计原则 338

10.5.2 程序的设计思路 339

10.5.3 数据结构设计 340

10.5.4 类设计 341

10.5.5 程序代码详解:接口方法的实现 343

10.5.6 程序代码详解:Compute方法的实现 345

10.5.7 程序代码详解:排列的生成 349

10.5.8 程序代码详解:操作符位置序列的确定 353

10.5.9 程序代码详解:操作符序列的确定 354

10.5.10 程序代码详解:后缀表达式的生成 356

10.5.11 程序代码详解:具体计算的实现 357

10.5.12 程序代码详解:中缀表达式的生成 360

10.5.13 程序代码详解:主窗体设计 368

10.5.14 删除重复的表达式 371

10.6 小结 372

10.7 问题与练习 373

11.1.1 静态方法 375

11.1 静态方法与类型适应 375

第11章 多态性与动态联编 375

11.1.2 类型适应 380

11.2 虚拟方法与动态方法 381

11.2.1 强制类型转换的缺陷 381

11.2.2 虚拟方法 381

11.2.3 虚拟方法的工作原理 384

11.2.4 动态方法 385

11.3.1 方法的重定义 386

11.3 方法的重定义、覆盖与重引入 386

11.3.2 方法的覆盖 387

11.3.3 方法的重引入 387

11.3.4 有关方法声明的几点注意事项 388

11.4 动态联编的实现机制 389

11.4.1 静态联编与动态联编 390

11.4.2 虚拟方法、动态方法与动态联编 391

11.4.3 虚拟表结构 397

11.5 对象的构造与析构 399

11.5.1 对象的构造 399

11.5.2 对象的析构 402

11.6 抽象方法与抽象类 410

11.6.1 抽象方法 410

11.6.2 抽象类:对类的再次抽象 413

11.7 小结 415

11.8 问题与练习 415

附录A 部分练习参考答案 417