《Visual Basic从入门到精通》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:刘彬彬,安剑等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302226611
  • 页数:565 页
图书介绍:本书从初学者角度出发,详细介绍了使用Visual Basic进行程序开发应该掌握的各方面技术。

第1篇 基础知识 3

第1章 初识Visual Basic 6.0 3

1.1 Visual Basic简介 4

1.1.1 Visual Basic的发展 4

1.1.2 Visual Basic 6.0的特点 4

1.2 如何学好VB 5

1.2.1 VB可以做什么 5

1.2.2 学习VB的几点建议 6

1.3 VB 6.0的安装与管理 6

1.3.1 VB 6.0的运行环境 6

1.3.2 VB 6.0+SP6的安装 7

1.3.3 VB 6.0的更改或删除 9

1.4 VB 6.0的启动 10

1.4.1 通过“开始”菜单启动 10

1.4.2 通过快捷方式启动 10

1.5 VB 6.0的集成开发环境 12

1.5.1 集成开发环境简介 12

1.5.2 菜单栏 13

1.5.3 工具栏 15

1.5.4 工具箱 16

1.5.5 工程资源管理器 18

1.5.6 属性窗口 19

1.5.7 窗体布局窗口 20

1.5.8 窗体设计器 21

1.5.9 代码编辑窗口 21

1.6 定制开发环境 22

1.6.1 设置在编辑器中要求变量声明 22

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

1.6.3 设置启动时保存 23

1.6.4 定制工具栏 24

1.6.5 为代码编辑器设置鼠标滚动 25

1.7 VB 6.0的帮助系统 26

1.7.1 MSDN Library的安装与使用 26

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

1.7.3 使用VB的帮助菜单 29

1.8 创建第一个VB程序 29

1.8.1 创建工程文件 29

1.8.2 设计界面 30

1.8.3 编写代码 30

1.8.4 调试运行 31

1.8.5 保存工程 31

1.8.6 编译程序 32

1.9 小结 32

第2章 VB语言基础 33

2.1 关键字和标识符 34

2.2 数据类型 34

2.2.1 基本数据类型 35

2.2.2 记录类型 38

2.2.3 枚举类型 40

2.3 变量 40

2.3.1 什么是变量 41

2.3.2 变量的命名 41

2.3.3 变量的声明 42

2.3.4 变量的作用域 44

2.3.5 静态变量 45

2.3.6 变量同名问题的处理 46

2.3.7 变量的生命周期 47

2.4 常量 47

2.4.1 常量的声明 47

2.4.2 局部常量和全局常量 48

2.5 运算符和表达式 48

2.5.1 运算符 48

2.5.2 表达式 50

2.5.3 运算符的优先级 51

2.6 代码编写规则 51

2.6.1 对象命名规则 51

2.6.2 代码书写规则 53

2.6.3 处理关键字冲突 54

2.6.4 代码注释规则 54

2.7 小结 56

2.8 练习与实践 56

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

3.1 算法 58

3.1.1 什么是算法 58

3.1.2 算法的特性 59

3.1.3 算法的描述方法 59

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

3.2 顺序结构 64

3.2.1 赋值语句 64

3.2.2 数据的输入 66

3.2.3 数据的输出 67

3.3 选择结构 69

3.3.1 单分支If...Then语句 69

3.3.2 双分支If...Then...Else语句 71

3.3.3 If语句的嵌套 72

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

3.3.5 Select Case语句 77

3.3.6 IIf函数 78

3.4 循环结构 79

3.4.1 For...Next循环语句 79

3.4.2 For Each...Next循环语句 82

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 90

3.5.4 结束语句End 91

3.6 小结 92

3.7 练习与实践 92

第4章 数组的声明和应用 93

4.1 数组的概述 94

4.1.1 数组的概念 94

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

4.2 数组的分类 95

4.2.1 静态数组 95

4.2.2 动态数组 97

4.2.3 一维数组 99

4.2.4 数组中的数组 100

