《Visual Basic开发实战宝典》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:高春艳,刘彬彬等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302210870
  • 页数:731 页
图书介绍:本书从初学者的角度讲述使用Visual Basic进行程序开发应该掌握的各项技术,突出基础、全面、深入,同时就像书名所暗示的一样,强调实战结果。

第1部分 基础知识 3

第1章Visual Basic集成开发环境 3

1.1 Visual Basic简介 4

1.1.1 Visual Basic概述 4

1.1.2 Visual Basic 6.0的特点 4

1.1.3 Visual Basic 6.0的局限性 5

1.2学习Visual Basic的好处 5

1.2.1 Visual Basic可以做什么 5

1.2.2学习VB的几点建议 6

1.3 VB开发环境的安装和程序启动 7

1.3.1 Visual Basic 6.0的运行环境 7

1.3.2 Visual Basic 6.0+SP6的安装 7

1.3.3 Visual Basic 6.0的启动 9

1.4 Visual Basic 6.0的集成开发环境 10

1.4.1集成开发环境简介 10

1.4.2菜单栏 11

1.4.3工具栏 13

1.4.4工具箱 14

1.4.5工程资源管理器 16

1.4.6属性窗口 17

1.4.7窗体布局窗口 18

1.4.8窗体设计器 18

1.4.9代码编辑窗口 19

1.5 VB的MDI和SDI开发环境 19

1.5.1多文档界面开发环境 20

1.5.2单文档界面开发环境 20

1.6开发环境使用技巧 20

1.6.1设置启动时保存 21

1.6.2自定义工具栏 22

1.6.3为代码编辑器设置鼠标滚动 22

1.6.4设置网格大小和不对齐到网格 23

1.6.5设置在编辑器中要求变量声明 24

1.6.6规范代码缩进格式 24

1.7 Visual Basic 6.0的帮助系统 25

1.7.1 MSDN Library的安装与使用 25

1.7.2利用附带的实例源程序学习编程 26

1.7.3使用Visual Basic的帮助菜单 27

1.8创建第一个VB程序 27

1.8.1创建工程文件 28

1.8.2设计界面 28

1.8.3编写代码 28

1.8.4调试运行 29

1.8.5保存工程 29

1.8.6编译程序 30

1.9利用应用程序向导自动生成应用程序 30

1.10小结 33

1.11实战练习 33

第2章VB语言基础 35

2.1关键字和标识符 36

2.2基本数据类型 36

2.2.1字符型 37

2.2.2数值型 38

2.2.3布尔型 39

2.2.4日期型 39

2.2.5变体型 40

2.2.6对象型 40

2.3记录类型 41

2.4枚举类型 42

2.5变量 43

2.5.1什么是变量 43

2.5.2变量的命名 43

2.5.3变量的声明 44

2.6变量的作用域 46

2.6.1静态变量 47

2.6.2变量同名问题的处理 47

2.7常量 48

2.7.1常量的声明 48

2.7.2局部常量和全局常量 49

2.8运算符 49

2.9表达式 51

2.9.1什么是表达式 51

2.9.2表达式的种类 51

2.9.3运算符在表达式中的优先级 53

2.10语言基础应用技巧 54

2.10.1如何处理溢出 54

2.10.2正确使用“&”和“+” 54

2.10.3正确使用Or、 Xor、 And、 Eqv、 Imp运算符 55

2.11小结 56

2.12实战练习 56

第3章 算法和程序控制结构 57

3.1算法 58

3.1.1什么是算法 58

3.1.2算法的特性 59

3.1.3算法的描述方法 59

3.1.4构成算法的基本控制结构 62

3.2顺序结构 64

3.2.1赋值语句 64

3.2.2数据的输入 66

3.2.3数据的输出 67

3.3选择结构 68

3.3.1单分支If…Then语句 69

3.3.2双分支If…Then…Else语句 70

3.3.3 If语句的嵌套 71

3.3.4多分支If…Then…ElseIf语句 75

3.3.5 Select Case语句 76

3.3.6 IIf函数 79

3.4循环结构 80

3.4.1 For…Next循环语句 80

3.4.2 For Each…Next循环语句 83

3.4.3 Do…Loop循环语句 83

3.4.4多重循环 87

3.4.5选择结构与循环结构的嵌套 88

3.5其他辅助控制语句 89

3.5.1跳转语句GoTo 89

3.5.2复用语句With…End With 90

3.5.3退出语句Exit 91

3.5.4结束语句End 91

3.6实战 92

3.6.1计算最大公约数和最小公倍数 92

