《Delphi开发经验技巧宝典》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:明日科技编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115166803
  • 页数:753 页
图书介绍:本书介绍了Delphi开发经验技巧1021个,覆盖了程序开发中的各种实际需求。全书共分29章,分别是开发环境、语言基础、程序算法、函数应用、字符与字符串处理技术、日期和时间、数据处理技术、窗体与界面设计、控件技术、键盘与鼠标、文件与文件管理、磁盘管理、图形图象技术、动画与多媒体、API函数、注册表应用、Windows相关开发技术、程序应用控制、数据库技术、SQL查询相关技术、打印与报表技术、图表技术、硬件相关、网络开发技术、Web、安全技术、程序调试与错误处理、程序打包与安装、第三方控件。

第1章 开发环境 1

1.1 环境设置 2

0001 如何定制工具栏 2

0002 如何定制组件面板 2

0003 如何定制代码编辑器 3

0004 保存自定义开发环境桌面 4

1.2 组件安装 4

0005 安装ActiveX组件 4

0006 安装不同类型的第三方组件 5

0007 在Delphi中加载QReport报表组件 7

1.3 创建DLL文件 8

0008 生成一个DLL文件 8

0009 调用DLL文件 8

1.4 窗体相关操作 9

0010 将组件置前/置后 9

0011 如何锁定窗体中的组件 9

0012 如何改变窗体上的网格大小 10

0013 组件的选取 10

0014 改变窗体Hint背景色 11

0015 以原始风格显示控件的滚动条 11

0016 使用快捷键打开对象观察器中的“...”按钮 11

1.5 其他相关应用技巧 11

0017 安装合适的Delphi版本 11

0018 熟练掌握Delphi中的菜单项 12

0019 构成Delphi项目的主要文件 12

0020 如何在程序中调用帮助文件 12

第2章 语言基础 17

2.1 基础语言 18

0021 如何对代码进行注释 18

0022 Exit语句的使用 18

0023 有效地使用Self对象 19

0024 声明局部变量、类变量和全局变量 19

0025 有效利用条件语句和嵌套条件语句 20

0026 有效利用循环语句和嵌套循环语句 21

0027 使用GoTo跳转语句 21

0028 有效使用Case Else语句 22

0029 保证数组循环的安全性 22

0030 获取枚举值列表 23

0031 使两个变量位于同一个地址空间 23

0032 利用动态数组作为函数参数 24

0033 调用Register过程的注意事项 24

0034 在Delphi中禁止使用result 24

0035 如何在Delphi中录制代码 24

0036 如何编译器会提示数组太大时的处理技巧 25

0037 如何对超大数字进行计算 25

0038 强类型的定义及使用 25

2.2 类、函数、重载 25

0039 在函数的定义中正确使用var 25

0040 如何实现类的转形 26

0041 如何实现数据加密与解密算法 27

0042 如何继承父类的方法 27

0043 如何实现函数重载 28

0044 类中多态的应用 28

0045 将函数作为参数进行调用 30

2.3 参数与指针 30

0046 通过指针读写数据 30

0047 在过程中使用常量参数 31

0048 在过程中使用数组参数 31

0049 在过程中使用默认参数 31

2.4 其他 32

0050 如何在字符串中使用单引号 32

0051 结构对象的定义与使用 32

0052 使用数组为TlistView组件动态创建字段 33

0053 解决程序的死锁问题 34

0054 怎样实现接口委托 34

0055 在Delphi中使用汇编 35

0056 为程序设置版本和帮助信息 36

0057 动态链接库的创建与调用 36

0058 String类型和Pchar类型的用法和区别 36

0059 如何捕获异常 37

0060 TStrings与TStringList的使用 37

0061 如何实现窗体文件转换 37

第3章 程序算法 39

3.1 计算类算法 40

0062 如何计算1~100的阶乘和 40

0063 如何实现最大公约数 40

0064 如何实现最小公倍数 41

0065 如何实现裴波纳契数列求和 42

0066 如何实现百钱百鸡算法 42

0067 如何实现哥德巴赫猜想 43

0068 如何实现韩信点兵 44

0069 求水仙花数的算法 44

0070 求1000以内的完数 45

0071 如何计算x的y次方 46

3.2 复杂计算类算法 46

0072 如何实现金额大小写转换的算法 46

0073 如何计算时钟的指针位置 47

0074 如何计算汉字笔划 48

0075 如何计算两个日期之间的天数、周数、分钟数 49

0076 如何实现数字斜塔 50

0077 如何实现杨辉三角 51

0078 如何实现CRC算法 52

0079 如何将B转换成GB、MB和KB 52

3.3 判断及转换类算法 53

0080 判断IP地址是否合法的算法 53

0081 判断身份证是否合法的算法 54

0082 判断素数的算法 55

0083 将字符串转换成Unicode格式 56

3.4 排序及分组类算法 56

0084 利用回溯法将一组数平均分成两组 56

0085 利用冒泡法对数字进行排序 58

0086 用回溯法找出n个自然数中取r个数的所有组合 58

0087 0~N位数的任意组合 59

0088 在数组中快速查找近似值 60

0089 实现直接插入法排序 61

第4章 函数应用 63

4.1 字符串处理函数 64

0090 使用Uppercase函数将小写字母转换为大写字母 64

0091 使用Lowercase函数将大写字母转换为小写字母 64

0092 使用Copy函数获取一个字符串的子串 64

0093 使用LeftStr函数从左边取得指定个数的字符串 65

0094 使用RightStr函数从右边取得指定个数的字符串 65

0095 使用Length函数取得一段字符串的长度 65

0096 使用Pos函数返回子字符串第一次出现的索引值 66

0097 使用Quotedstr函数返回字符串的引证串 66

0098 使用Trim函数删除字符串的首尾空格 66

4.2 数学计算函数 67

0099 使用Abs函数返回指定数值的绝对值 67

0100 使用Mod函数计算1~10之间的奇数和 67

0101 使用Div函数做整除操作 68

0102 使用DivMod函数返回两个操作数相除的商和余数 68

0103 使用Power函数返回底数的任何次幂 69

0104 使用Round函数将实数四舍五入为整数 69

0105 使用Sqr函数计算指定数的平方 70

0106 使用Mean函数计算平均数 70

0107 求最大浮点数和最小浮点数 71

4.3 序数函数 72

0108 使用Odd函数改变StringGrid组件的奇偶行颜色 72

0109 使用Pred函数获取顺序类型表达式的前驱 72

0110 使用Succ函数获取顺序类型表达式的后继 73

4.4 进制转换相关函数 73

0111 如何将二进制转换为八进制 73

0112 如何将二进制转换为十进制 75

0113 如何将二进制转换为十六进制 76

0114 如何将十进制转换为二进制 77

0115 如何将十进制转换为十六进制 78

0116 如何将十六进制转换为十进制 79