4.2.5 二维数组及多维数组 101

4.3 数组的基本操作 102

4.3.1 数组元素的输入 103

4.3.2 数组元素的输出 104

4.3.3 数组元素的插入 104

4.3.4 数组元素的删除 105

4.3.5 数组元素的查找 105

4.3.6 数组元素的排序 106

4.4 记录数组 108

4.4.1 记录数组的概念 108

4.4.2 记录数组的使用 109

4.5 控件数组 109

4.5.1 控件数组的概念 109

4.5.2 创建控件数组 110

4.5.3 使用控件数组 110

4.6 数组相关函数及语句 113

4.6.1 Array函数 113

4.6.2 UBound函数和LBound函数 114

4.6.3 Split函数 114

4.6.4 Option Base语句 115

4.7 小结 116

4.8 练习与实践 116

第5章 过程的创建和使用 117

5.1 认识过程 118

5.2 事件过程 118

5.2.1 建立事件过程 119

5.2.2 调用事件过程 119

5.3 子过程(Sub过程) 120

5.3.1 建立子过程 120

5.3.2 调用子过程 122

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

5.4 函数过程(Function过程) 124

5.4.1 建立函数过程 124

5.4.2 调用函数过程 124

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

5.5 参数的传递 125

5.5.1 认识参数 125

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

5.5.3 数组参数 128

5.5.4 对象参数 129

5.6 嵌套过程 130

5.7 递归过程 132

5.8 属性过程(Property过程) 133

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

5.8.2 使用类属性 135

5.8.3 只读属性和对象属性 136

5.9 小结 136

5.10 练习与实践 136

第6章 内置函数与API函数 138

6.1 数学函数 138

6.1.1 Abs函数(求绝对值) 138

6.1.2 Exp函数(e的n次方) 138

6.1.3 Sgn函数(返回符号) 139

6.1.4 Sqr函数(平方根) 140

6.2 字符串函数 140

6.2.1 Len函数 140

6.2.2 Left和Right函数 141

6.2.3 Mid函数 142

6.2.4 Trim、RTrim、LTrim函数(去空格) 142

6.3 类型转换函数 143

6.3.1 Asc函数(转换为ASCII) 143

6.3.2 Chr函数(转换为字符) 143

6.3.3 Val函数(转换为数值型) 144

6.3.4 Str函数(转换为字符型) 144

6.4 判断函数 145

6.4.1 IsNull函数 145

6.4.2 IsNumeric函数 146

6.4.3 IsArray函数 146

6.5 日期和时间函数 147

6.5.1 Date函数、Now函数、Time函数 147

6.5.2 Timer函数 147

6.5.3 Weekday函数 148

6.5.4 Year、Month、Day函数(年、月、日) 150

6.5.5 Hour、Minute、Second函数(时、分、秒) 150

6.6 随机函数 151

6.6.1 Randomize函数 151

6.6.2 Rnd函数 152

6.7 格式化函数 153

6.8 API函数 155

6.8.1 API的概念 155

6.8.2 API的相关概念 157

6.9 API浏览器 158

6.9.1 启动API浏览器 158

6.9.2 API浏览器的加载 159

6.9.3 API浏览器的使用 160

6.10 API的使用 162

6.10.1 API函数的声明 162

6.10.2 API常数与类型 163

6.11 API函数的调用 164

6.12 小结 164

6.13 练习与实践 165

第2篇 核心技术 169

第7章 窗体和系统对象 169

7.1 窗体的概述 170

7.1.1 窗体的结构 170

7.1.2 模式窗体和无模式窗体 170

7.1.3 SDI窗体和MDI窗体 171

7.1.4 添加和移除窗体 173

7.1.5 加载(Load)与卸载(Unload)窗体 174

7.2 窗体的属性 175

7.2.1 名称(Name属性) 176

7.2.2 标题(Caption属性) 176

7.2.3 图标(Icon属性) 177

7.2.4 背景(Picture属性) 178