3.6.2判断素数 94

3.6.3验证哥德巴赫猜想 95

3.7小结 96

3.8实战练习 97

第4章 数组与集合 99

4.1数组的概述 100

4.1.1数组的概念 100

4.1.2数组与简单变量的区别 100

4.1.3数组的分类 100

4.2静态数组 101

4.2.1静态数组的声明和使用 101

4.2.2一维数组 102

4.2.3二维数组 104

4.2.4多维数组 105

4.3动态数组 106

4.3.1动态数组的声明 106

4.3.2动态数组的使用 106

4.3.3数组的清除 107

4.4控件数组 108

4.4.1控件数组的概念 108

4.4.2控件数组的创建 108

4.4.3控件数组的使用 109

4.4.4加载和删除控件数组中的控件 109

4.5数组相关函数及语句 111

4.5.1使用Array函数创建数组 111

4.5.2使用UBound和LBound函数获取数组上下标 111

4.5.3使用Split函数生成一维字符串数组 112

4.5.4使用Option Base语句声明数组下标最大值 113

4.6集合 113

4.6.1集合的创建 113

4.6.2控件集合(Controls集合) 114

4.7实战 117

4.7.1动态添加和删除控件 117

4.7.2利用数组实现随机抽取幸运观众 119

4.7.3利用二维数组向网格控件中添加背景图片 120

4.8小结 122

4.9实战练习 122

第5章 过程 123

5.1认识过程 124

5.2事件过程 124

5.2.1建立事件过程 125

5.2.2调用事件过程 125

5.3子过程(Sub过程) 126

5.3.1建立子过程 126

5.3.2调用子过程 128

5.3.3调用其他模块中的子过程 129

5.4函数过程(Function过程) 129

5.4.1建立函数过程 129

5.4.2调用函数过程 130

5.4.3函数过程与子过程的区别 130

5.5参数的传递 131

5.5.1认识参数 131

5.5.2参数按值和按地址传递 132

5.5.3数组参数 134

5.5.4对象参数 135

5.6嵌套过程 136

5.7递归过程 137

5.8属性过程(Property过程) 138

5.8.1使用属性过程建立类的属性 138

5.8.2使用类属性 139

5.8.3只读属性和对象属性 140

5.9工程中的模块 140

5.9.1窗体模块 140

5.9.2标准模块 141

5.9.3类模块 142

5.9.4标准模块与类模块的区别 142

5.10过程的作用域 144

5.11实战 146

5.11.1编写计算圆面积的函数过程 146

5.11.2自定义二进制转换为十进制的函数 146

5.12小结 147

5.13实战练习 147

第6章 内置函数 149

6.1字符串函数 150

6.1.1获取字符长度(Len函数) 150

6.1.2取左(右)面指定个数的字符(Left和Right函数) 151

6.1.3截取字符串(Mid函数) 152

6.1.4获取字符出现的位置(InStr和InStrRev函数) 153

6.1.5去除空格(Trim、 RTrim、 Ltrim函数) 155

6.1.6将字符串转换为大(小)写(UCase和LCase函数) 156

6.2数学函数 158

6.2.1求绝对值(Abs函数) 158

6.2.2求平方根(Sqr函数) 158

6.2.3 e的n次方(Exp函数) 159

6.2.4求自然对数(Log函数) 160

6.2.5返回符号(Sgn 函数) 161

6.2.6取整(Int和Fix函数) 161

6.3判断函数 162

6.3.1判断是否为数组(IsArray函数) 162

6.3.2判断是否为Null ( IsNull函数) 163

6.3.3判断是否为数字(IsNumeric函数) 164

6.4类型转换函数 164

6.4.1转换为字符型(Str函数) 164

6.4.2转换为数值型(Val函数) 165

6.4.3转换为AscⅡI (Asc函数) 166

6.4.4转换为字符(Chr函数) 167

6.5日期和时间函数 168

6.5.1 Date、 Now和Time函数 168

6.5.2 Weekday函数 168

6.5.3返回年、月、日(Year、 Month、 Day函数) 170

6.5.4返回时、分、秒(Hour、 Minute、 Second函数) 170

6.6随机函数 171

6.6.1初始化随机数(Randomize函数) 171

6.6.2生成随机数(Rnd函数) 171

6.7格式化函数 172

6.8实战 175

6.8.1判断某个时间段里有多少个工作日 175

6.8.2数字时钟 176

6.8.3计算器 178

6.9小结 179

6.10实战练习 179

第2部分 技术应用 183

第7章 窗体和系统对象 183