4.5 类型转换函数 80

0117 使用IntToHex函数将整数转换为十六进制数 80

0118 使用Int函数返回实数的整数部分 80

0119 使用IntToStr函数将整数转换为字符串类型 80

0120 使用StrToInt函数将字符串转换成整数 81

0121 使用StrToBool函数将字符串转换为布尔类型 81

4.6 对话框函数 81

0122 使用InputBox函数显示输入对话框 81

0123 使用MessageDlg函数显示不同风格的对话框 81

0124 使用CreateMessageDialog函数创建消息对话框 82

0125 如何在指定的位置显示信息框 82

0126 使用ShowException函数显示一个异常信息 82

4.7 异常处理函数 83

0127 将错误编号转换为错误信息字符串 83

0128 使用ExceptAddr函数获得异常被抛出的地址 83

0129 格式化异常处理信息 84

4.8 图形图像相关函数 85

0130 将TColor类型的颜色值转换为RGB值 85

0131 使用Bounds函数获得某矩形的TRect 86

0132 从已有的位图上创建位图 86

0133 使用Frame3D过程在画布上创建3D效果 87

4.9 文件操作的相关函数 87

0134 使用CopyFile函数复制文件 87

0135 使用CreateDir函数创建一个目录 88

0136 使用FileCreate函数创建一个图形文件 88

0137 使用GetCurrentDir函数返回当前目录 89

0138 在指定路径中搜索指定的文件 89

0139 使用FileExists函数判断指定文件是否存在 90

0140 使用FileGetAttr函数返回文件的属性 90

0141 使用FileGetDate函数返回文件的修改日期 90

0142 使用FileWrite函数将缓冲区中的内容写入文件 91

4.10 其他函数 91

0143 使用Random函数产生7个随机数 91

0144 使用DiskFree函数返回磁盘驱动器的剩余空间 91

0145 如何使用Printer函数 92

0146 使用SetPriner函数修改打印机信息 93

0147 使用BeginThread函数产生线程 94

0148 使用EndThread过程终止一个线程 95

0149 使用ForegroundTask函数检测线程是否运行 96

第5章 字符与字符串处理技术 99

5.1 ASCII码与编码转换 100

0150 如何获得汉字的区位码 100

0151 通过区位码获取汉字 100

0152 根据ASCII码获得字母 101

0153 获得字母的ASCII码 101

5.2 字符中的转换 101

0154 如何将数字转换成字符串 101

0155 如何将字符串全部大写 102

0156 如何将字符串全部小写 102

0157 如何将字符串中的任意字符转换成大写 103

0158 如何将字符串中的任意字符转换成小写 103

0159 如何将字符串首字母大写 104

5.3 字符串的相关判断 105

0160 判断某一字符是否在字符串中 105

0161 判断字符串是由数字、大写字母或小写字母组成 105

0162 判断字符串中的某一字符是否大写 106

0163 判断字符串中是否有小写字母 107

0164 判断字符串中是否有指定的字符 107

0165 判断字符是否可以转换成整数 108

0166 判断字符中是否有汉字 108

0167 判断字符中是否有双字节 109

0168 判数输入的字符串是否为整数 109

5.4 字符串的个数问题 110

0169 获取文字中英文单词的个数 110

0170 如何统计两个子字符串之间的字符的个数 111

0171 判断字符在字符串中出现的个数 111

0172 在语句中查找汉字的个数 112

0173 如何统计中英文个数 112

5.5 字符串的其他操作 113

0174 返回指定字符串的起始位置 113

0175 获得汉字的拼音简码 113

0176 如何将字符串翻转 114

0177 截取指定位置的字符串 115

0178 清除字符串中指定的字符 115

0179 如何实现文本的加密与解密 116

0180 提取字符串中指定子字符串后的字符串 117

0181 替换指定的字符串 117

0182 在文本中删除指定的汉字或句子 118

0183 指定符号分割字符串 119

0184 如何使用随机密码和字符串 120

第6章 日期和时间 121

0185 获得系统当前时间 122

0186 获得系统当前日期 122

0187 将日期时间格式化为指定格式 122

0188 计算两个日期之间相差的天数 123

0189 根据指定日期返回星期几 123

0190 将日期转换为字符串 124

0191 判断日期是否改变 124

0192 判断字符串是否为日期或时间 125

0193 获得指定月的最后一天 127

0194 在指定的日期上加上3月 127

0195 实现倒计时功能 128

0196 判断指定年份是否为闰年 129

0197 调用系统设置日期对话框 129

0198 将秒数转化成hh:mm:ss格式 129

0199 修改操作系统日期 130

0200 获取全球标准时间 130

第7章 数据处理技术 133

7.1 组件数据处理技术 134

0201 让两个文本框中的内容同时改变 134

0202 格式化DataGrid表格中的数据 134

0203 控制文本框只能录入数字 135

0204 如何在DataGrid中嵌入LookupComboBox 135

0205 在DBGrid中设置不滚动的列 136

0206 如何在DBGrid中实现复制、粘贴功能 137

0207 在DBGrid中将选中的多行删除 137

0208 在DataGrid中如何使标题文字居中 138

0209 如何把ListBox中的内容拖曳到另一个ListBox中 139

0210 把DBGrid中的数据赋给数组 139

0211 如何获取DataGrid单元格中的内容 140

0212 如何锁定文本框中的文本 141

0213 如何设置光标到文本框的末尾 141

0214 如何改变表格列的矩形区域颜色 142

0215 控制在文本框中只能输入两位小数 143

0216 如何把选择的文件图标显示在列表中 143

0217 根据表格中的数据长度自动调整表格宽度 144

7.2 ADO数据处理技术 145

0218 如何把ADO中的数据导入到ListBox中 145

0219 使用SQL语句保存数据 146

0220 使用赋值方式保存数据 147

0221 当ADO循环删除数据时需要注意的问题 147

0222 把Excel中的数据保存到数据库中 147

0223 怎样弹出ConnectionString设置页 148

0224 利用ADO获取DELETE后所影响的记录数 148

7.3 业务实现数据处理技术 149

0225 随机产生中奖号码 149

0226 使用快捷键保存数据 150

0227 密码只允许输入8位或超过8位 150

0228 如何获取汉字拼音简码 151

0229 根据用户输入需求自动调整输入法 152

0230 根据生日自动计算年龄 153

0231 实现找零功能 153

0232 设计带记忆的数据录入窗口 154

0233 在窗体关闭时提示有未保存的数据 155

0234 设置只允许3次密码错误 156

0235 如何读取Word中的文本 156

0236 通过身份证号获取年龄 157

0237 如何实现一个应用程序只能打开一个进程 158

7.4 其他数据处理技术 159

0238 对计算结果四舍五入 159

0239 获取一个字符的ASCII值 159

0240 判断字符串中是否有文字符 160