7.2.5 边框样式(BorderStyle属性) 179

7.2.6 显示状态(WindowsState属性) 180

7.2.7 显示位置(StartUpPosition属性) 181

7.3 窗体的方法 182

7.3.1 显示窗体(Show方法) 182

7.3.2 隐藏窗体(Hide方法) 183

7.3.3 移动窗体(Move方法) 183

7.4 窗体的事件 184

7.4.1 单击和双击(Click/DblClick事件) 184

7.4.2 载入和卸载(Load/QueryUnload/Unload事件) 185

7.4.3 活动性(Activate/Deactivate事件) 187

7.4.4 初始化(Initialize事件) 188

7.4.5 调整大小(Resize事件) 189

7.4.6 重绘(Paint事件) 190

7.4.7 焦点事件(GotFocus/LostFocus事件) 190

7.5 窗体事件的生命周期 191

7.5.1 窗体启动过程 191

7.5.2 窗体运行过程 192

7.5.3 窗体关闭过程 192

7.6 MDI窗体 194

7.6.1 MDI窗体概述 194

7.6.2 MDI窗体的添加和移除 195

7.6.3 MDI子窗体(MDIChild属性) 197

7.6.4 MDI程序的特点 198

7.6.5 MDI主窗体的设计 199

7.7 系统对象 200

7.7.1 应用程序对象(APP对象) 200

7.7.2 屏幕对象(Screen对象) 202

7.7.3 剪贴板对象(Clipboard对象) 203

7.7.4 调试对象(Debug对象) 203

7.8 小结 204

7.9 练习与实践 204

第8章 标准模块和类模块 205

8.1 标准模块 206

8.1.1 标准模块概述 206

8.1.2 添加标准模块 206

8.2 类模块 207

8.2.1 类模块的概述 207

8.2.2 添加类模块 208

8.3 标准模块和类模块的区别 209

8.4 小结 209

8.5 练习与实践 209

第9章 常用标准控件 211

9.1 控件概述 212

9.1.1 控件的作用 212

9.1.2 控件的属性、方法和事件 212

9.1.3 控件的分类 213

9.2 控件的相关操作 214

9.2.1 向窗体上添加控件 214

9.2.2 调整控件的大小 214

9.2.3 复制与删除控件 214

9.2.4 使用窗体编辑器调整控件布局 215

9.2.5 锁定控件 216

9.3 标签和文本框 217

9.3.1 标签(Label控件) 217

9.3.2 文本框(TextBox控件) 218

9.4 命令按钮 222

9.4.1 命令按钮的属性 222

9.4.2 命令按钮的事件 223

9.5 单选按钮、复选框及框架 224

9.5.1 单选按钮(OptionButton控件) 224

9.5.2 复选框(CheckBox控件) 226

9.5.3 框架(Frame控件) 226

9.6 列表框与组合框 228

9.6.1 列表框(ListBox控件) 228

9.6.2 组合框(ComboBox控件) 232

9.7 滚动条 234

9.8 Timer控件 237

9.9 小结 239

9.10 练习与实践 239

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

10.1 菜单概述 242

10.1.1 菜单的组成 242

10.1.2 菜单编辑器 243

10.2 标准菜单 245

10.2.1 创建最简菜单 245

10.2.2 设置菜单的快捷键和访问键 246

10.2.3 创建级联菜单 247

10.2.4 创建复选菜单 247

10.2.5 设置菜单分隔条 248

10.2.6 设置菜单无效 248

10.2.7 为菜单事件添加代码 249

10.3 弹出式菜单 249

10.3.1 弹出式菜单概述 249

10.3.2 PopupMenu方法 249

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

10.4 菜单数组 251

10.4.1 创建菜单数组 251

10.4.2 为菜单数组编写代码 252

10.5 工具栏设计 253

10.5.1 工具栏概述 253

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

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

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

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

10.5.6 为工具栏按钮添加事件处理代码 257

10.6 状态栏设计 258