7.1窗体概述 184

7.1.1窗体的结构 184

7.1.2模式窗体和无模式窗体 184

7.1.3 SDI窗体和MDI窗体 185

7.2窗体的属性 185

7.2.1名称(Name属性) 185

7.2.2标题(Caption属性) 186

7.2.3图标(Icon属性) 187

7.2.4背景(Picture属性) 187

7.2.5边框样式(BorderStyle属性) 188

7.3窗体的事件 190

7.3.1单击和双击(Click/DbClick事件) 190

7.3.2载入和卸载(Load/QueryUnload/Unload事件) 191

7.3.3初始化(Initialize事件) 192

7.3.4活动性(Activate/Deactivate事件) 193

7.3.5焦点事件(GotFocus/LostFocus事件) 194

7.3.6重绘(Paint事件) 195

7.3.7调整大小(Resize事件) 196

7.4窗体事件的生命周期 196

7.5窗体的方法 199

7.5.1加载窗体(Load方法) 199

7.5.2卸载窗体(Unload方法) 199

7.5.3显示窗体(Show方法) 200

7.5.4隐藏窗体(Hide方法) 201

7.5.5移动窗体(Move方法) 201

7.5.6清除窗体(Cls方法) 202

7.5.7在窗体上显示文本(Print方法) 202

7.5.8打印窗体(PrintForm方法) 203

7.6 MDI窗体 204

7.6.1 MDI窗体概述 204

7.6.2 MDI窗体的创建 204

7.6.3在MDI窗体中添加控件 205

7.6.4 MDI子窗体(MDIChild属性) 206

7.6.5 MDI窗体的特点 207

7.7窗体应用技巧 208

7.7.1如何设置闪烁的窗体标题栏 208

7.7.2如何设置窗体前置 209

7.7.3如何拖动无标题栏窗体移动 210

7.8系统对象 211

7.8.1应用程序对象(APP对象) 211

7.8.2屏幕对象(Screen对象) 215

7.8.3剪贴板对象(Clipboard对象) 216

7.8.4调试对象(Debug对象) 218

7.9实战 219

7.9.1在窗口中平铺图片 219

7.9.2透明窗体 220

7.9.3利用APP对象防止程序重复 221

7.9.4利用Screen对象获得系统中的可用字体 222

7.9.5记录剪贴板内容 223

7.10小结 224

7.11实战练习 224

第8章 常用标准控件 225

8.1控件概述 226

8.1.1控件的作用 226

8.1.2控件的分类 226

8.1.3控件的命名 227

8.1.4控件的属性、方法和事件 228

8.2控件的相关操作 228

8.2.1向窗体上添加控件 228

8.2.2设置控件大小和位置 229

8.2.3复制控件 229

8.2.4删除控件 229

8.2.5锁定控件 230

8.2.6使用窗体编辑器调整控件布局 230

8.3界面设计的基本原则 231

8.4标签控件(Label控件) 232

8.4.1标签控件概述 232

8.4.2标签控件常用属性 233

8.4.3利用标签控件实现鼠标交互效果 234

8.5文本框控件(TextBox控件) 234

8.5.1文本框控件概述 234

8.5.2文本框控件常用属性、方法和事件 235

8.5.3利用文本框控件实现用户登录 238

8.6命令按钮控件(CommandButton控件) 239

8.6.1命令按钮概述 239

8.6.2命令按钮的常用属性和事件 239

8.6.3利用命令按钮实现加载图片的功能 240

8.7单选按钮、复选框及框架 241

8.7.1单选按钮(OptionButton控件) 241

8.7.2复选框(CheckBox控件) 243

8.7.3框架(Frame控件) 243

8.7.4设置字体显示效果 244

8.8列表框控件(ListBox控件) 245

8.8.1列表框控件概述 245

8.8.2列表框控件常用属性 245

8.8.3随机抽取列表框中数据 249

8.9组合框控件(ComboBox控件) 250

8.9.1组合框控件概述 250

8.9.2组合框控件常用属性、方法、事件 250

8.9.3改变ComboBox控件下拉列表框的长度 252

8.10滚动条控件(HScrollBar和V ScrollBar控件) 253

8.10.1滚动条控件概述 253

8.10.2滚动条控件的属性和事件 253

8.10.3利用滚动条浏览大幅图片 254

8.11时钟控件(Timer控件) 255

8.11.1 Timer控件的属性和事件 255

8.11.2利用Timer控件设计小游戏 256

8.12实战 257

8.12.1利用基本控件实现显示学生信息 257

