《FoxPro应用程序开发方法与技巧》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)George F.Goley IV著;孟小峰译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1994
  • ISBN:7302016577
  • 页数:369 页
图书介绍:

第一章建立应用程序的准备工作 1

1.1起步(创建子目录结构) 1

1.2克服惯性 3

1.3建立Setup程序 3

第二章菜单和数据库 8

2.1建立菜单 8

引言 11

目 录 11

2.2菜单选项的控制 13

2.2.2 TSMAIN.PRG程序的另一种实现方式 15

2.2.1应用程序的运行 15

2.3建立数据库 16

2.4对菜单系统增加新的特征——第一次改进 16

2.5建立数据库结构 16

2.6一些思考及字段名的命名 18

第三章Clients数据操作 20

3.1 要开发的第一个子程序:Clients 20

3.2暂时的回顾与代码段的正确使用 25

3.3 Snippets(代码段)的用法 27

3.5项目管理器(Project Manager)的用法 28

3.4屏幕生成的过程 28

3.6菜单选择的复杂情况处理 30

第四章Clients数据输入的完善 32

4.1记录的上下移动 32

4.2对记录的修改和保存 33

4.3删除clients记录 37

4.4用READ SHOW解决空表的问题 38

4.5增加client记录 40

4.6查找Client记录 43

5.1 Employees的数据输入屏 44

第五章Employees和Projects的数据输入 44

5.2 Project数据输入 45

5.3增加一个Project记录 48

5.4删除Project记录 50

5.5关闭Project屏 50

5.6对Project窗口的存取 51

5.7编辑修改project记录 51

第六章Time Sheets基本数据输入 52

6.1 TimeSheets多文件数据输入屏 52

6.2设计多窗口的一般步骤 52

6.3确定封锁模式和屏幕形式 53

6.4打开数据库文件和为Time sheet数据输入建立mvars 54

6.5建立TimeSheet Weekly Entry窗口 56

6.6建立Timesheet Data Entry窗口 58

6.7 TSTIME中的程序空架(stub)和SAY用户自定义函数 61

6.8事件的处理 64

6.9 Time Sheet屏中引入Browse窗口 66

6.10 Week记录的上下移动 68

6.11 Week记录的查找 71

6.12浏览查找(Brouse Search)的键定义 73

6.13小结 73

第七章Time Sheets数据更新输入 74

7.1 Edit按钮 74

7.2保存Week记录的过程 77

7.保存Time记录的保存过程 78

7.4窗口的转移 78

7.5菜单的选择 80

7.6Time Sheet上的上下移动 81

7.7在Browse窗口中对记录的移动 81

7.8取消对week记录的修改 82

7.9取消对Time记录的修改 83

7.10删除Time记录 83

7.11增加Week记录 83

7.12增加Time记录 86

8.1 90年代的报表技术 92

第八章Time Sheet应用程序的报表与查询 92

8.2生成按employee,client和pro iect分类的周报表 93

8.3增加一点灵活性 93

8.4程序的充分灵活性与易于使用的矛盾 95

8.4.1按批方式运行多个报表 95

8.4.2用户对报表的临时性修改 100

8.4.3查询的修改 101

8.4.4改变输出文件名 103

8.5报表的运行 106

8.6对修改的保存 109

8.7增加新的报表 110

8.8小结 113

第九章命名约定 115

9.1在文件名中使用两个字符作为前缀 116

9.2库例程(Library Routines)前缀 116

9.3数据库文件的命名 116

9.4字段的命名 117

9.6程序、用户自定义函数和过程文件的命名 118

9.7局部变量的命名 118

9.11窗口的命名 119

9.10 POPUP的命名 119

9.9参数变量的命名 119

9.10数组的命名 119

9.8全局变量的命名 119

第十章SQL SELECT 120

10.1 SQL SELECT命令简介 120

10.2基本的SQL SELECT 120

10.2.1 FROM子句 121

10.2.2 SELECT子句 121

10.2.3 SQL和用户自定义函数 121

10.2.5 SELECT子句中的关键字和其它子句 122

10.2.4 SQL语法分析器 122

10.2.6 SQL和宏 126

10.2.7 SQL与字母的大小写 126

10.2.8 SQL和索引 127

10.2.9用ORDER BY子句对查询结果排序 127

10.2.10列函数 128

10.2.11查询结果输出的定向 131

10.3 FoxPr02.5 RQBE和SQL SELECT 134

10.3.1 FROM(表) 134

10.3.3 WHERE子句 135

10.3.4选择条件 135

10.3.2 SELECT子句(□字段/输出字段) 135

10.3.5连接条件对话框 136

10.3.6 ORDER BY 136

10.3.7 GROUP BY 136

10.3.8 HAVING子句 136

10.3.9输出 136

