第1章 了解PowerBuilder的工作方式 1
1.1 熟悉开发环境 1
1.2 第一个实例 3
1.2.1 开发过程的分解 3
1.2.2 新建应用和库 3
1.2.3 新建窗口 4
1.2.4 增加控件 5
1.2.5 新建菜单 6
1.2.6 编写代码 6
1.2.7 生成可执行文件 9
1.3.1 对象的属性 10
1.3 对象概念 10
1.3.2 对象的事件 11
1.3.3 对象的函数、方法 11
1.4 库与应用、对象的关系 11
1.4.1 库相当于源文件 11
1.4.2 应用是基本的项目单位 11
1.4.3 库与应用的关系 12
1.4.4 库的设置 12
1.5 库画板 13
1.5.1 视图布局 13
1.5.2 库画板中的相关操作 14
2.1.1 建立数据源 16
2.1 建立、连接数据库 16
第2章 数据库应用开发初探 16
2.1.2 连接数据源 19
2.1.3 新建表 20
2.2 创建数据库应用程序 22
2.2.1 建立新的应用对象和库文件 22
2.2.2 建立窗口(含数据窗口控件) 22
2.2.3 建立数据窗口对象 23
2.2.4 将数据窗口控件和数据窗口对象建立联系 25
2.2.5 编写代码 25
第3章 应用画板 28
3.1 应用画板的构成 28
3.2 应用画板的任务 30
3.3 应用对象的属性 31
3.3.1 General(一般)属性 31
3.3.2 Additional Properties(扩展属性) 31
3.3.3 应用程序的库搜索路径 34
3.4 应用对象的事件 35
第4章 数据库及其连接 37
4.1 数据库基础知识 37
4.1.1 什么是数据库 37
4.1.2 什么是数据库管理系统 37
4.1.3 关系数据库和分布数据库 38
4.1.4 客户端/服务器系统 38
4.2 SQL入门知识 39
4.2.1 查询 40
4.2.2 插入数据 40
4.2.3 删除数据 41
4.2.4 提交修改 41
4.2.5 建立表 41
4.2.6 修改表的结构 42
4.2.7 删除表 42
4.2.8 权限控制语句 42
4.3 SQL Server的基本操作 43
4.3.1 SQL Server的开发环境 43
4.3.2 图形化完成各项基本任务 44
4.3.3 数据库设计和管理基础 48
4.3.4 使用SQL语言 52
4.4 在PowerBuilder中连接数据库的方式 54
4.5 通过ODBC连接到数据库 54
4.5.1 在ODBC管理器中建立数据源 55
4.5.2 连接ODBC数据源 59
4.6 通过专用接口连接到数据库 61
4.7 连接到本地数据库 63
4.8 事务对象 65
4.8.1 事务对象的概念 65
4.8.2 事务对象的作用 65
4.8.3 事务对象的属性、事件和函数 66
4.8.4 事务对象的应用 67
5.1 基本知识 68
5.1.1 代码格式 68
5.1.2 续行符和分行符 68
第5章 PowerScript语言基础 68
5.1.3 注释 69
5.1.4 标识符命名规则 69
5.1.5 特殊符号 70
5.1.6 访问对象 70
5.1.7 代词 70
5.2 数据类型 71
5.2.1 标准数据类型 71
5.1.8 保留字 71
5.2.2 Any数据类型 73
5.2.3 系统对象数据类型 73
5.2.4 枚举数据类型 74
5.2.5 常量 74
5.2.6 空值(NULL) 74
5.3 变量声明与变量作用域 75
5.3.1 全局变量 75
5.3.2 实例变量 76
5.3.3 共享变量 76
5.3.4 局部变量 76
5.4.2 关系运算符 77
5.4 PowerScript运算符 77
5.4.1 算术运算符 77
5.4.3 逻辑运算符 78
5.4.4 连接运算符 78
5.5 程序流控制语句 78
5.5.1 条件控制语句 78
5.5.2 循环控制语句 80
5.5.3 特殊控制语句 82
5.6 PowerScript中的SQL语句 83
5.6.1 嵌入式SQL语法 83
5.6.2 SQLCode 85
5.6.3 动态SQL语言 86
5.7 函数 87
5.7.1 系统函数 87
5.7.2 常用的对象函数 89
5.7.3 自定义函数 89
5.8 数组和结构 90
5.8.1 数组 90
5.8.2 结构 90
第6章 代码视图 92
6.1 代码(Script)视图的印象 92
6.1.1 代码视图的布局 92
6.2 编写代码 93
6.1.2 代码视图中的任务 93
6.2.1 选项设置 94
6.3 自定义函数 95
6.3.1 对象级函数 95
6.3.2 全局函数 97
6.4 声明变量和外部函数 97
6.5 定义用户事件 98
6.6 使用AutoScript功能 100
第7章 窗口及常用控件 102
7.1 窗口 102
7.1.1 窗口画板 102
7.1.2 窗口画板中的基本操作 104
7.2 窗口的属性、事件和函数 105
7.2.1 窗口的属性 106
7.2.2 窗口的事件 107
7.2.3 窗口的函数 109
7.3 窗口类型的选择 110
7.3.1 窗口的类型 110
7.3.2 窗口类型的选择 111
7.3.3 移动一个不带标题栏的窗口 112
7.4 常用控件 112
7.4.1 命令按钮(CommandButton) 112
7.4.2 图形按钮(PictureButton) 113
7.4.5 单行编辑框(SingleLineEdit) 114
7.4.4 图片(Picture) 114
7.4.3 静态文本(StaticText) 114
7.4.6 多行编辑框(Mnltiline Edit) 115
7.4.7 单选按钮(RadioButton) 115
7.4.8 复选框(CheckBox) 116
7.4.9 组框(GroupBox) 116
7.4.10 滚动条(ScrollBar) 116
7.4.11 跟踪条(TrackBar) 117
7.4.12 进度条(Progress Bar) 118
7.4.13 静态超链接(StaticHyperLink)和图形超链接(PictureHyperLink) 118
7.5 控件操纵技巧 118
7.5.1 控件的外观一致 118
7.5.2 控件的制表(标记)顺序 119
7.5.3 控件之间的层次关系 120
第8章 菜单 122
8.1 基本常识 122
8.2 构造菜单 122
8.2.1 新建菜单 124
8.2.2 编辑菜单 124
8.2.3 菜单重名 125
8.3 菜单项的属性 125
8.3.1 常用属性 126
8.3.2 工具栏属性 127
8.4.2 操纵窗口 128
8.4.1 访问菜单项 128
8.4 菜单事件代码 128
8.4.3 菜单项的动态修改 129
8.5 弹出式菜单 129
8.5.1 创建菜单 129
8.5.2 声明并使用弹出式菜单 130
8.5.3 关于弹出式菜单初始化的一些补充 130
第9章 数据窗口对象基础 132
9.1 数据窗口控件与对象的关系 132
9.2 数据的表现形式 133
9.2.2 Freeform(自由表格) 134
9.2.3 Tabular(列表) 134
9.2.1 Grid(网格) 134
9.2.4 Group(分组) 135
9.2.5 N-up(多栏) 135
9.2.6 Graph(图表) 136
9.2.7 Crosstab(交叉表) 136
9.2.8 Composite(复合表) 136
9.2.9 Label(标签) 136
9.2.10 RichText(富文本) 137
9.2.11 OLE2.0 137
9.3 数据源 137
9.3.1 Quick Select(快速查询) 138
9.3.2 SQL Select(SQL查询) 141
9.3.4 External(外来源) 146
9.3.3 Query(查询对象) 146
9.3.5 Stored Procedure(存储过程) 147
9.4 数据窗口画板的视图和工作区 147
9.4.1 标题区 148
9.4.2 细目区 148
9.4.3 统计区 149
9.4.4 脚注区 149
9.5 数据窗口画板的操作 149
9.5.1 增加控件 149
9.5.2 页码和日期 151
9.5.3 数据窗口中控件的布局设置 152
第10章 数据窗口对象专题 155
10.1 显示格式(Display Format) 155
10.1.1 服务器端和客户端的仓库信息 155
10.1.2 显示格式的设置 156
10.2 编辑风格(Edit Style) 157
10.2.1 Edit编辑风格 159
10.2.2 CheckBox编辑风格 160
10.2.3 DropDownDW编辑风格 161
10.2.4 DropDownListBox编辑风格 162
10.2.5 EditMask编辑风格 163
10.2.6 RadioButtons编辑风格 164
10.4 表达式 165
10.3 有效性验证规则 165
10.5 计算字段 167
10.6 数据窗口中的按钮 168
10.7 检索参数和标准提示 171
10.7.1 检索参数(Retrieval Arguments) 171
10.7.2 检索标准提示(Prompt for Retrieval Criteria) 173
10.7.3 附加的补充 175
10.8 操纵记录 175
10.8.1 排序 175
10.8.2 过滤数据 176
10.8.3 分组 176
10.9 打印设置 177
10.10 更新特性 178
10.10.1 Where子句生成方式 179
10.10.2 Key Modification(主键修改) 181
11.11 数据窗口中的Tab顺序 182
第11章 数据窗口控件 183
11.1 数据窗口控件的机理 183
11.1.1 编辑控件 183
11.1.2 缓冲区 184
11.1.3 单元格的状态 185
11.2 数据窗口控件的属性 186
11.3 数据窗口控件的事件 187
11.3.1 事件列举 187
11.3.2 事件的控制和参数、返回值的使用 190
11.4 数据窗口控件的函数 192
11.4.1 基本操作函数 192
11.4.2 数据编辑函数 193
11.4.3 定位和移位函数 195
11.4.4 单元格读写函数 198
11.4.5 行操纵函数 199
11.4.6 错误信息函数 202
11.4.7 打印函数 202
11.4.8 其他函数 202
11.5 几个高级应用的函数 203
11.5.1 Create()函数 204
11.5.2 Describe()函数 206
11.5.3 Modify()函数 206
11.6 其他应用技巧 209
11.6.1 查询模式(QueryMode) 209
11.6.2 更新多张表 210
11.6.3 动态数据窗口 212
11.7 DateStore(数据存储)对象 213
第12章 数据库画板 215
12.1 数据库画板基础 215
12.1.1 视图组成 215
12.1.2 拖放操作 216
12.2 对象视图任务 217
12.1.3 数据库画板中的任务 217
12.2.1 编辑数据库配置文件 218
12.2.2 访问数据库实用程序 220
12.2.3 建立与数据库的连接 222
12.2.4 数据库对象新建声明 222
12.3 新建数据库对象 223
12.3.1 新建表 223
12.3.2 新建视图 224
12.3.3 新建索引 225
12.3.4 新建主键 225
12.3.6 新建登录账号、用户和组 226
12.3.5 新建外来键 226
12.4 修改数据库对象 227
12.5 表和列的操作 227
12.5.1 图形化显示表 227
12.5.2 为表和列增加注释 227
12.5.3 列标题和列标签 228
12.5.4 表和列的其他属性 228
12.6 列的扩展属性 229
12.6.1 显示格式 230
12.6.2 编辑风格 231
12.6.3 有效性验证规则 232
12.6.4 一些补充 235
12.7 操纵数据 236
12.8 使用SQL语言 237
第13章 高级控件 239
13.1 ListView 239
13.1.1 属性 240
13.1.2 函数 243
13.1.3 事件 246
13.1.4 列表视图控件的数据库编程 247
13.2 TreeView 248
13.2.1 属性 249
13.2.2 TreeViewItem对象 250
13.2.3 函数 250
13.2.4 事件 253
13.3 Tab 254
13.3.1 创建一个标签控件 254
13.3.2 属性 255
13.3.3 使用标签控件 256
13.4 图片列表控件 257
13.4.1 PictureListBox 257
13.4.2 DropDownPictureListBox 258
13.5 RichTextEdit 258
第14章 应用程序管理 260
14.1 库管理 260
14.1.1 通常的编辑任务 260
14.1.3 打印输出 262
14.1.2 优化库文件 262
14.1.4 对象的输入与输出 264
14.1.5 建立运行库 270
14.2 使用配置文件 270
14.2.1 ProfileString()函数 271
14.2.2 SetProfileString()函数 272
14.2.3 配置文件在数据库连接中的应用 272
14.3 程序调试 273
14.3.1 调试窗口 273
14.3.3 在调试状态下运行程序 274
14.3.4 检查运行情况 274
14.3.2 设置断点 274
14.4 提交应用程序 276
14.4.1 概述 276
14.4.2 可执行文件包含的内容 276
14.4.3 动态库 277
14.4.4 动态库文件的内容 278
14.4.5 关于附加资源的更多说明 279
14.4.6 资源文件 279
14.4.7 创建工程 280
14.4.8 图解应用程序的创建方式 281
14.4.9 应用程序的提交 282
第15章 专题和高级主题 284
15.1 文件操作 284
15.1.1 GetFileOpenName()函数 285
15.1.2 FileOpen()函数 286
15.1.3 FileExists()函数 287
15.1.4 FileRead()函数 287
15.1.5 FileWrite()函数 287
15.1.6 GetFileSaveName()函数 288
15.1.7 FileClose()函数 288
15.1.8 其他的文件操作函数 288
15.2 Web链接 288
15.3 动画 289
15.3.1 Timer()函数 289
15.3.2 timer事件 290
15.4.1 控件的拖放性质 291
15.4 拖放技术 291
15.4.2 拖放事件 292
15.4.3 与拖放相关的函数 292
15.4.4 拖放实例 293
15.5 帮助文件生成 294
15.5.1 简单的帮助信息 294
15.5.2 Windwos帮助 295
15.5.3 Internet帮助 296
15.6 数据管道 296
15.6.1 新建数据管道 297
15.6.2 源表和目标表 298
15.6.3 管道设置 299
15.6.4 执行数据管道 300
15.7 MDI窗口 300
15.7.1 MDI基础 300
15.7.2 建立框架窗口 301
15.7.3 菜单 301
15.7.4 工具栏 302
15.7.5 微帮助 303
15.7.6 实现MDI功能的代码 303
第16章 实例介绍 306
16.1 用户登录及主界面设计 306
16.1.1 用户登录 306
16.1.2 主界面的设计技巧 308
16.2 职员档案管理实例 309
16.3 设备管理实例 313
16.4 文档管理实例 321
16.5 图书管理实例 323
16.6 树型层次数据管理 327
16.7 财务管理实例 330
16.8 出勤考核实例 331
附录 333
A 字符串嵌套 333
B 窗口布局 334
C 工具栏 335
D 常见问题 338