8.12.2为TextBox控件添加列表选择框 259

8.13小结 260

8.14实战练习 260

第9章 常用ActiveX控件 261

9.1 ActiveX控件的使用 262

9.1.1 ActiveX控件概述 262

9.1.2注册ActiveX控件 262

9.1.3添加ActiveX控件 264

9.1.4删除ActiveX控件 264

9.2图像列表控件(ImageList控件) 265

9.2.1认识ImageList控件 265

9.2.2添加图像 265

9.2.3与其他控件关联 266

9.2.4创建组合图像 268

9.3视图控件(ListView控件) 269

9.3.1认识ListView控件 269

9.3.2添加数据 270

9.3.3用ListView控件+数据表创建报表视图 271

9.3.4用ListView控件创建大图标视图 272

9.4树状控件(TreeView控件) 273

9.4.1认识TreeView控件 274

9.4.2添加数据 274

9.4.3删除指定节点数据 276

9.4.4节点展开与折叠 276

9.4.5用TreeView控件+数据表创建多级树状视图 276

9.5选项卡控件(SSTab控件) 280

9.5.1认识SSTab控件 280

9.5.2设置选项卡数目和行数 281

9.5.3在选项卡中添加控件 281

9.5.4运行时启用和停用选项卡 282

9.5.5定制不同样式的选项卡 282

9.5.6图形化选项卡 283

9.6进度条控件(ProgressBar控件) 284

9.6.1认识ProgressBar控件 284

9.6.2显示进展情况 284

9.6.3将Max属性设置为已知的界限 285

9.6.4隐藏ProgressBar控件 285

9.6.5用ProgressBar控件显示清空数据的进度 285

9.7日期/时间控件(DateTimePicker控件) 286

9.7.1认识DateTimePicker控件 286

9.7.2设置和返回日期 286

9.7.3实时读取DTPicker控件中的日期 287

9.7.4使用CheckBox属性选择无日期 287

9.7.5使用日期和时间的格式 288

9.7.6使用DTPicker控件计算日期或天数 289

9.8实战 290

9.8.1用TreeView控件制作程序主界面 290

9.8.2利用ListView控件浏览数据 291

9.9小结 293

9.10实战练习 294

第10章 菜单、工具栏和状态栏 295

10.1菜单概述 296

10.1.1菜单的概念 296

10.1.2菜单的组成 296

10.1.3菜单的状态 297

10.1.4菜单编辑器 297

10.2标准菜单 299

10.2.1最简菜单 299

10.2.2菜单无效状态 300

10.2.3级联菜单 301

10.2.4菜单分割条 301

10.2.5复选菜单 302

10.2.6菜单的快捷键和访问键 303

10.2.7创建菜单数组 304

10.2.8修饰菜单 305

10.2.9为菜单事件添加代码 305

10.3弹出式菜单 306

10.3.1弹出式菜单概述 306

10.3.2 PopupMenu方法 306

10.3.3弹出式菜单的设计和调用 307

10.3.4利用弹出式菜单为无标题栏窗体添加菜单 308

10.4菜单的编程 310

10.4.1菜单的多列显示 310

10.4.2可伸缩的菜单项 312

10.4.3为菜单添加图标 313

10.4.4菜单复制器 314

10.5工具栏设计 318

10.5.1工具栏概述 318

10.5.2利用Toolbar控件创建最简工具栏 318

10.5.3为工具栏按钮添加图片 319

10.5.4为工具栏按钮设置分组 320

10.5.5为工具栏添加下拉菜单 321

10.5.6给工具栏按钮添加事件处理代码 322

10.6状态栏设计 323

10.6.1状态栏概述 323

10.6.2利用状态栏显示操作员信息 324

10.6.3利用状态栏显示日期、时间 324

10.6.4利用状态栏显示鼠标位置 325

10.7实战 326

10.7.1改变菜单的颜色 326

10.7.2托盘上的弹出式菜单 326

10.7.3向工具栏中添加ComboBox控件 327

10.7.4在状态栏中显示窗体信息 328

10.8小结 329

10.9实战练习 329

第11章 对话框 331

11.1输入对话框 332

11.2消息对话框 333

11.3公用对话框 335

11.3.1公用对话框概述 335

11.3.2“打开”对话框 337

11.3.3“另存为”对话框 338

11.3.4“颜色”对话框 339

11.3.5“字体”对话框 340

11.3.6“打印”对话框 341

11.3.7“帮助”对话框 341

11.4实战 342

11.4.1使用“打开”对话框打开图片 342