0241 如何从字符串中提取数字 160

0242 判断内容是否为日期 161

0243 使字符串显示为自定义的格式 161

0244 实现拼音大小写转换 162

0245 怎样实现数据输入为空提示 162

0246 读取Memol中指定行的文本信息 163

0247 自动调节ComboBox列表宽度 164

0248 如何转换数据库表为CSV文件格式 164

0249 删除文本文件中的多余空格 165

0250 创建和使用资源文件 166

第8章 窗体与界面设计 169

8.1 窗体标题栏控制 170

0251 如何实现标题栏闪烁的窗体 170

0252 如何实现不可移动的窗体 170

0253 如何在不使用标题栏的情况下移动窗体 170

0254 使窗体标题栏文字右对齐 170

0255 在窗体标题栏上添加按钮 171

0256 取消窗体标题栏的关闭按钮 172

0257 如何实现闪动的标题栏文字 172

0258 怎样动态修改窗体图标 172

8.2 窗体的动态显示 173

0259 如何实现QQ窗体 173

0260 实现窗体的淡入淡出 173

0261 实现窗体的幻灯片效果 174

0262 实现窗体的伸展效果 174

0263 实现窗体的下拉效果 175

0264 以放大的圆形显示窗体 175

8.3 MDI窗体 176

0265 在MDI中显示动态窗体 176

0266 在MDI中真正关闭子窗体 176

0267 给MDI主窗体添加背景 176

0268 动态显示像MDI的子窗体 177

0269 打开MDI窗体时其他窗体会显示出来的原因 177

8.4 窗体的大小及位置 178

0270 控制窗体的最大化、最小化 178

0271 无标题栏时改变窗体的大小 178

0272 无标题栏最大化时不覆盖任务栏 178

0273 限制窗体的大小 179

0274 重定义去掉标题栏并最大化窗体 179

0275 使窗体一直居中 179

0276 控制窗体不可移动 180

0277 限制窗体的最大化 180

0278 使窗体自动居中 181

8.5 窗体的特殊形状 181

0279 实现窗体颜色渐变 181

0280 如何使窗体透明 182

0281 制作特殊形状的窗体 182

0282 为窗体增加边框 183

0283 显示圆角窗体 183

0284 制作多边形窗体 184

0285 以文字的形式显示窗体 185

0286 如何实现窗体半透明 185

0287 制作立体窗口阴影效果 186

8.6 工具栏、状态栏及下拉列表 187

0288 制作带历史信息的菜单 187

0289 制作可以拉伸的菜单界面 188

0290 制作类似于XP颜色的下拉页 188

0291 在系统菜单中添加菜单项 189

0292 在状态栏中放置其他组件 189

0293 改变下拉列表的文字颜色 190

8.7 窗体的特殊效果 191

0294 如何动态分割窗体 191

0295 如何将应用程序背景与桌面融合 191

0296 如何在屏幕最前面显示滚动字幕 192

0297 制作磁性窗体 193

0298 制作浮动窗口 194

0299 制作另类提示窗口 195

0300 将窗体放入Panel组件中 196

8.8 窗体的快速操作 197

0301 使窗体始终在最上面 197

0302 显示所有的可视化窗体 197

0303 关闭所有窗体 198

0304 关闭多余的窗体 198

8.9 窗体的调用方法 199

0305 在关闭窗体前显示提示对话框 199

0306 创建一个启动闪现窗口 199

0307 动态创建窗体 200

0308 动态创建窗体和释放窗体 200

0309 在显示主窗体前显示登录窗体 201

8.10 窗体相关操作的其他技巧 202

0310 无窗体的半透明控件 202

0311 修改提示字体及颜色 202

0312 在窗口中显示动态画布 202

0313 如何实现中英文切换 203

0314 在一个子窗体中获得另一个子窗体的组件信息 204

第9章 组件技术 205

9.1 优化组件外观 206

0315 利用TXPManifest组件美化程序界面 206

0316 使用Canvas美化列表项 206

0317 利用Canvas在Chart组件中画一幅图片 207

0318 如何为TListBox添加水平滚动条 207

0319 折行显示按钮标题 208

0320 为组件制作立体效果 208

0321 利用ActiveX控件实现Office助手 209

9.2 菜单、工具栏、状态栏 209

0322 在PopupMenu中动态加入新菜单 209

0323 在状态栏中显示进度条组件 210

0324 为工具栏添加背景图片 210

9.3 文本框及列表框的应用技巧 211

0325 使TEdit组件获取焦点后将文本全部选中 211

0326 使TEdit组件获取焦点时改变文本框颜色 211

0327 查找列表框中的选项 212

0328 在ComboBox组件中显示QQ头像 212

0329 为Edit组件添加列表选择框 213

0330 在ListBox中显示位图 214

0331 获取TMemo中的可见行数 214

0332 如何在Memo组件上实现光标定位 215

0333 控制Memo组件中的滚动条 216

9.4 数据感知控件应用技巧 217

0334 如何在DBGrid中显示不同的记录颜色 217

0335 单击DBGrid标题进行排序 218

0336 使DBGrid支持鼠标滚轮 218

0337 在DBGrid中添加静态字段 218

0338 在DBGrid中实现下拉列表 219

0339 改变DBGrid被选中时的颜色 220

0340 用TDBNavigator组件删除数据显示自定义信息 220

0341 使用Excel组件将数据导出为Excel格式 221

9.5 表格组件使用技巧 222

0342 将StringGrid中指定行的数据添加到Memo中 222

0343 使TStringGrid组件自动移动及增加行 223

0344 单击StringGrid列进行排序 224

9.6 TreeView组件使用技巧 225

0345 如何动态创建TreeView节点 225

0346 如何将TreeView中的节点全部选中 226

0347 将菜单项添加到Tree View中 226

0348 使TreeView组件与数据库关联 227

0349 应用TTreeView组件遍历磁盘目录 228

0350 在TreeView组件中实现拖曳操作 229

9.7 ListView组件使用技巧 229

0351 向TListView组件中添加项目 229

0352 删除ListView中的选项 230

0353 实现ListView滚动 230

0354 将数组中的数值遍历到ListView中 231

0355 ListView组件的高级应用 231

0356 使ListView的不同列显示不同颜色 232

0357 对ListView中的项目进行汇总 233

0358 单击列表标题进行排序 233

9.8 应用组件制作导航 234

0359 用ListView制作导航界面 234

0360 利用Panel组件制作QQ导航栏 235

9.9 其他组件使用技巧 237

0361 动态创建组件 237

0362 创建控件数组 237

0363 用组件来移动窗体 238

0364 实现组件的批量访问 238

0365 使同类组件进行同样的操作 239

0366 使用Ttrackbar组件改变画布颜色值 239

0367 设置TopAxis属性在图表上面显示标签 240

