VB 核心编程及通用模块开发 笔记1
前言:学习任何编程语言、编程工具的目的不外乎解决生活问题,能够快速、高效解决问题的方式就是不错的方式,至于选择什么“工具”,众位看官看着办,本人虽然有过3年vb开发经验,但是一直没有深入学习,现已购买 《张宁著 老兵新传 核心编程及通用模块开发》,深入学习vb开发,继续将vb发扬光大。
一、知识准备
本章从API函数开始介绍vb下如何使用api函数,模块、类模块的编写。主要还是阐述的一种思想,通用模块开发,编写的模块能够通用,多次使用,尽量要降低错误,以达到重复利用目的,从通篇介绍来看,以后还是可以将不错的模块全部类模块化,调用也方便,使用更便捷。
编程风格总结:
1、标准命名肯定是要遵守的,基本上都是匈牙利命名法吧,例如cmd_Print,strTmp,intValue等。
2、变量使用一定要定义(option explicit),另外少用站16字节的variant类型。
3、代码格式化用格式化工具随时格式化。
4、用好with end with ,不用的代价是系统资源开销大。另外还可以这样用:
dim objText1 as TextBox
set objText1 = Text1
objText1.Text = "测试程序"
objText1.Enabled = 1
objText1.SelStart = 0
示例:
dim lsItem as ListItem
with ListView1
.View = lvwReport
set lsItem = .ListItems.Add(,"L1","Text1")
lsItem.ToolTipText = "ToolTip1"
lsItem.SubItems(1) = "Sub1_1"
lsItem.SubItems(2) = "Sbb2_2"
lsItem.Selected = 1
set LsItem = Nothing
End With
另外注意with end with 中最好不用goto语句跳转。
5、布尔值判断。If Check1.checked then Text1.Text = "患者姓名" 因为非0值都表示为真,只有0才表示为假。假=0 真=-1
6、字符串为空判断。If Len(strTmp) = 0 then exit sub
7、能用常量就不要用函数求值,例如:If strKey = vbcrlf then strText = "通过" ,vbcrlf = chr$(13) + chr$(10)
8、数组下标从1开始,0可以定义为出错代码,这个经验很少遇到,可以看看是否有好处!!!
9、用Optional选项定义函数的参数,达到“重载”目的,同一个函数可以传不同的数据参数,这个也少遇到,需要多看看。另外一旦用了Optional后续定义参数都需要用它。实例:public function Getvalue(str1 as string,Optional byval str2 as string ,Optional byval str3 as string)
10、ActiveX控件都是封装api的,多熟悉api,减少对activex的使用。
11、条件编译,好处是编译的文件小,很少遇到!!!
12、善用MSDN,主要了解Windows的运行机制、运行原理,查找API函数定义等,另外借助c++头文件查找。
本章大体这些,经验不多,4、5、6这几条以后的编程中还是要多注意!