10.6.1 状态栏概述 258

10.6.2 在状态栏中显示日期、时间 258

10.6.3 在状态栏中显示操作员信息 259

10.6.4 在状态栏中显示鼠标位置 260

10.7 小结 260

10.8 练习与实践 261

第11章 对话框 263

11.1 输入对话框(InputBox) 264

11.2 消息对话框(MsgBox) 265

11.3 公用对话框 267

11.3.1 公用对话框概述 267

11.3.2 “打开”对话框 269

11.3.3 “另存为”对话框 270

11.3.4 “颜色”对话框 272

11.3.5 “字体”对话框 272

11.3.6 “打印”对话框 274

11.3.7 “帮助”对话框 275

11.4 小结 275

11.5 练习与实践 275

第12章 常用ActiveX控件 277

12.1 ActiveX控件的使用 278

12.1.1 添加ActiveX控件 278

12.1.2 删除ActiveX控件 279

12.1.3 注册ActiveX控件 279

12.2 图像列表控件(ImageList) 281

12.2.1 认识ImageList控件 281

12.2.2 添加图像 281

12.2.3 与其他控件关联 283

12.2.4 创建组合图像 285

12.3 视图控件(ListView) 285

12.3.1 认识ListView控件 286

12.3.2 添加数据 286

12.3.3 用“ListView控件+数据表”创建报表视图 287

12.3.4 用ListView控件创建大图标视图 289

12.4 树状控件(TreeView) 290

12.4.1 认识TreeView控件 290

12.4.2 添加数据 290

12.4.3 删除指定节点数据 292

12.4.4 节点展开与折叠 292

12.4.5 用“TreeView控件+数据表”创建多级树状视图 293

12.5 选项卡控件(SSTab) 297

12.5.1 认识SSTab控件 297

12.5.2 设置选项卡数目和行数 298

12.5.3 在选项卡中添加控件 298

12.5.4 运行时启用和停用选项卡 298

12.5.5 定制不同样式的选项卡 299

12.5.6 图形化选项卡 300

12.6 进度条(ProgressBar) 301

12.6.1 认识ProgressBar控件 301

12.6.2 显示进展情况 302

12.6.3 将Max属性设置为已知的界限 302

12.6.4 隐藏ProgressBar控件 302

12.6.5 用ProgressBar控件显示清空数据的进度 302

12.7 日期/时间控件(DateTimePicker) 303

12.7.1 认识DateTimePicker控件 304

12.7.2 设置和返回日期 304

12.7.3 实时读取DTPicker控件中的日期 305

12.7.4 使用CheckBox属性来选择无日期 305

12.7.5 使用日期和时间的格式 305

12.7.6 使用DTPicker控件计算日期或天数 307

12.8 小结 308

12.9 练习与实践 308

第13章 鼠标键盘处理 309

13.1 鼠标指针的设置 310

13.1.1 设置鼠标指针形状 310

13.1.2 设置鼠标指针为指定的图片 311

13.1.3 设置鼠标指针为指定的动画 311

13.2 鼠标事件的响应 312

13.2.1 鼠标单击和双击(Click事件和DblClick事件) 313

13.2.2 鼠标按下和抬起(MouseDown事件和MouseUp事件) 313

13.2.3 鼠标移动(MouseMove事件) 314

13.2.4 鼠标拖放(OLE拖放操作) 315

13.3 键盘事件的响应 319

13.3.1 ASCII码 319

13.3.2 KeyDown事件和KeyUp事件的使用 319

13.3.3 KeyPress事件的使用 322

13.4 小结 323

13.5 练习与实践 323

第14章 程序调试和错误处理 325

14.1 错误类型 326

14.1.1 编译错误 326

14.1.2 运行错误 327

14.1.3 逻辑错误 327

14.2 工作模式 327

14.2.1 设计模式 328

14.2.2 运行模式 328

14.2.3 中断模式 328

14.3 调试工具及使用 328

14.3.1 调试工具栏的使用 329