0368 动态向ImageList组件中添加图标 240

0369 设置DateTimePicker组件的外观颜色 241

0370 利用Timer组件显示当前系统时间 241

0371 获取用户在Month Calendar组件中选择的日期 242

0372 在Panel上播放视频文件 242

0373 Win3.1组件的综合应用 242

0374 制作一个信息上传控件 243

0375 使用Gauge组件制作启动程序 245

第10章 鼠标和键盘 247

10.1 鼠标和键盘 248

0376 鼠标和键盘在一定时间没有动作时关闭程序 248

0377 如何锁定鼠标和键盘 248

0378 如何实现键盘鼠标动作记录与回放 249

10.2 鼠标的相关操作 250

0379 将鼠标锁定在指定范围内 250

0380 模拟鼠标操作 251

0381 显示或隐藏鼠标 252

0382 获取鼠标按键状态 252

0383 获取窗口标题 253

0384 单击鼠标左键弹出右键菜单 253

0385 改变当前鼠标的样式 254

0386 模拟键盘的复制与粘贴 255

0387 如何定义自己的鼠标事件 255

0388 利用鼠标绘制矩形焦点 256

0389 将鼠标移动到指定控件 257

0390 ANI动画鼠标的制作 257

0391 自制动画鼠标 258

0392 获取鼠标滑轮的消息 258

0393 制作鼠标跟随 259

0394 利用鼠标滑轮查看组件中的数据 259

10.3 键盘的相关操作 260

0395 按回车键移动焦点 260

0396 如何屏蔽Win键 261

0397 如何控制键盘指示灯 261

0398 如何屏蔽Sleep和Wake Up键 262

0399 设置自己的热键 262

0400 用键盘钩子封锁Win dows热键 263

0401 如何用Esc键退出程序 263

0402 在TDBGrid中用回车键移至下一个字段 264

0403 用Esc键停止循环 264

0404 如何判断左右〈Shift〉按键 265

0405 替换一个键盘按钮 265

10.4 鼠标的其他应用技巧 266

0406 实现超级链接效果 266

0407 用鼠标隐藏显示窗口(仿QQ) 267

0408 获取鼠标的桌面坐标 267

0409 用鼠标双击TStatusBar时判断是哪一个Panels 268

0410 使Canvas上直线的一个端点跟着鼠标跑 268

第11章 文件与文件管理 271

11.1 文件及文件夹的创建和移动 272

0411 创建并删除文件 272

0412 如何移动文件 272

0413 将文件放入回收站 273

0414 复制文件夹到其他路径中 273

0415 用API函数进行文件的复制 274

0416 用内存块复制文件 275

0417 用文件流对文件进行复制 275

11.2 文件的打开及读取 276

0418 打开指定格式的文件 276

0419 获取文件中指定符号中的字符串 277

0420 如何输出文本内容 277

0421 根据文件名中的部分名称打开该文件 278

0422 怎样合并文件 280

0423 创建和使用资源文件 281

11.3 文件及文件夹的相关属性 281

0424 如何获取文件的访问时间 281

0425 获取文件的剩余空间 282

0426 获取文件修改时间 283

0427 怎样修改文件属性 283

11.4 文件及文件夹的相关目录 285

0428 得到系统当前目录 285

0429 改变当前目录 285

0430 获取System目录 286

0431 获取Windows目录 286

0432 获取临时文件的目录 287

11.5 文件属性的相关判断 287

0433 判断文件是否被使用 287

0434 判断文件是否存在 288

0435 判断文件是否为文本文件 288

0436 判断文件名是否有效 289

11.6 文件及文件夹的遍历 289

0437 如何查询文件 289

0438 提取文件夹中的文件 291

0439 遍历文件夹下的所有文件(包含子文件夹) 291

11.7 INI文件 292

0440 如何读写INI文件 292

0441 利用INI文件查看工作日志 294

0442 用INI文件创建菜单 295

11.8 文件的其他应用技巧 296

0443 调用帮助文件 296

0444 对文件进行比较 296

0445 更改文件名称 297

0446 字符网格和文本间转换 297

第12章 磁盘管理 299

12.1 获取磁盘的相关信息 300

0447 获取磁盘总空间 300

0448 获取光盘的盘符 300

0449 获取系统盘符 301

0450 获得光盘的卷标 301

0451 获取磁盘卷标 302

0452 获取磁盘编号 302

0453 获取磁盘详细信息 303

0454 获取硬盘序列号 303

0455 获取驱动器类型 304

0456 获取驱动器列表 304

0457 获取磁盘的文件系统名称、长度及系统标记 305

0458 获取移动硬盘 305

12.2 磁盘设置与操作 306

0459 将文件存到磁盘中 306

0460 如何实现盘格式化 307

0461 打开磁盘时先弹出文本文件 308

0462 怎样进行磁盘碎片整理 308

12.3 磁盘监控与分析 308

0463 判断光驱中是否有光盘 308

0464 如何打开和关闭光驱 309

0465 判断软驱中是否有软盘 310

0466 判断磁盘是否存在 311

第13章 图形图像技术 313

13.1 基本操作 314

0467 对窗体进行刷新 314

0468 在TImage组件上显示透明文字 314

0469 清空TImage组件中的图片 314

0470 生成两个颜色的中间色 315

0471 改变文字的背景颜色 315

13.2 绘制图形 316

0472 制作空心文字 316

0473 如何实现十字光标定位 316

0474 制作旋转的文字 317

0475 波形图的绘制 318

0476 制作动画背景的窗体 319

0477 如何涂抹窗体 320

0478 如何万花筒 320

13.3 图片格式转换 321

0479 ICO转换成位图(BMP) 321

0480 JPG转换成位图(BMP) 322

0481 WMF转换成位图(BMP) 323

0482 位图(BMP)转换成JPG 323

0483 位图(BMP)转换成WMF 324

0484 批量转换图像 324

13.4 颜色格式的转换 326

0485 将TColor换算成RGB 326

0486 将TColor换算成HTML 326

0487 将HTML换算成TColor 327

0488 将CMYK换算成RGB 327

0489 将RGB换算成CMYK 328

0490 将RGB换算成TColor 329

13.5 图片的滤镜效果 329

0491 将图片以灰度形式显示 329

0492 提高图像的亮度 330

0493 图像浮雕效果 331

0494 图片的反色效果 332

13.6 翻转与缩放 333

0495 如何放大和缩小图像 333

0496 实现图形反转 333

0497 如何旋转图像 334

0498 将图像局部放大 335

13.7 图片的动态效果 336

0499 制作百叶窗效果 336

0500 垂直交错显示图像 337

0501 水平交错显示图像 338

0502 制作积木效果 338

0503 制作推拉效果 340

0504 如何实现雨滴式的效果 340

0505 图片颜色逐渐加深 341

13.8 获取及调整图片的像素 342