10.3.10使用RQBE的原因 137

10.3.11 不使用RQBE的原因 137

10.4复杂查询 137

10.4.1子查询 137

10.4.2自身连接 141

10.4.3合并(UNION) 142

10.4.4外连接 145

10.5对SQL的补注 146

10.6结束语 146

第十一章Report Writer的使用 147

11.1启动Report Writer 147

11.2对象的概念 147

11.2.1对象的生成 148

11.2.2对象的移动和大小改变 148

11.2.3 Selection Marquee的使用 148

11.3.2页标题(page Header)带 149

11.3.1标题(title)带 149

11.2.4对象分组(group) 149

11.2.5文本操作 149

11.3关于Bands(带) 149

11.3.7列脚注(column Footer)带 150

11.3.9汇总(summary)带 150

11.3.8页脚注(Page Footer)带 150

11.4调整带的大小 150

11.3.6组脚注(Group Footer)带 150

11.3.5细节(Detail)带 150

11.3.4分组标题(Group Header)带 150

11.3.3列标题(column Header)带 150

11.5使用Quick Report选项 151

11.6生成一个简单报表 151

11.6.1改变格式 151

11.6.2报表的浏览 151

11.6.3计算说明 151

11.6.4处理分组 152

11.6.5报表的完成 154

11.7产生一个复杂报表 154

11.7.1报表变量的说明 155

11.7.2嵌入的用户自定义函数 157

11.7.3函数的调用 158

11.8生成格式信件和标签 158

11.9 Windows有关问题 161

11.9.1图形对象 161

11.9.2字形 162

11.10打印报表 162

第十二章BROWSE命令 164

12.1 BROWSE命令介绍 164

12.2 BROWSE命令的窗口生成 164

12.2.1格式化BROWSE字段 165

12.2.2 BROWSE中的有效性检查 166

12.2.3 BROWSE导出字段 166

12.2.4 BRCOWSE窗口的美观 167

12.2.5关于BROWSE窗口的各种选项 168

12.3BROWSE窗口的名字 169

12.4 BROWSE作为选择列表 170

12.4.1在BROWSE窗口中的递增搜索 172

12.4.2在BROWSE窗口中选择多个记录 172

12.5数据输入 175

12.6多个数据库,一个BROWSE窗口 176

12.8一个集成的BROWSE 178

12.7多个相关联的数据库,多个BROWSE窗口 178

12.9在BROWSE窗口中标识当前记录 179

12.10多用户环境中考虑的问题 180

12.11结束语 181

第十三章多用户环境下的程序设计问题 182

13.1在多用户环境下打开数据库文件 182

13.2主动封锁与被动封锁 188

13.2.1被动封锁技术 189

13.2.2主动封锁技术 191

13.3如何判定数据发生了改变? 193

13.4对共享数据库增加记录 197

13.5增加唯一性的ID 200

13.6由系统顺序生成的ID 203

13.7多表多记录的更新 205

13.7.1多表多记录插入的事务 206

13.7.2多表多记录的修改事务 209

13.7.3多表多记录的删除事务 212

13.8错误捕获 213

13.8.1资源冲突错误捕捉 214

13.8.2程序错误的捕获 215

13.10 SET REFRESH命令 223

13.9 SET REPROCESS命令 223

14.1什么是事件驱动程序? 225

14.1.1会话过程 225

14.1.2事件 225

第十四章事件驱动程序 225

14.1.3控制循环 226

14.1.4控制变量 226

14.2 FoxPro应用系统开发人员面临的问题 226

14.2.2在当前会话过程中选择一新的会话过程 227

14.3事件驱动需求 227

14.2.1选择局部事件 227

14.3.1屏幕上保留多个会话过程 228

14.3.2返回到上一会话过程中 230

14.3.3保存窗口的位置信息 232

14.3.4保存变量值 233

14.3.5关闭余下的会话过程 234

14.3.6处理BROWSE窗口的麻烦问题 235

14.4事件驱动程序的优点与不足 236

第十五章提高系统性能的方法 238

15.1速度的重要性 238

15.3 Rushmore优化技术 239

15.2对FoxPro速度的评价 239

15.3.1使用Rushmore的条件 240

15.4减少索引数量 241

15.5特殊的SELECT 242

15.6对有删除标志记录的处理 242

15.7 SETORDER TO的使用 243

15.7.1对SET ORDER问题的解决 243

15.7.2 SORT,INDEX,SET ORDER命令 246

15.7.3 SORT与INDEX的选择 247

15.7.4 ORDER BY外码的解决方法 248

15.8带条件显示记录:BROWSE KEY与BROWSE FOR 250

15.9 SEEKWHILE与FOR 251

15.10 APPEND FROM命令 251

15.11 INSERT INTO与APPEND BLANK 252