14.3.2 本地窗口的使用 329

14.3.3 立即窗口的使用 330

14.3.4 监视窗口的使用 330

14.3.5 插入断点和逐语句跟踪 332

14.4 错误处理语句和对象 332

14.4.1 Err对象 332

14.4.2 捕获错误(On Error语句) 333

14.4.3 退出错误处理(Resume语句) 334

14.4.4 编写错误处理函数 335

14.5 小结 335

第15章 文件系统编程 337

15.1 文件的基本概念 338

15.1.1 文件的结构 338

15.1.2 文件的分类 338

15.1.3 文件处理的一般步骤 339

15.2 文件系统控件 339

15.2.1 驱动器列表框(DriveListBox控件) 340

15.2.2 目录列表框(DirListBox控件) 341

15.2.3 文件列表框(FileListBox控件) 343

15.2.4 文件系统控件的联动 346

15.3 文件的操作语句 347

15.3.1 改变当前驱动器(ChDrive语句) 347

15.3.2 改变目录或文件夹(ChDir语句) 348

15.3.3 删除文件(Kill语句) 348

15.3.4 创建目录或文件夹(MkDir语句) 350

15.3.5 复制文件(FileCopy语句) 350

15.3.6 重命名(Name语句) 351

15.3.7 设置文件属性(SetAttr语句) 352

15.4 常用的文件操作函数 352

15.4.1 获取路径(CurDir函数) 352

15.4.2 获取文件属性(GetAttr函数) 353

15.4.3 获取文件创建或修改时间(FileDateTime函数) 354

15.4.4 返回文件长度(FileLen函数) 354

15.4.5 测试文件结束状态(EOF函数) 354

15.4.6 获取打开文件的大小(LOF函数) 355

15.5 顺序文件 355

15.5.1 顺序文件的打开与关闭 356

15.5.2 顺序文件的读取操作 357

15.5.3 顺序文件的写入操作 360

15.6 随机文件 362

15.6.1 随机文件的打开与关闭 362

15.6.2 读取随机文件 362

15.6.3 写入随机文件 363

15.7 二进制文件 365

15.7.1 二进制文件的打开与关闭 365

15.7.2 二进制文件的读取与写入操作 365

15.8 小结 367

15.9 练习与实践 367

第3篇 高级应用 371

第16章 图形图像技术 371

16.1 图形图像处理基础 372

16.1.1 系统颜色 372

16.1.2 在对象浏览器中查看系统颜色常量 372

16.1.3 QBColor函数 373

16.1.4 RGB函数 373

16.2 坐标系统 374

16.2.1 默认的坐标系统 374

16.2.2 自定义的坐标系统 374

16.3 图形外观效果 376

16.3.1 绘图坐标 376

16.3.2 图形位置和大小 376

16.3.3 图形的边框效果 377

16.3.4 绘制效果 378

16.3.5 前景色和背景色 378

16.3.6 填充效果 379

16.4 绘图方法 379

16.4.1 画点 379

16.4.2 画线 380

16.4.3 画圆 381

16.4.4 清屏 382

16.4.5 获取颜色值 383

16.4.6 绘制图形 383

16.5 图像处理函数 384

16.5.1 加载图像(LoadPicture函数) 384

16.5.2 保存图片(SavePicture函数) 384

16.6 图形、图像处理控件 385

16.6.1 Shape控件 385

16.6.2 Line控件 386

16.6.3 PictureBox控件 386

16.6.4 Image控件 387

16.7 小结 388

16.8 练习与实践 388

第17章 多媒体技术 391

17.1 MMControl控件 392

17.1.1 认识MMControl控件 392

17.1.2 MMControl控件的属性 392

17.1.3 MMControl控件的事件 397

17.2 Animation控件 398

17.2.1 认识Animation控件 398

17.2.2 Animation控件的属性 398

17.2.3 Animation控件的方法 399

17.3 MediaPlay控件 400

17.3.1 认识MediaPlay控件 401