0506 如何实现定点取色 342

0507 获取指定点的RGB值 343

0508 制作红绿眼镜三维立体画 343

0509 调整图片的RGB对比度 344

0510 图片的加密与解密 345

13.9 图片的处理技术 346

0511 复制局部图片 346

0512 在图片中加入文字 347

0513 如何实现图片扭曲 348

0514 图片的网格效果 350

13.10 图片的存储 350

0515 将BMP图片重画到窗体上 350

0516 将JPG图片重画到窗体上 351

0517 使位图图片透明 352

0518 对大图片的操作 352

13.11 图片的其他应用技巧 353

0519 怎样浏览大图片 353

0520 获取图像信息 353

0521 在图片上平滑移动文字 354

0522 制作随鼠标拖动的图像 355

0523 在TMainMenu组件上绘制图片 356

第14章 动画与多媒体 357

14.1 动画播放 358

0524 单帧动画播放 358

0525 多帧动画播放 358

0526 模拟石英钟 360

0527 设计字幕程序 361

0528 设计屏幕保护程序 361

14.2 文字效果 363

0529 文字的立体字效果 363

0530 文字滚动效果 364

0531 文字旋转效果 365

0532 制作空心文字 365

14.3 播放媒体文件 366

0533 播放AVI文件 366

0534 播放Flash动画 367

0535 播放WAV文件 368

0536 播放GIF文件 368

14.4 利用API播放媒体 369

0537 与多媒体相关的API函数 369

0538 利用sndPlaySound函数播放音频文件 370

0539 利用mciSendString函数播放AVI 370

14.5 音频及视频 372

0540 使电脑发出声音 372

0541 显示MP3文件的播放时间 372

0542 显示文件的播放进度 373

0543 循环播放媒体文件 374

0544 显示AVI文件的播放帧数 375

0545 指定视频显示窗口 375

0546 全屏播放视频文件 376

0547 设计一个精美的播放器 377

0548 播放背景音乐 380

0549 利用RealPlayer播放器播放音乐 381

14.6 媒体控制 382

0550 如何实现静音与声道控制 382

0551 调用声音控制对话框 383

0552 使播放的Flash随窗口大小改变 383

0553 打开和关闭光驱 383

第15章 API函数 385

15.1 操作系统 386

0554 关闭显示器 386

0555 获取系统启动模式 386

0556 使程序不出现在任务栏上 387

0557 修改系统时间 387

0558 修改系统颜色 388

0559 使用API函数拨号 389

0560 获取内存使用状态的信息 389

0561 清空回收站 390

0562 设置系统日期 390

0563 如何设定屏幕分辨率设定 391

0564 修改系统的刷新率 391

0565 隐藏桌面图标 392

0566 获取Windows主题文件 392

15.2 窗体 393

0567 利用API创建窗体 393

0568 利用API创建画刷 394

0569 利用API绘制弧形 394

0570 利用API控制窗体显示 395

0571 制作闪动标题的窗体 396

0572 拖动无标题栏窗体 396

0573 获取拖动到窗体中的文件路径 396

0574 在窗口的任意地方弹出主菜单项 397

0575 获取工程中的所有窗体名称 398

15.3 其他相关应用技巧 399

0576 锁定计算机 399

0577 启动控制面板 400

0578 如何实现屏幕抓图 401

0579 计算Windows从启动后所运行的总时间率 401

0580 巧用GetSystemMetrics函数 402

0581 显示密码编辑框中的密码 402

0582 添加、删除系统托盘图标 402

0583 如何在系统菜单中添加新项目 403

0584 监测程序多久未被使用 404

第16章 注册表 405

16.1 注册表基本操作 406

0585 创建注册表项 406

0586 删除注册表项 406

0587 向注册表中写入数据 407

0588 读取注册表中的数据 407

0589 列出指定注册表项下全部键值 408

0590 备份与恢复注册表 409

16.2 桌面 410

0591 设置系统墙纸 410

0592 修改桌面“我的电脑”的提示信息 410

0593 如何在桌面的任意位置显示墙纸 411

0594 在任务栏中添加自定义信息 412

16.3 优化系统性能 413

0595 如何实现自动登录 413

0596 如何快速显示窗口 414

0597 优化二级缓存 414

0598 优化系统关机速度 415

0599 禁止用户对虚拟内存的访问 415

16.4 IE浏览器设置 416

0600 设置IE默认首页 416

0601 清空IE网址中的历史记录 416

0602 设计修改IE标题栏和工具栏背景的程序 418

0603 隐藏IE属性中的选项 419

0604 禁止查看网页中的源文件 421

0605 禁止IE播放多媒体文件 421

0606 禁止对IE浏览器设置默认首页 422

16.5 “开始”菜单的相关设置 422

0607 如何在“开始”菜单中隐藏“关机”菜单项 422

0608 如何在“开始”菜单中隐藏“文档”菜单项 423

0609 如何在“开始”菜单中隐藏“运行”菜单项 423

0610 退出系统时清除“文档”中的历史记录 424

0611 禁止文档子菜单记录最近的工作信息 425

16.6 其他设置 426

0612 设计开机欢迎文字 426

0613 防止应用程序窗口失去焦点 426

0614 隐藏“添加/删除Windows组件”按钮 427

0615 隐藏计算机中的盘符 428

0616 禁止使用控制面板 430

0617 禁止使用注册表编辑器 431

0618 通过注册表获取时区信息 431

0619 通过注册表获取系统信息和用户注册信息 432

第17章 Windows相关开发技术 435

17.1 CPU 436

0620 获取CPU频率 436

0621 获取从开机到现在CPU运行的周期数 436

0622 获取CPU名称 437

0623 判断CPU是否支持MMX 438

17.2 系统控制 438

0624 计算机的关闭、重启和注销 438

0625 开关屏幕保护 439

0626 设计更换屏幕保护的程序 440

0627 设计屏幕保护的程序 441

0628 设置屏幕分辨率 442

0629 设置墙纸 443

0630 显示桌面 444

0631 让InputBox也能使用密码掩码 444

0632 控制系统菜单 445

0633 动态改变屏幕的显示模式 446

0634 在桌面上创建指定网址的快捷方式 446

0635 建立批处理文件的快捷方式 447

0636 Windows菜单字体的设置 448

17.3 系统状态栏的相关操作 448

0637 隐藏和显示任务栏 448

0638 隐藏、显示托盘图标 449

0639 隐藏状态栏中的时间 449

0640 如何设置“开始”按钮不可用 450

17.4 获取系统信息 450

0641 查看当前系统版本 450

0642 更改系统日期及时间 451

0643 获取系统字体的列表 452

0644 获取指定盘符中的路径 452

0645 获取系统内存信息 454

0646 如何使用DOS获取计算机的网络信息 454

17.5 获取Windows的相关文件 455