11.4.2读取并保存INI文件 343

11.4.3使用“颜色”对话框设置文字颜色 344

11.5小结 345

11.6实战练习 345

第12章 文件系统编程 347

12.1文件的基本概念 348

12.1.1文件的一般结构 348

12.1.2文件的分类 348

12.1.3文件的访问方式 349

12.2顺序文件 350

12.2.1打开顺序文件 350

12.2.2关闭顺序文件 351

12.2.3读取顺序文件 351

12.2.4写入顺序文件 354

12.3随机文件 356

12.3.1随机文件的特点 356

12.3.2打开随机文件 357

12.3.3关闭随机文件 357

12.3.4读取随机文件 357

12.3.5写入随机文件 358

12.4二进制文件 359

12.4.1打开二进制文件 359

12.4.2二进制文件的关闭 360

12.4.3二进制文件的读取与写入操作 360

12.5文件操作函数 361

12.5.1利用CurDir函数获取路径 361

12.5.2利用FileLen函数返回文件长度 362

12.5.3利用EOF函数测试文件结束状态 362

12.5.4利用LOF函数获取打开文件的大小 363

12.5.5利用GetAttr函数获取文件属性 363

12.5.6利用FileDateTime函数获取文件创建或修改时间 364

12.6文件操作语句 364

12.6.1利用FileCopy语句复制文件 364

12.6.2利用Name语句重命名文件 365

12.6.3利用Kill语句删除文件 366

12.6.4利用ChDrive语句改变当前驱动器 367

12.6.5利用ChDir语句改变目录或文件夹 368

12.6.6利用MkDir语句创建目录或文件夹 368

12.6.7利用SetAttr语句设置文件属性 368

12.7文件系统控件 369

12.7.1驱动器列表框(DriveListBox控件) 369

12.7.2目录列表框(DirListBox控件) 371

12.7.3文件列表框(FileListBox控件) 372

12.7.4利用文件系统控件读取文件 376

12.8实战 377

12.8.1批量移动文件 377

12.8.2文件及文件夹名提取器 378

12.8.3文档编辑器 381

12.9小结 386

12.10实战练习 386

第13章 图形图像技术 387

13.1坐标系统 388

13.1.1默认的坐标系统 388

13.1.2自定义的坐标系统 388

13.2图形图像中的颜色 390

13.2.1 QBColor函数 390

13.2.2 RGB函数 391

13.3图形处理控件 391

13.3.1 Line控件 391

13.3.2利用Line控件设计分割线 392

13.3.3 Shape控件 393

13.4图像处理控件 394

13.4.1 Image控件 394

13.4.2利用Image控件制作小动画 395

13.4.3 PictureBox控件 395

13.4.4利用PictureBox控件浏览大幅图片 396

13.5图形属性 397

13.5.1使用CurrentX和CurrentY属性绘图坐标 397

13.5.2使用BackColor和ForeColor属性设置背景色和前景色 399

13.5.3使用FillColor和FillStyle属性设置填充效果 400

13.5.4使用DrawWidth、 DrawStyle和DrawMode属性设置绘制效果 401

13.5.5使用BorderStyle、BorderWidth和BorderColor属性设置图形的边框效果 404

13.6图形方法 405

13.6.1使用Cls方法清屏 405

13.6.2使用PSet方法画点 406

13.6.3使用Point方法获取颜色值 406

13.6.4使用Line方法画线 407

13.6.5使用Circle方法画圆 408

13.6.6使用PaintPicture方法绘制图形 410

13.7图形方法应用实例 411

13.7.1绘制矩形 411

13.7.2绘制彩色圆饼 412

13.7.3绘制抛物线 412

13.8图像处理函数 413

13.8.1使用LoadPicture函数加载图像 413

13.8.2使用SavePicture函数保存图片 414

13.9实战 415

13.9.1利用图片实现电影胶片的效果 415

13.9.2万花筒 416

13.9.3屏幕放大镜 418

13.10小结 421

13.11实战练习 422

第14章 多媒体技术 423

14.1 MMControl控件 424

14.1.1认识MMControl控件 424

14.1.2 MMControl控件的属性 424

14.1.3 MMControl控件的事件 429

14.2 MediaPlay控件 430

14.2.1认识MediaPlay控件 430

14.2.2 MediaPlay控件的属性 430

14.2.3 MediaPlay控件的方法 431

14.3 ShockwaveFlash控件 431

14.3.1认识ShockwaveFlash控件 432

14.3.2 ShockwaveFlash控件的属性 432

14.3.3 ShockwaveFlash控件的方法 433