17.3.2 MediaPlay控件的属性 401

17.3.3 MediaPlay控件的方法 402

17.4 ShockwaveFlash控件 403

17.4.1 认识ShockwaveFlash控件 403

17.4.2 ShockwaveFlash控件的属性 404

17.4.3 ShockwaveFlash控件的方法 405

17.4.4 ShockwaveFlash控件的事件 405

17.5 DirectX 406

17.5.1 下载和安装DirectX 406

17.5.2 在VB中使用DirectX 407

17.5.3 利用DirectSound编程实现实时混音 407

17.6 多媒体综合应用 410

17.6.1 CD播放器 410

17.6.2 VCD播放器 411

17.6.3 多媒体演示程序 413

17.7 小结 414

17.8 练习与实践 414

第18章 SQL应用 415

18.1 数据库的基本知识 416

18.1.1 什么是数据库 416

18.1.2 数据库软件的安装和使用 416

18.2 SQL基础 421

18.2.1 什么是SQL 421

18.2.2 执行SQL语句的工具 422

18.3 检索数据(SELECT子句) 423

18.3.1 SELECT子句 424

18.3.2 检索单个列 425

18.3.3 检索多个列 425

18.3.4 检索所有列 426

18.4 排序检索数据(ORDERBY子句) 426

18.4.1 排序数据 426

18.4.2 按多个列排序 426

18.4.3 按列位置排序 427

18.4.4 指定排序方向 427

18.4.5 对新生成的列进行排序 428

18.5 过滤数据(WHERE子句) 428

18.5.1 使用WHERE子句 429

18.5.2 WHERE子句比较运算符 429

18.5.3 检索指定范围的值 430

18.5.4 模式条件查询 430

18.5.5 组合条件查询(AND、OR和NOT) 431

18.6 高级查询 432

18.6.1 汇总数据 432

18.6.2 分组统计 433

18.6.3 子查询 433

18.7 插入数据 434

18.7.1 插入完整的行 434

18.7.2 插入部分行 434

18.7.3 插入检索出的数据 435

18.7.4 将一个表中的数据复制到另一个表 435

18.8 修改和删除数据 436

18.8.1 修改数据 436

18.8.2 删除数据 437

18.9 小结 437

18.10 练习与实践 437

第19章 数据库开发技术 439

19.1 VB访问数据库 440

19.2 ODBC 440

19.2.1 认识ODBC 440

19.2.2 配置ODBC数据源 441

19.3 DAO对象 443

19.3.1 引用DAO对象 443

19.3.2 DAO对象的子对象 444

19.3.3 DAO对象的综合应用 448

19.4 Data控件 451

19.4.1 认识Data控件 451

19.4.2 用Data控件连接数据库 452

19.4.3 Data控件的综合应用 453

19.5 ADO对象 454

19.5.1 引用ADO对象 454

19.5.2 ADO对象的子对象 455

19.5.3 连接多种数据库(Connection对象) 455

19.5.4 连接记录源(Recordset对象) 457

19.5.5 执行SQL语句(Command对象) 458

19.5.6 ADO对象的综合应用 459

19.6 ADO控件 461

19.6.1 认识ADO控件 461

19.6.2 用ADO控件连接各种数据源 462

19.6.3 用ADO控件连接记录源 464

19.6.4 ADO控件常用属性、方法和事件 464

19.6.5 ADO控件的综合应用 465

19.7 小结 466

19.8 练习与实践 467

第20章 数据库控件 469

20.1 DBCombo和DBList控件 470

20.2 DataCombo和DataList控件 471

20.2.1 认识DataCombo和DataList控件 471

20.2.2 DataCombo和DataList控件的属性 471

20.2.3 显示关系表中的数据 472

20.3 DataGrid控件 474

20.3.1 认识DataGrid控件 474

20.3.2 用DataGrid控件显示数据 474

20.3.3 格式化数据 476

20.3.4 锁定数据 477

20.3.5 将DataGrid控件中的数据显示在文本框中 477