0647 按文件类型获取其图标 455

0648 监控剪贴板的文字内容 456

0649 输出Shell32.dll的图标 457

0650 从剪贴板中读取图片 458

17.6 Windows消息的相关控制 458

0651 程序最小时在任务栏中显示托盘图标 458

0652 动态最小化到状态栏托盘区 459

0653 屏幕取图(包含鼠标) 459

17.7 其他相关技巧 460

0654 如何让电脑发出滴声 460

0655 打开记事本和计算器 461

0656 对汉字输入法进行操作 461

0657 在组件中执行控制面板 462

0658 在Windows界面上不显示程序 464

0659 清空回收站 464

0660 给桌面加上一层阴影 465

第18章 程序应用控制 467

18.1 程序应用控制 468

0661 如何实现死循环的控制权转让 468

0662 调用外部的EXE文件 468

0663 保存程序的运行状态 469

0664 使窗体在最上面 470

0665 程序间的数据传递 470

0666 窗口最小化时应用程序标题栏闪动 471

0667 窗体失去焦点时标题栏闪动 471

0668 如何用Delphi调用压缩软件 472

18.2 Excel表 473

0669 创建Excel表 473

0670 打开已有的Excel表 473

0671 快速判断是否安装了Excel 474

0672 将Excel表存入到HTML中 474

0673 将数据表导入到Excel表中 475

0674 用回收站向Excel表中存入图片 476

0675 用文件的形式向Excel表中存入图片 477

0676 在Excel中插入图表 477

0677 将TDBGrid导入到Excel表中 478

18.3 Word表 480

0678 打开已有的Word文档 480

0679 无控件创建Word文档 480

0680 获取Word文档中选中的文本并对其进行修改 480

0681 向Word中插入字符 481

0682 统计Word文档的页数 482

0683 向Word中插入表格 482

0684 将Word文档存成txt格式 483

第19章 数据库技术 485

19.1 ADO应用技巧 486

0685 ADO异步执行 486

0686 ADO中的事务处理 487

0687 通过ADO对数据进行排序 488

0688 提高ADO的执行效率 489

0689 在实际开发中如何避免数据库死锁现象 490

0690 如何将Excel作为ADO的数据源 490

0691 通过ADO建立主/从表关系 491

0692 通过ADO的Lookup显示字段 492

0693 在ADO中撤销删除操作 493

0694 把记录集中的结果存到另一个记录集中 493

0695 判断ADO的状态 494

0696 通过ADO判断编辑前后的值是否相等 495

0697 优化ADO中的SQL语句 495

0698 在数据表中调整记录指针的位置 495

0699 如何及时看到其他用户修改过的数据 496

0700 获取ADO中的所有字段名 496

0701 用ADOStoredProc取得存储过程的参数列表 496

0702 如何设计Access语句执行器 497

0703 通过ADOX获取字段属性信息 498

0704 TADOQuery的Open与ExecSQL方法的区别 500

0705 ADO连接设置有密码的Access数据库 500

0706 判断指针记录是否被改变 501

19.2 控件与数据库应用技巧 502

0707 更改DBGrid某一行数据的颜色 502

0708 将字段内容添加到Com boBox控件中 502

0709 实现单击标题头对数据进行排序 503

0710 在DBGrid中实现分页功能 504

0711 在表格中显示行号 506

0712 在ADO中判断字段类型 506

0713 设置DBGrid控件的列宽 507

0714 将ADO中的数据保存为Excel 507

19.3 数据库的其他应用技巧 509

0715 获取记录集中的行数 509

0716 判断一个表在数据库中是否存在 509

0717 判断ADO是否为保存状态 510

0718 数据集过滤技巧 510

0719 判断读取的数据记录值为空 511

0720 在记录集中遍历大量数据时提高遍历速度 511

0721 根据查询条件定位数据集的指针 513

0722 连接SQL Server数据库 513

0723 在开发程序时数据库配置信息的保存位置 514

0724 程序里的图片、文档、音频等数据存储方式 515

0725 利用计算字段显示商品金额 515

0726 实现模糊的复合查询 516

0727 处理“键列信息不足或不正确…”的错误 517

0728 避免程序启动时提示“连接数据库失败” 517

0729 连接端口号已经更改了的SQL数据库 517

19.4 SQL Server数据库的相关技巧 518

0730 SQL Server 2000安装中文件挂起的解决方法-1 519

0731 SQL Server 2000安装中文件挂起的解决方法-2 519

0732 SQL Server 2000安装过程不成功的解决办法 519

0733 sa登录失败 520

0734 SQL Server 2000安装程序配置服务器失败的解决方案-1 520

0735 SQL Server 2000安装程序配置服务器失败的解决方案-2 521

0736 SQL Server 2000安装程序配置服务器失败的解决方案-3 521

0737 SQL Server 2000安装程序配置服务器失败的解决方案-4 522

0738 SQL Server 2000安装程序配置服务器失败的解决方案-5 522

0739 设置SQL Server登录密码 522

第20章 SQL查询相关技术 523

20.1 常用查询 524

0740 利用WHERE条件过滤数据 524

0741 查询数据为指定长度的数据 524

0742 正确使用单引号“’” 524

0743 应用LIKE进行模糊查询 524

0744 LIKE高级应用 525

0745 如何实现SQL中代替LIKE查询的另一种写法 527

0746 利用TOP查询数据 527

0747 查询10天内的登录信息 528

0748 如何自动生成一个序号 529

0749 如何对列进行计算 529

20.2 复杂查询 530

0750 获取第10~第20条的记录 530

0751 将姓名相同并且数据不相同的数据显示成一行 530

0752 如何实现复杂的嵌套查询 531

0753 嵌套查询在查询统计中的应用 532

0754 利用UNION进行联合查询 532

0755 如何实现一对多联合查询 533

20.3 重复记录 533

0756 利用关键字DISTINCT去除重复记录 533

0757 查询数据表中重复的记录 534

20.4 数据排序 535

0758 对查询结果进行排序 535

0759 在SQL查询中实现随机排序 535

0760 将获取的后5条记录进行正序排序的两种方式 536

0761 对联合查询后的结果进行排序 536

20.5 利用通配符查询数据 537

0762 如何在SQL查询中使用通配符 537

0763 利用“_”通配符查询数据 537

0764 利用“%”通配符查询数据 538

0765 利用“[]”通配符查询数据 538

0766 利用“[^]”通配符查询数据 539

20.6 比较、逻辑运算符查询 539

0767 使用比较运算符查询数据 539

0768 利用NOT关键字查询数据 541

0769 使用AND逻辑运算符查询数据 541

0770 使用OR逻辑运算符查询数据 542

0771 逻辑运算符的优先权 543

0772 同时使用AND和OR查询数据 543

0773 如何为一列指定多个查询条件 544

0774 如何为多列指定多个查询条件 544