14.3.4 ShockwaveFlash控件的事件 433

14.4 Animation控件 434

14.4.1认识Animation控件 434

14.4.2 Animation控件的属性 435

14.4.3 Animation控件的方法 435

14.5 DirectX 436

14.5.1下载和安装DirectX 436

14.5.2在VB中使用DirectX 437

14.5.3利用DirectSound编程实现实时混音 437

14.6实战 440

14.6.1 CD播放器 440

14.6.2 VCD播放器 441

14.6.3多媒体演示程序 443

14.7小结 444

14.8实战练习 444

第15章 鼠标键盘处理 445

15.1鼠标指针的设置 446

15.1.1设置鼠标指针形状 446

15.1.2设置鼠标为指定的图片 447

15.1.3设置鼠标为指定的动画 448

15.1.4设置窗体的鼠标样式 449

15.1.5设置系统的鼠标样式 451

15.2鼠标事件的响应 454

15.2.1鼠标单击和双击事件(Click和DbClick事件) 454

15.2.2鼠标按下和抬起(MouseDown和MouseUp事件) 455

15.2.3鼠标移动事件(MouseMove事件) 456

15.3拖放操作 457

15.3.1与拖放相关的属性(DragMode和DragIcon属性) 457

15.3.2与拖放相关的事件(DragDrop和DragOver事件) 458

15.3.3与拖放相关的方法(Move和Drag方法) 460

15.4键盘事件的响应 462

15.4.1 KeyDown事件和KeyUp事件的使用 462

15.4.2 KeyPress事件的使用 464

15.5实战 464

15.5.1交换鼠标左右键 464

15.5.2鼠标跟随 465

15.5.3为程序设置热键 467

15.6 小结 468

15.7实战练习 468

第16章 数据库开发技术 469

16.1 VB访问数据库 470

16.2 ODBC 470

16.2.1认识ODBC 470

16.2.2配置ODBC数据源 471

16.3 Data控件 473

16.3.1认识Data控件 473

16.3.2用Data控件连接数据库 473

16.3.3 Data控件的综合应用 474

16.4 DAO对象 475

16.4.1引用DAO对象 475

16.4.2 DAO对象的子对象 476

16.4.3 DAO对象的综合应用 480

16.5 ADO控件 483

16.5.1认识ADO控件 484

16.5.2用ADO控件连接各种数据源 484

16.5.3用ADO控件连接记录源 486

16.5.4 ADO控件常用属性、方法和事件 486

16.5.5 ADO控件的综合应用 487

16.6 ADO对象 488

16.6.1引用ADO对象 488

16.6.2 ADO对象的子对象 489

16.6.3连接多种数据库(Connection对象) 490

16.6.4连接记录源(Recordset对象) 491

16.6.5执行SQL语句(Command对象) 493

16.6.6 ADO对象的综合应用 494

16.7 RDO控件(远程数据控件) 495

16.7.1引用RDO控件到工程中 495

16.7.2 RDO控件与数据访问相关的属性 496

16.7.3使用RDO控件连接远程数据库 497

16.8数据库增、删、改、查技巧 498

16.8.1存取字段数据的几种方法 498

16.8.2使用数据绑定控件实现增、删、改 499

16.8.3非绑定控件的增、删、改 500

16.8.4使用ADO对象实现增、删、改 500

16.9实战 502

16.9.1获取SQL Server服务器中的所有数据库 502

16.9.2使用Openschema方法读取数据库结构 503

16.10小结 504

16.11实战练习 504

第17章 数据库控件 505

17.1 DBCombo和DBList控件 506

17.2 DataCombo和DataList控件 507

17.2.1认识DataCombo和DataList控件 507

17.2.2 DataCombo和DataList控件的属性 507

17.2.3显示关系表中的数据 508

17.3 DataGrid控件 509

17.3.1认识DataGrid控件 510

17.3.2用DataGrid控件显示数据 510

17.3.3格式化数据 512

17.3.4锁定数据 512

17.3.5将DataGrid控件中的数据显示在文本框中 513

17.4 MSFlexGrid和MSHFlexGrid控件 513

17.4.1认识MSHFlexGrid控件 514

17.4.2用MSHFlexGrid控件显示数据 514

17.4.3数据排序与合并 516

17.4.4隐藏行或列 517

17.4.5冻结字段 518

17.5实战 518

17.5.1加载企业部门名称 518

17.5.2驾驶员档案查询 521

17.5.3结账统计报表 522

17.6小结 526

17.7实战练习 526