15.12提高Popup速度的方法 252

15.13有选择地使用宏 254

15.13.1 引用对象:宏与名的间接引用 254

15.13.2计算表达式:宏与EVALO 255

15.14子字符串查找 256

15.15不要重用DELETEDO记录 259

15.17 Client-Server神话 260

15.16九条提高速度的技巧 260

第十六章窗口的美观技术 262

16.1多平台(Cross-platform)应用程序问题 262

16.2屏幕1:背景 262

16.2.1颜色与Wallpaper(花纹) 264

16.2.2 Wallpaper(花纹) 264

16.3屏幕2:用于控制的位图文件 265

16.3.1使用图标的方法 265

16.3.2改变图标 266

16.4报表1:字体的使用 266

16.4.1字体的改变 267

16.4.2用OLE插入对象 268

16.5报表2:浏览与打印 268

16.5.1将报表保存并输出到文件中的方法 268

16.5.2报表输出的选择 268

16.6增加一点“时髦” 269

第十七章FoxPro中C语言的使用 270

17.1 FoxPro中使用C的方法和原因 270

17.2 C程序的一些元素 270

17.2.1头文件 270

17.2.2全局变量 270

17.3一个简单的函数 271

17.2.5 FoxInfo结构 271

17.2.4返回值 271

17.2.3代码 271

17.3.1编译 274

17.3.2连接(Linking) 274

17.3.3将新函数加到FoxPro中 275

17.3.4参数和返回值的其它类型 276

17.4用API改进性能 276

17.3.1对事件循环增加处理过程的方法 277

17.4.2对大计算量循环的处理 280

17.4.3使用算术协处理器 281

17.5适应现有的DOS程序 282

17.5.1第一步:定义变量 284

17.5.2第二步:低级文件I/O 285

1 7.5.3第三步:内存管理 286

17.5.4第四步:调用计数函数 286

17.5.5第五步:返回值 286

17.6增强FoxPro功能 286

17.6.1 Windows API的使用 287

17.6.2非标准的调用 288

17.7小结 289

18.2 Windows环境下的数据交换 290

18.1 DOS环境下的数据交换 290

第十八章用OLE和DDE共享Windows环境 290

18.2.1单任务方式 291

18.2.2多任务方式 292

18.2.3“Docu-Centsic”一个全新的领域 311

第十九章库函数 312

19.1使用库函数的优缺点 312

19.2建立好的库函数的建议 313

19.2.1同一参数中传递多个值的方法 315

19.2.2使用单参数库函数的捷径 317

19.2.3建立Shell 317

19.2.4 L3MSGW.PRG的用法 318

19.2.5从单字符串中分析多选项的方法 323

19.2.6缺省值的处理 324

19.2.7有比例的字体的分行 325

19.3 L3nextid的说明和过程参数的传递方法 327

第二十章数据字典 331

20.1主动、被动和支持性数据字典 331

20.2目标 331

20.3数据结构 332

20.4保持数据字典活动 333

20.5触发数据字典活动 335

20.6执行数据字典活动 336

20.7保存未完成的Browse窗口的修改 337

20.8读取现存的.DBF结构 339

20.9利用数据字典写.DBF结构 341

20.10后继和前驱数据库 344

20.11使用查找、裁剪和拼接 346

20.12只显示.DBF 348

20.13扩展和缩小当前.DBF结构 349

20.14增加和拷贝记录 349

21.1多平台间转移 350

第二十一章关于多种平台上程序设计的问题 350

21.2 FoxPro表和Trannsporter 351

21.2.1从MS-DOS向Windows传送报表 351

21.2.2从Windows向MS-DOS传送报表 353

21.2.3从Windows向MS-DOS传送屏幕 354

21.3修改对象 355

21.4采用不同编码和FoxPro 355

21.4.1特定的平台代码 357

21.4.2采用不同编码和用户 358

21.5 ON SHUTDOWN命令和Windows屏幕字体 360

21.6.3菜单 361

21.6.2报表 361

21.6维护多平台应用程序 361

21.6.1屏幕 361

21.6.4标签 362

21.7运行多平台 362

第二十二章合作编程 363

22.1共同工作 363

22.1.1独立工作 363

22.1.2在集体中工作 363

22.1.3领导一个集体工作 363

22.3问题 364

22.3.1项目负责人不了解FoxPro 364

22.2项目案例 364

22.3.2配备雇员及选聘顾问 365

22.3.3责任权 365

22.3.4分阶段提交的方法 365

22.3.5标准 365

22.3.6交流 366

22.3.7开发环境与版本控制 366

22.4为FoxPro开发组提供的工具 368

22.4.1数据字典 368

22.4.2问题系统 368

22.4.3版本控制系统 369

22.5结束语 369