20.7 谓词和关键字的查询 545

0775 利用IN谓词限定范围 545

0776 利用NOT IN限定范围 545

0777 利用ALL谓词限定范围 546

0778 利用ANY谓词限定范围 546

0779 利用BETWEEN AND子句筛选数据 547

0780 使用NOT BETWEEN进行范围查询 548

0781 利用IS NULL查询记录为空的数据 549

0782 利用IS NOT NULL查询记录不为空的数据 549

0783 利用EXISTS和NOT EXISTS替换IN和NOT IN的使用 549

20.8 批量添加、修改、删除 549

0784 批量添加数据 549

0785 批量修改数据 550

0786 批量删除数据 552

0787 快速清空数据记录 552

20.9 多表查询及联接查询 553

0788 利用from子句进行多表查询 553

0789 从多个表中合并数据 554

0790 利用INNER JOIN ON内联接关联数据表 554

0791 利用FULL OUTER JOIN外联接关联数据表 555

0792 利用LEFT OUTER JOIN左联接关联数据表 556

0793 利用RIGHT OUTER JOIN右联接关联数据表 557

0794 使用交叉联接(笛卡尔积)关联数据表 558

20.10 创建数据表 558

0795 用SQL语句将一个表的数据更新到另一个表 558

0796 建立一个与A表结构相同的新表 558

20.11 常用聚合函数 559

0797 如何应用MAX函数和MIN函数的应用 559

0798 巧用COUNT函数 559

0799 利用SUM函数计算商品销售总数量和总金额 559

0800 应用AVG函数计算操作员的平均年龄 560

20.12 常用数学函数 560

0801 使用ABS(绝对值)函数 560

0802 如何应用CEILING函数与FLOOR函数的应用 561

0803 如何应用LOWER函数与UPPER函数的应用 561

0804 使用ROUND(四舍五入)函数 562

0805 使用SQUARE(平方)函数和SQRT(平方根)函数 563

0806 使用RAND(随机浮点数)函数 563

0807 使用PI(圆周率)函数 564

20.13 常用字符串处理函数 564

0808 LEFT函数与RIGHT函数的应用 564

0809 使用REPLACE函数替换字符串 565

0810 使用SUBSTRING函数取得指定个数的字符串 565

0811 使用CHARINDEX函数返回字符串的起始位置 566

0812 使用REPLICATE函数以指定次数重复输出字符串 567

0813 使用REVERSE函数返回字符表达式的反转 567

0814 使用SPACE函数返回由重复的空格组成的字符串 568

0815 使用STUFF函数删除指定的字符并在指定的位置插入字符 568

20.14 常用日期和时间函数 568

0816 使用DATEADD函数添加日期时间 568

0817 使用DATEDIFF函数返回两个日期之间的时间差 569

0818 使用GETDATE函数返回当前系统的日期时间 570

0819 使用DATEPART函数返回指定日期部分的整数 570

0820 使用GETUTCDATE函数返回当前UTC时间 571

0821 YEAR、MONTH、DAY函数的应用 571

20.15 其他SQL相关 572

0822 如何查询数据表中所有字段的信息 572

0823 如何实现SQL Server中的存储过程加密 572

0824 如何在SQL中控制语句跳转 573

0825 将表中的密码字段进行加密 573

0826 判断一个字符类型的字段里的字符只是数字 573

0827 终止用户的进程 573

0828 如何修改SQL Server登录用户密码 573

0829 使用存储过程的好处 574

0830 实现动态交叉表 574

0831 如何实现事务的保存点 575

0832 获取服务器名称 575

0833 提高SQL性能及执行速度 576

0834 获取指定数据库的详细信息 576

20.16 访问外部数据 577

0835 创建链接服务器 577

0836 删除链接服务器 578

0837 向外部数据表中添加数据 579

0838 修改外部数据表中的数据 579

0839 删除外部数据表中的数据 579

0840 利用OpenQuery函数查询数据 579

0841 利用OpenDataSource函数访问Excel表格 580

0842 访问Access数据库中的数据 581

第21章 打印与报表技术 583

21.1 QuickReport相关报表组件 584

0843 掌握QuickReport组件的属性、方法和事件 584

0844 掌握TQRBand组件的属性、方法和事件 585

0845 掌握TQRExpr组件的属性、方法和事件 586

0846 掌握TQRDBText组件的属性、方法和事件 587

21.2 设计报表 588

0847 使用QuickReport向导创建报表 588

0848 使用QuickReport组件设计一个报表 589

0849 自制一个打印窗口 591

0850 如何设计一个标签式报表 592

0851 制作一个带图片的报表 594

0852 设计一个汇款单样式的报表 595

0853 如何实现快递单据打印 596

0854 在一页中打印指定行数的数据 597

0855 在报表的页脚中显示商品销售总数量 598

0856 在报表中进行页脚求和 599

21.3 打印文件 601

0857 如何打印图形 601

0858 如何打印文本文件 602

0859 如何打印指定路径下的图片 602

0860 如何打印RTF文件 603

0861 如何打印RichEdit组件中被选中的文本 603

0862 如何利用Excel打印报表 604

21.4 打印控制 606

0863 怎样实现横向打印 606

0864 如何进行批量打印 606

0865 如何设置纸张大小 607

0866 如何打印窗口中的数据 608

0867 怎样将报表导出为Word、Excel、.txt文件 609

21.5 其他相关技巧 609

0868 QuickReport报表组件的安装 609

0869 如何获取打印机的分辨率 611

0870 如何调用添加打印机向导窗口 613

0871 利用Rave打印条形码 613

0872 利用Rave设计主从式报表 614

第22章 图表技术 617

22.1 TDBChart图表技术 618

0873 如何将数据添加到图表上 618

0874 怎样打印图表 618

0875 修改图表的字体和颜色 618

0876 如何放大和缩小图表 619

0877 如何动态连接数据源 620

0878 向图表中插入背景图片 620

0879 控制图表是否为3D效果 621

0880 动态设置TDBchart的图表类型 622

0881 改变图表中柱图的颜色 622

0882 使用随机数填充图表 623

22.2 TChart图表技术 623

0883 设置图表渐变色 623

0884 如何在图表右侧添加标签 624

0885 设置图表背景色 625

0886 动态显示/隐藏数据标签 625

0887 动态添加图表 626

0888 如何打印或预览图表 626

0889 对图表打印预览窗口进行汉化 627

0890 将图表保存到图元文件中 627

0891 如何在图表中央绘制文字 628

0892 反转图表坐标 629

0893 如何实现图表缩放 629

0894 如何在图表中添加图形 630

0895 如何在图表中画十字 631

0896 如何实现饼形图表的转动 632

第23章 硬件相关技巧 633

23.1 IC卡 634

0897 如何将数据写入IC卡 634

0898 如何读取IC卡中的数据 635