第18章 数据环境设计器及报表生成 527

18.1添加数据环境对象 528

18.2 Connection对象 529

18.2.1添加Connection对象 529

18.2.2连接Connection对象 529

18.3 Command对象 531

18.3.1创建Command对象 531

18.3.2 Command对象的层次结构 533

18.3.3字段映射 538

18.4 DataReport 报表 539

18.4.1在工程中添加数据报表设计器 539

18.4.2数据报表设计器简介 539

18.4.3 DataReport对象的属性和方法 540

18.4.4设计简单的报表 541

18.5实战 543

18.5.1创建数据窗体 543

18.5.2添加、删除和修改记录 544

18.5.3向报表中添加日期、时间及页码 546

18.5.4主明细报表 547

18.5.5分组统计 550

18.6 小结 551

18.7实战练习 551

第19章 程序调试和错误处理 553

19.1常见错误 554

19.1.1编译时错误 554

19.1.2运行时错误 554

19.1.3逻辑错误 554

19.2 VB的调试工具 555

19.2.1设置自动语法检查 555

19.2.2利用VB的调试工具栏 556

19.3工作模式 557

19.3.1设计模式 557

19.3.2运行模式 557

19.3.3中断模式 557

19.4调试方法 558

19.4.1控制程序的执行 558

19.4.2设置断点 558

19.4.3使用立即窗口 559

19.4.4使用本地窗口 559

19.4.5使用监视窗口 560

19.5错误处理语句和对象 561

19.5.1 Err对象 561

19.5.2捕获错误(On Error语句) 562

19.5.3退出错误处理(Resume语句) 562

19.5.4编写错误处理函数 563

19.6常见错误的处理 564

19.6.1解决使用SetFocus方法时“无效的过程调用或参数”错误 564

19.6.2处理“对象变量或With块变量未设置”错误 564

19.6.3解决“找不到工程和库”错误 564

19.6.4解决没有启动窗体错误 564

19.6.5解决数组声明时“要求常量表达式”错误 565

19.7小结 566

第3部分 项目实战 569

第20章 企业人事管理系统 569

20.1需求分析 570

20.2系统设计 570

20.2.1系统目标 570

20.2.2系统功能结构 570

20.2.3系统预览 571

20.3数据库设计 572

20.3.1数据库概要说明 572

20.3.2数据库概念结构设计 573

20.3.3数据库逻辑结构设计 575

20.3.4触发器的创建 577

20.3.5自动计算列的创建 580

20.4公共模块设计 581

20.5主窗体设计 582

20.5.1主窗体概述 582

20.5.2技术分析 583

20.5.3 MDI主窗体实现过程 584

20.5.4菜单实现过程 585

20.5.5工具栏实现过程 586

20.5.6背景图窗体自适应 587

20.6添加员工信息模块设计 588

20.6.1添加员工信息模块概述 588

20.6.2技术分析 588

20.6.3添加员工信息模块的窗体设计 592

20.6.4使“编号”文本框获得焦点 592

20.6.5初始化列表项 593

20.6.6控件焦点的自动转移 594

20.6.7选择员工照片 595

20.6.8添加/修改员工信息 595

20.7添加/修改部门信息模块设计 597

20.7.1添加/修改部门信息模块概述 597

20.7.2技术分析 598

20.7.3添加/修改部门信息模块的窗体设计 599

20.7.4添加/修改部门信息模块的初始化 600

20.7.5添加或修改部门信息 600

20.8添加/修改出勤模块设计 601

20.8.1添加/修改出勤模块概述 601

20.8.2技术分析 602

20.8.3添加/修改出勤模块的窗体设计 603

20.8.4选择员工 604

20.8.5添加/修改出勤 608

20.9员工公出/请假模块设计 612

20.9.1员工公出/请假模块概述 612

20.9.2员工公出/请假模块窗体设计 612

20.9.3技术分析 613

20.9.4添加或修改员工公出/请假模块实现过程 614

20.9.5员工公出/请假模块实现过程 615

20.10工资信息管理模块设计 618

20.10.1工资信息管理模块概述 618

20.10.2技术分析 618

20.10.3工资信息管理模块的窗体设计 620

20.10.4选择工资月份 621

20.10.5查询工资信息 622

20.10.6工资信息导为Excel表 623

20.10.7修改工资信息 623

20.10.8批量修改工资信息 624

20.10.9过期工资处理 624

20.11文件清单 625

20.12小结 626

第21章叶子图像处理专家 627

21.1需求分析 628

21.2系统设计 628

21.2.1系统目标 628

