目 录 1
引言 1
第一篇运行FoxPro Windows 1
第1章FoxPro平台 1
1.1 FoxPro 2.5系列产品 1
1.1.1 FoxPro的编译工具 2
1.2 FoxPro的库构造工具 3
1.2.1 FoxPro的互连工具 3
1.2.2多平台兼容性与向后兼容性 5
1.3 FoxPro Windows的硬件平台 6
22.3使用FOXTOOLS.FLL库 ( 51 8
2.1 CONFIG.SYS文件 9
4.4.9 REPORT= (6 9
第2章FoxPro Windows下的DOS管理和内存管理 9
2.1.1 Stacks= 10
2.1.2 Files= 10
2.1.3 Buffers= 11
2.2 LAN和文件句柄 12
2.2.1 Novell 286和Novell 386 LAN 12
2.2.2 Novell Netware Lite和Novell ELS 13
2.2.3基于DOS的LAN 14
2.3 DOS SHARE 14
2.4 DOS的FASTOPEN 15
2.5 DOS 4.x 15
2.6 DOS 5.0 16
2.7 DOS 6.0 17
2.8.1高速磁盘缓冲器软件SMARTDRV 18
2.8高速磁盘缓冲器 18
2.8.2 SMARTDRV的/DOUBLE_BUFFER可选项 19
2.8.3高速磁盘缓冲器软件Super PC-KWIK 21
2.9磁盘压缩软件 21
2.10病毒检查软件 22
2.11 EMS内存管理程序 23
2.12术语词汇表 25
2.12.1实模式与保护模式 25
2.12.2虚拟86模式 25
2.12.3常规DOS内存 25
2.12.4实内存 26
2.12.5高端内存块(UMB)或高端内存 26
2.12.7扩充内存和XMS 27
2.12.6高端内存区(HMA) 27
2.12.8扩展内存、EMS内存和EEMS内存 27
2.12.9 HIMEM.SYS驱动程序 27
2.12.10 EMM386.EXE驱动程序 29
2.12.11 EMM386.ExE的显示信息 30
2.12.12 EMM386.SYS驱动程序 30
2.12.13 COMPAQ公司的EXMEM.SYS和CEMM.SYS内存管理软件 30
2.12.14 Quarterdeck公司的QEMM386 30
2.12.15 Qualitas公司的386MAX和Blue Max 35
2.13 Novell LAN的配置 35
2.15 LANtastic网络 37
2.14 如何配置InvisibleNET LAN 37
2.16 Thomas Con(ad令牌环网卡 38
第3章 为FoxPro Windows配置Microsoft Windows 39
3.1 WINA20.386文件 39
3.2 Windows的.INI文件 40
3.2.1 SYSTEM.INI文件 41
3.3 Windows的虚拟内存 43
3.4 32位磁盘存取 45
3.5定位设备 46
3.6显示驱动程序 47
3.6.2 ATI 49
3.6.1 AST 49
3.6.3 Austin计算机 50
3.6.7 DGIS 3.0 50
3.6.4 Compaq 50
3.6.5 Iell 50
3.6.6 Diamond 50
3.6.11 Video Seven 51
3.6.8 Everex 51
3.6.9 Genoa 51
3.6.10 Orchid 51
3.6.12网络驱动程序 52
3.6.13声音卡驱动程序 53
3.8 RUN=语句 54
3.9 Windows的字体 54
3.7 WIN.INI文件 54
第4章 CONFIG.FPW文件 58
4.1 FoxPro Windows的命令行开关 59
4.1.1开关-k 59
4.1.2取消FoxPro Windows的启动消息和商标 59
4.1.3开关-c 60
4.2 FOxPROW.INI文件 60
4.3 FOXRUN.PIF文件 61
4.4 CONFIG.FPW文件 63
4.4.2 COMMAND= 64
4.4.3 MEMLIMIT= 64
4.4.1 _STARTUP= 64
4.4.4 F1 1F12= 65
4.4.5 INDEX= 65
4.4.6 LABEL= 66
4.4.7 MVCOUNT= 66
4.4.8 OUTSHOW= 69
4.4.10 RESOURCE= 69
4.4.11 TEDIT= 70
4.4.12 TIME= 70
4.4.13 TMPFILES= 71
4.4.14 EDITWORK= 72
4.4.16 SORTWORK= 72
4.5 CONFIG.FPW中其他重要的语句 72
4.4.15 PROGWORK= 72
4.5.1_FOXDOC= 73
4.5.2 _FOXGRAPH= 73
4.5.3 _GENGRAPH= 73
4.5.4 _GENMENU= 73
4.5.5 _GENPD= 73
4.5.8 _SPELLCHK 74
4.5.9 CLOCK= 74
4.5.7 _GENXTAB= 74
4.5.6 _GENSCRN= 74
4.5.10 AUTOSAVE= 75
4.5.11 BLOCKSIZE= 75
4.5.1 2 DEVELOPMENT= 75
4.6 FoxPro 2.5a的COLLATE和CODEPAGE设置 76
4.7 配置LAN和WAN环境下的FoxPro Windows 77
4.7.1 AUTOSAVE= 78
4.7.2 DEVELOPMENT= 78
4.7.3 TMPFILES= 78
4.7.4 RESOURCE= 79
4.7.5 EXCLUSIVE= 80
4.7.6 REFRESH= 80
4.7.7 REPROCESS= 81
5.1什么是资源文件 83
5.2为什么FoxPro需要自己的资源文件 83
5.3 FoxPro在其资源文件存储的是什么信息 83
第5章FoxPro Window8的资源文件 83
5.4资源文件的结构 84
5.4.1 Type字段 84
5.4.2 ID字段 84
5.4.3 Name字段 85
5.4.4 READONLY字段 85
5.4.5 CKVAL字段 85
5.4.6 DATA字段 86
5.4.7 UPDATE字段 86
5.5 FoxPro如何找到资源文件 86
5.6何时及如何使用资源文件 86
5.9资源的关闭和打开 87
5.7通过用户接口管理资源信息 87
5.8 Browse的优先选择 87
5.10资源文件与应用程序的性能 88
5.11资源文件的维护 88
5.12多用户环境下的资源文件 89
5.13在程序控制下增加日志记录 90
第6章FoxPro Windows 2.5a和2.5b所作的修改 91
6.1 FoxPro Windows的国际化特性 91
6.1.1什么是代码页? 91
6.1.2指定代码页 92
6.1.4索引长度 96
6.1.5 Rushmore优化和排序顺序 96
6.1.3有排序顺序的情况下如何使用SEEK 96
6.1.6 SQL语句和排序顺序 97
6.2新的命令和函数 97
6.2.1 CPCONVERT()函数 97
6.2.4 SETNOCpTRANS命令 98
6.2.2 CPCURRENT()函数 98
6.2.3 CPDBF()函数 98
第7章Windows用户界面 99
7.1 Windows热键和导向键 99
第二篇移动窗口平台 99
7.1.1 F1键 100
7.1.2 F2和F3键 100
7.1.3 F4键 100
7.1.4 F5键 100
7.1.5 F6键 101
7.1.6 F7键 101
7.1.7 F8键 101
7.1.8 F9键 101
7.1.9 F10键 101
7.1.10 Fll和F12键 101
7.1.14 Esc键 102
7.2 Control菜单 102
7.1.11快捷键 102
7.1.13 Enter键 102
7.1.12 Tab键 102
7.3菜单栏 103
7.4下拉菜单和级联菜单 104
7.5命令钮和选择钮 104
7.6 Windows用户界面的设计原则 105
第8章DDE和OLE介绍 106
8.1 DDF详述 106
8.2 DDE与Word的会话 106
8.2.1 DDE错误 107
8.3在Microsoft Excel下使用DDE的例子 108
8.2.5了解有关Microsoft Word for Windows的更多内容 108
8.2.2与Word说什么 108
8.2.3请求完整Word文档 108
8.2.4请求一个Word书签 108
8.3.1 Excel的相关文件命令 109
8.4请求电子表格区域 110
8.5对象链接与嵌入 110
8.3.2操作电子表格内容 110
8.5.1 OLE术语 111
8.5.2用FoxPro的用户界面进行链接和嵌入 111
8.5.3在程序控制下链接和嵌入 112
8.6 Modify General命令 112
8.7@…SAY命令 112
第9章使用图形 114
9.1 基于图画的按钮 118
9.2带单选钮的图画 119
9.4在报表和标签中使用图画 120
9.3带复选框的图画 120
9.5显示图象的其他方法 122
第10章使用声音 123
10.1为什么使用声音? 125
10.2在FoxPro Windows 中使用声波文件 125
10.3声波文件来源 126
第三篇建立应用程序 127
第11章应用程序设计过程 127
11.1协议书和预付款 128
11.2更改定单 135
11.3制定功能说明书 137
11.4制定技术和系统要求说明书 141
11.5数据结构化和规范化 143
11.6数据字典 147
11.7编程规格说明书 148
11.8下章预习 153
第12章用户界面设计与事件驱动程序设计 154
12.1新方法的起源 154
12.2用户界面的作用和目的 154
12.3程序设计方法的变迁 154
12.3.1基于对象的用户界面 155
12.3.2一致性 155
12.3.3名词-动词方法 155
12.3.4一种新思想 156
12.4 FoxPro for Windows菜单 157
12.4.1怎样组织系统菜单 157
12.4.2菜单设计 158
12.5.1控件 159
12.5窗口 159
12.4.3菜单结构 159
12.5.2其他对象 160
12.5.3编写代码的一种新方法 161
12.6 FoxPro的有力工具及其创建的对象 161
12.6.1菜单 161
12.6.2屏幕集 162
12.6.3基本的READ语句 162
12.7设计应用程序的一种新方法 163
12.7.1事件循环 163
第13章实现FoxPro Windows的设计 164
13.1事件循环和事件处理如何工作 164
13.2主程序 164
13.5项目管理器 166
13.3退出 166
13.4使用本书附带磁盘上的代码 166
13.6产生屏幕 167
13.7屏幕设置代码 167
13.8屏幕激活程序段 169
13.9有关Project Manager的更多内容 169
14.1数据安全性 170
第14章安全性问题 170
14.2数据损坏 200
14.3数据完整性 200
14.3.1避免重复记录 201
14.3.2确保唯一的标识号 202
14.4数据加密 203
14.5灾害恢复 208
14.6容错 209
14.7文件损坏 210
14.8口令安全性 211
15.1常见的编程错误 267
第15章程序调试和测试 267
15.2有助于减少错误的设计与编程方法 269
15.2.1模块化编程 269
15.1.1索引键生成文件 269
15.2.2两个编程小诀窍 272
15.2.3将程序段标准化 272
15.3测试 273
15.3.1单元测试 273
15.3.2程序测试实践 273
15.3.3认可性测试 274
1 5.3.4错误类型 274
1 5.4使用FoxPro的调试工具 275
1 5.4.1编译 275
15.4.2跟踪和调试 275
15.5调试提示 276
1 5.5.1关掉ON KEY LABEL并恢复菜单栏 277
15.5.2使用清理程序 277
第四篇高级特性及技术 279
第16章错误处理 279
16.1错误处理的方法 280
16.2错误处理的设计原则 284
16.3为错误处理程序提供信息 285
16.4区分LAN和单用户环境 287
1 6.5给Tech Support人员打电话 287
16.6 FPWERROR中的SYSDATA文件 288
16.7使用FPWERROR进行调试 289
16.8使用FPWERROR的代码结构 289
16.9多用户考虑 290
16.10 FPWERROR源代码 292
第17章SQL 438
17.1为什么使用SQL 438
1 7.2 SQL模型与xBASE模型 439
17.3什么时候使用SQL 439
1 7.3.1 SQL选择命令的语法和使用 440
17.3.2控制SQL SELECT的输出 440
1 7.4列表 440
17.5使用WHERE子句 442
17.5.1用WHERE子句指明搜索条件 442
1 7.5.2用WHERE子句联系文件 444
17.6分组查询结果 444
17.7子查询 445
1 7.8模拟外连接 445
17.9 SQL SELECT的输出 446
1 7.10 SQL SELECT及四舍五入 446
17.12 FoxPro SQL技术 447
17.11.1 INSERT 447
1 7.11其他的SQL命令 447
17.11.3 CREATE CURSOR 447
17.11.2 CREATE TABLE 447
17.13用SQL SELECT进行修改 448
17.14用宏替换建立查询 448
17.15使用SQL查询为报表提供数据 449
17.16建立动态选取表 450
17.1 7 SQL注意事项 450
17.18与ANSI SQL的一些区别 450
17.19系统目录 451
第18章低级文件输入/输出 452
18.1文件管理的概念 452
18.1.1 DOS文件属性 452
18.1.2文件存取方式 453
18.1.3磁盘缓冲 453
18.2.2 FULLPATH() 454
18.2 LLFIO函数 454
18.2.1 FOPEN() 454
18.2.3 LOCFILE() 455
18.2.4 FCREATE() 455
18.2.5 FGETS() 456
18.2.6 FPUTS() 456
18.2.7使用LLFIO字符串功能修改CONFIG.SYS文件 456
18.2.8 FREAD() 457
18.2.9 FWRITE() 457
18.2.10 FSEEK() 457
18.2.12 FCLOSE() 458
18.2.14 FERROR() 458
18.2.13 FFLUSH() 458
18.2.11 FEOF() 458
18.2.15 FCHSIZE() 459
18.3.1修复丢失的备注文件 460
18.3低级文件I/O示例程序 460
18.3.2更新文件的DOS日期/时间 461
18.4创建和读外部文件 461
18.4.1无界文本文件 461
18.4.2非文本文件 462
18.4.3创建文本文件 462
18.5使用LLFIO 462
19.2备注字段的结构 463
1 9.2.1 备注字段损坏 463
19.1定义备注字段 463
第19章备注字段 463
1 9.2.3 FPT型备注字段的结构 464
1 9.2.4确定备注字段块的大小 464
1 9.3删去不用的备注字段数据 464
1 9.2.2与dBASE和Foxbase+/Mac共享备注数据 464
1 9.4使用备注字段文本 465
1 9.4.1 隐含的行长度 465
1 9.4.2搜索备注字段 465
1 9.4.3索引部分备注字段内容 466
1 9.4.4备注字段与SQL 466
1 9.5显示和编辑备注字段 466
1 9.5.1用BROWSE显示备注字段 467
1 9.5.2 备注字段和@SAY/GET命令 467
1 9.5.4存储备注字段 468
1 9.5.3文本编辑区 468
19.6备注字段中的文本处理 469
19.5.5打印备注字段 469
1 9.5.6剪贴板文本 469
19.8对非文本文件使用备注字段 472
19.7在文件中传送备注字段内容 472
19.9备注字段的用途 473
第20章浏览技术 474
20.1俘获记录级事件 474
20.2 BROWSE优化选项 474
20.3控制浏览窗口的行为 475
20.3.1 浏览(BROWSE)窗口 475
20.3.2冻结一个字段 475
20.5.1 分割BROWSE窗口 476
20.5命名BROWSE窗口 476
20.4浏览范围 476
20.6在字段级上控制浏览 477
20.8使用BROWSE进行增量搜索 478
20.7支持一对多关系 478
20.9使用BROWSE选择多个非相关项 483
20.10在BROWSE中计算 486
20.11 屏幕构造程序和BROWSE 487
20.12显示当前记录指针 487
第21章优化FoNPro的窗口性能 489
21.1 局域网和广域网配置 489
21.1.1非专用服务器 490
21.2配置计算机 490
21.3运行FoxPro Windows应用程序 491
21.4处理删除的记录 491
21.5搜索、定位和扫描 492
21.6 Rushmore优化 493
21.7 Rushmore优化的结构化索引 493
21.8对单个数据库的Rushmore优化 495
21.8.1关闭Rushmore优化 498
21.9标准索引、压缩索引、复合索引和结构化CDX索引的使用 498
21.9.1索引备注字段 499
21.10在字符串和备注字段中搜索 500
21.11建立临时文件 500
21.12提高报表格式和表格格式的速度 501
21.13优化句法 502
21.13.1数值字段、字符字段和字符串 503
21.14物理排序数据库 504
21.15提高BROWSE的速度 505
21.16在FoxPro中使用数组 505
21.17快速锁定 506
21.18宏替换,间接引用和Evaluate() 506
21.21删除备注字段中的未用空间 507
21.19参数传递 507
21.20添加新记录 507
21.22保持数据库打开 508
21.23窗口,弹出式窗口和菜单 509
21.24磁盘高速缓冲器 509
第22章FoxPro Windows API和库构造工具 511
22.1如何使用FoxPro Windows的API库 511
22.2多平台间的兼容问题 516
22.2.1.FLL文件的性质 516
22.2.2消息 517
22.3.1 MSGBOX() 519
22.3.2 DRIVETYPE() 525
22.3.4 MKDIR() 526
22.3.3 FOXTOOLVER() 526
22.3.5 RMDIR() 527
22.3.6 WORDS() 528
22.3.7 RegFn()和CallFn() 529
22.4 FoxPro库构造工具 545
第23章编译应用程序——FoxPro Windows编译工具(Distribution Kit) 546
23.1 安装编译工具 546
23.2 可执行文件中不支持的功能 547
23.3建立一个可执行文件 548
23.3.1 给可执行文件加一个图标 550
23.4 Setup Wizard 550
23.5禁止的文件 555
23.6 Help编译器 555
24.1 并发性 556
24.2独占使用文件 556
第24章多用户的概念 556
第五篇 多用户应用程序和联网 556
24.3碰撞和冲突 557
24.4死循环和死锁 558
24.5记录和文件锁定 558
24.6内存变量,SQL游标,数组和记录指针 559
24.7静态命名和动态命名 560
24.8处理改变的数据 560
24.9直接使用文件和记录 562
24.10打开和关闭文件 564
24.11删除记录 566
24.12在LAN环境下打印 567
24.13 LAN的通信流量 568
第25章多用户程序设计 569
25.1 文件的独占使用 570
25.2记录和文件的锁定 574
25.2.1分级锁定 575
25.2.2 FoxPro Windows的隐含(自动)记录和文件锁定 575
25.2.3显式记录和文件锁定 593
25.3使用内存变量 598
25.4重试锁定操作 601
25.5读取锁定记录 601
25.6更新屏幕 602
25.7动态命名 603
第26章将单用户应用程序移植到局域网(LAN)环境 604
26.1使用文件 604
26.2文件的独占使用 605
26.3建立并使用临时文件 605
26.4.1记录锁定 606
26.4实现记录和文件锁定 606
26.4.2文件锁定 608
26.5 多用户浏览(BROWSE) 610
26.6多用户弹出式菜单 610
26.7查询表 611
26.8分配唯一的标识号 612
26.9报表与列表 614
附录A相关产品 615
附录B FoxPro的缺省值 633
附录C FoxProWindows的出错信息 637
C.1 出错信息的字母顺序一览表 637
附录D故障排除 689
D.1 为使用SQL*Net for Windows DLL而设置Odbc Oracle驱动程序 698
D.2如果你的系统中安装的是ORACLE Server版本6 698
D.3如果没有安装ORACLE Server 700