0899 如何向IC卡中写入考勤信息 635

23.2 语音卡 636

0900 怎样通过语音卡显示来电 636

0901 怎样通过语音卡获取客户信息 638

0902 如何实现语音卡自助服务 638

0903 怎样使用语音卡录音 640

23.3 其他相关应用技巧 640

0904 如何在Delphi中实现短信群发 640

0905 如何测试端口是否有效 641

0906 如何实现视频采集 641

0907 获取内存信息 643

第24章 网络开发技术 645

24.1 计算机设置 646

0908 如何更改计算机名称 646

0909 修改本机IP地址 646

0910 根据本机名称获取本地IP地址 648

0911 根据指定的IP地址获取计算机名 649

0912 获取本机计算机名称 649

0913 获取工作组名称 650

0914 列举指定工作组中的计算机 652

0915 获取本机MAC地址 653

0916 如何更改DNS地址 654

24.2 网络通信 656

0917 使用POPUP发送信息 656

0918 实现Ping操作 657

0919 判断网络是否连接成功 659

0920 获取网络中某台计算机的可用磁盘空间 660

0921 怎样实现进程间通信 661

24.3 远程控制 662

0922 如何使用UDP进行远程控制 662

0923 怎样实现远程屏幕抓取 664

0924 如何用Socket实现远程文件的传递 667

24.4 局域网 672

0925 获取局域网内所有计算机的名称 672

0926 如何利用TTcpClient、TTcpServer组件进行网络连接 674

0927 在局域网中控制其他计算机 675

0928 如何映射网络驱动器 677

24.5 网络聊天室 679

0929 制作一个简单的网络聊天室 679

0930 利用UDP编写网络聊天室 680

24.6 其他相关应用技巧 683

0931 如何实现超级链接 683

0932 网络中的文件复制 684

0933 获得系统打开的端口和状态 685

0934 判断TCP/IP协议是否安装 685

0935 检索一个URL地址是否有效 686

0936 如何取得当前Modem的状态 687

0937 利用组件快速获取本地IP地址 688

第25章 Web相关技巧 689

25.1 XML 690

0938 如何实现XML数据文档的浏览 690

0939 如何向XML中添加数据 690

0940 如何向XML中添加对象 691

0941 如何向XML中添加RTTI信息 692

0942 如何用Tree显示XML信息 692

25.2 网页相关 693

0943 制作自己的网络浏览软件 693

0944 如何定时上Internet 694

0945 监测当前Internet的连接状态 694

0946 如何将网页转换成图片 695

0947 如何将一段HTML文字显示在网页浏览器中 696

0948 清除Internet Explorer临时文件 697

0949 获取IE收藏夹内容 697

0950 如何用TWebBrowser获取网页源代码 698

0951 提取网页中的所有链接 699

25.3 网络信息传输 700

0952 如何实现邮件发送 700

0953 如何实现邮件接收 700

0954 如何实现文件传输 702

0955 如何实现网络聊天(UDP) 703

0956 如何实现网络图像传输 704

第26章 安全技术 707

26.1 数据库安全技术 708

0957 怎样压缩SQL Server数据库 708

0958 怎样修改SQL服务器端口号 708

0959 怎样修改数据库登录密码 709

0960 如何创建数据库登录用户 710

0961 通过程序备份数据库 711

26.2 应用程序安全技术 712

0962 获得局域网内所有SQL Server 2000服务器名称 712

0963 如何生成软件产品序列号 712

0964 如何对数据进行加密 713

0965 通过Delphi为应用程序建立注册机制 713

0966 使应用程序处于锁定状态 714

0967 SQL Server数据库的安全配置 715

第27章 程序调试与错误处理 717

27.1 程序调试技巧 718

0968 如何在程序中设置断点 718

0969 如何在程序调试中获取变量的值 718

0970 对代码进行跟踪调试时Trace Into和Step Over之间的区别 719

0971 开发过程中错误调试的几种技术 719

0972 把调试信息存储在可执行文件中 719

0973 如何跟踪局部变量的值 720

0974 如何快速有效地调试循环语句 721

0975 调试程序语法是否有错误 721

0976 编程过程中常见的几种错误 721

0977 使程序运行时出现错误不弹出错误调试器 722

27.2 错误处理技术 723

0978 避免常见的几种指针错误 723

0979 在程序出错的时候把手工创建的对象释放 723

0980 try...finally...end与try...except...end的区别 723

0981 如何引发自定义异常 724

0982 在存储过程中实现异常处理的方法 724

0983 在SQL查询中返回用户定义的错误信息 724

0984 通过Application对象捕获异常 725

0985 如何处理API异常 725

0986 捕获多重异常 726

0987 常见的异常类 726

第28章 程序打包与安装 727

28.1 程序打包技巧 728

0988 如何对自己开发的软件进行打包 728

0989 如何在Install Shield中设置在安装向导中只显示典型安装 728

0990 如何在Install Shield中指定要打包的文件 729

0991 将Install Shield打包的程序安装在“开始”→“程序”菜单中 730

0992 如何设置在桌面上显示程序快捷方式 731

0993 如何在注册表中写入注册信息 731

0994 如何设置程序安装位置 732

0995 把Access数据库打包到安装程序中 733

0996 如何在Install Shield中创建INI文件 733

0997 如何在程序安装向导中自定义程序安装目录和数据库安装目录 735

28.2 程序安装技巧 735

0998 带有Access数据库的程序在安装时需要注意的问题 735

0999 卸载带有Access数据库的安装程序需要注意的问题 735

1000 使用Install Shield Limited打包的程序中文显示乱码的原因 736

1001 安装程序时需要注意的路径问题 736

第29章 第三方控件 737

29.1 cxGrid5.0应用技巧 738

1002 使用cxGrid实现日历功能 738

1003 如何在cxGrid中进行数据统计 739

1004 使用cxGrid进行父子表查询 740

1005 如何在cxGrid表格中重新定位光标 740

1006 使用cxGrid动态创建列 741

1007 取消cxGrid表头过滤功能 742

1008 设置货币字段格式 742

1009 把cxGrid的数据存为Excel格式 743

1010 把cxGrid的数据存为纯文本 744

1011 使用cxGrid以卡片形式显示数据 745

1012 设置cxGrid表格线的样式 746

1013 使cxGrid父子表展开和收拢 746

1014 判断cxGrid表格是否在filter状态 747

1015 设置cxGrid可以多选 748

1016 使cxGrid合并内容相同的单元 748

29.2 其他控件应用技巧 749

1017 使用cxDBTextEdit进行数据录入 749

1018 使cxLookupComboBox下拉列表中显示多列 750

1019 实现TdxDBTreeView节点拖曳 751

1020 实现TdxDBTreeView节点全部展开或收拢 752

1021 在TdxDBTreeView中单击节点实现展开和收拢 753