20.4 MSFlexGrid和MSHFlexGrid控件 478

20.4.1 认识MSHFlexGrid控件 478

20.4.2 用MSHFlexGrid控件显示数据 479

20.4.3 数据排序与合并 481

20.4.4 隐藏行或列 482

20.4.5 冻结字段 482

20.5 小结 483

20.6 练习与实践 483

第21章 网络编程技术 485

21.1 网络基础知识 486

21.1.1 OSI参考模型 486

21.1.2 HTTP协议 486

21.1.3 FTP协议 486

21.2 Winsock控件编程 487

21.2.1 TCP与UDP基础 487

21.2.2 Winsock控件 487

21.2.3 开发客户端/服务器端聊天程序 491

21.3 Internet Transfer控件编程 493

21.3.1 Internet Transfer控件 493

21.3.2 文件上传与下载 495

21.4 WebBrowser控件编程 498

21.4.1 WebBrowser控件 498

21.4.2 制作自己的浏览器 499

21.5 小结 501

21.6 练习与实践 501

第4篇 项目实战 505

第22章 企业进销存管理系统 505

22.1 系统分析 506

22.1.1 需求分析 506

22.1.2 可行性分析 506

22.1.3 编写项目计划书 507

22.2 系统设计 509

22.2.1 系统目标 509

22.2.2 系统功能结构 509

22.2.3 系统业务流程图 510

22.2.4 系统编码规范 511

22.3 系统运行环境 513

22.4 数据库与数据表设计 513

22.4.1 数据库分析 513

22.4.2 创建数据库 514

22.4.3 创建数据表 515

22.4.4 数据表逻辑关系 518

22.5 创建项目 520

22.6 公共模块设计 520

22.6.1 主函数 521

22.6.2 数据库连接函数 521

22.6.3 拼音简码函数 522

22.7 启动窗体的设计 523

22.7.1 设计窗体界面 523

22.7.2 添加资源文件 524

22.7.3 代码注册Flash控件 525

22.7.4 调用Flash动画 526

22.8 系统登录窗体设计 526

22.8.1 设计窗体界面 527

22.8.2 向ListView控件中添加用户名 528

22.8.3 添加用户名和编号 529

22.8.4 判断用户名和密码 529

22.8.5 移动无标题栏窗体 530

22.9 主窗体设计 531

22.9.1 设计窗体界面 531

22.9.2 设计菜单栏 532

22.9.3 利用Flash设计工具栏 533

22.9.4 利用图片设计浮动工具栏 534

22.9.5 设计状态栏 536

22.10 商品进货模块设计 537

22.10.1 设计窗体界面 537

22.10.2 窗体初始化 539

22.10.3 商品信息录入 540

22.11 库存状况模块设计 541

22.11.1 设计窗体界面 542

22.11.2 窗体初始化 544

22.11.3 库存上下限设置 544

22.11.4 自定义过程向MSFlexGrid控件中添加数据 545

22.12 月销售状况模块设计 546

22.12.1 设计窗体界面 546

22.12.2 统计全年商品销售状况 547

22.12.3 设计“每月销售比较”窗体界面 548

22.12.4 利用图表分析月销售状况 549

22.13 系统用户及权限设置模块设计 553

22.13.1 设计窗体界面 553

22.13.2 窗体初始化 554

22.13.3 工具栏按钮 554

22.13.4 执行操作 555

22.14 运行项目 556

22.15 程序打包 558

22.16 开发常见问题与解决 559

22.16.1 书写错误的函数名 559

22.16.2 提示文件未找到错误信息 559

22.16.3 解决用户定义类型未定义的问题 560

22.16.4 数据批量录入 561

22.16.5 使用数据回滚来恢复数据备份 563

22.16.6 字段大小问题导致数据添加失败 563

22.16.7 字段设置主键后不能插入重复值 564

22.16.8 数据库中表存在关系,如何进行数据库清理 564

22.17 小结 565