21.2.2系统功能结构 628

21.3系统运行环境 629

21.4创建项目 629

21.5启动窗体的设计 629

21.5.1设计窗体界面 630

21.5.2添加资源文件 631

21.5.3代码注册Flash控件 632

21.5.4调用Flash动画 632

21.6主窗体设计 633

21.6.1设计窗体界面 634

21.6.2设计菜单栏 634

21.6.3设计状态栏 636

21.6.4窗体初始化 637

21.6.5工具栏调用系统功能 637

21.6.6打开图片 639

21.6.7显示历史图片 640

21.6.8撤销/重复执行 641

21.6.9浏览大幅图片 643

21.7图像旋转 644

21.7.1图像旋转窗体的设计 645

21.7.2使用二次插值法缩放图片 645

21.7.3设置旋转角度 648

21.8图像的剪切与合成 650

21.8.1设计图像合成窗体 650

21.8.2利用资源文件加载剪切鼠标 651

21.8.3图像的剪切 651

21.8.4选择合成方式 652

21.8.5设置合成图片的坐标位置 653

21.8.6图像的合成 653

21.9设置图片大小 653

21.9.1窗体界面设计 654

21.9.2锁定纵横比率 654

21.9.3调整图片的大小 655

21.10“滤镜”窗体的设计 656

21.10.1设计“滤镜”窗体界面 656

21.10.2选择滤镜 657

21.10.3图片预览 659

21.10.4应用到主窗体图片上 659

21.11滤镜算法 660

21.11.1图像锐化算法 660

21.11.2图像柔化算法 661

21.11.3图像浮雕算法 662

21.11.4图像扩散算法 663

21.11.5图像轮廓算法 665

21.11.6图像饱和度算法 666

21.11.7图像亮度算法 667

21.12运行项目 669

21.13程序打包 670

21.14开发常见问题与解决 670

21.14.1图像框中不显示输出图像 670

21.14.2 Win32系统错误处理 671

21.15 小结 671

第22章 个人文档管理系统 673

22.1需求分析 674

22.2系统设计 674

22.2.1系统功能结构 674

22.2.2系统预览 674

22.2.3业务流程图 675

22.3系统运行环境 676

22.4数据库设计 676

22.4.1数据库概要说明 676

22.4.2数据库概念设计 677

22.4.3主要数据表结构 677

22.5数据模块设计 679

22.6主窗体界面设计 679

22.7文档类别管理 680

22.8文档信息添加 680

22.9文档信息查询 681

22.10文档信息打印 681

22.11小结 682

第23章 无纸化考试系统 683

23.1需求分析 684

23.2系统分析 684

23.2.1需求分析 684

23.2.2可行性分析 684

23.3系统设计 684

23.3.1系统目标 684

23.3.2系统功能结构 685

23.3.3系统预览 685

23.3.4业务流程图 687

23.4系统运行环境 687

23.5数据库设计 687

23.5.1数据库概要说明 687

23.5.2数据库概念设计 688

23.5.3数据库逻辑设计 689

23.6公共模块设计 691

23.7系统登录模块设计 693

23.7.1系统登录模块概述 693

23.7.2系统登录技术分析 693

23.8主窗体设计 694

23.8.1主窗体模块概述 694

23.8.2主窗体模块技术分析 695

23.9考试窗体设计 695

23.9.1考试窗体模块概述 695

23.9.2考试窗体技术分析 696

23.10后台管理员窗体设计 697

23.10.1管理窗体模块概述 697

23.10.2管理窗体技术分析 698

23.11修改试题窗体设计 699

23.11.1修改试题窗体概述 699

23.11.2修改试题窗体技术分析 699

23.12开发技巧与难点分析 700

23.13小结 701

第24章 局域网聊天系统 703

24.1需求分析 704

24.2系统设计 704

24.2.1系统目标 704

24.2.2系统功能结构 704

24.2.3系统预览 705

24.2.4业务流程图 706

24.3数据库设计 706

24.3.1数据库概要说明 706

24.3.2数据库概念设计 706

24.3.3数据库逻辑设计 707

24.3.4触发器的创建 708

24.4公共模块 711

24.5主窗体 714

24.6系统登录模块设计 714

24.7通话模块 714

24.8添加好友模块 715

24.9好友分组模块 715

24.10系统服务器 716

24.11开发技巧与难点分析 716

24.11.1窗体透明 716

24.11.2 Flash透明 718

24.11.3系统托盘及其应用 719

24.12小结 719

附录A代码编写规则 721

附录B VB内部函数 725