VB自定义过程和自定义函数自定义过程VB内部过程(系统提供)PrivateSubCommand1_Click()DimxAsInteger,iAsIntegerFori=1To5x=x+iNextiText1.Text=Str(x)EndSub过程过程名Sub代表过程自定义过程——调用自定义过程CallPrivateSubCommand1_Click()DimaAsInteger,bAsIntegera=1:b=9Calljh(a,b)Text1.Text=Str(a)EndSubSubjh(xAsInteger,yAsInteger)DimtAsIntegert=xx=yy=tEndSubjh(a,b)jh(xAsInteger,yAsInteger)调用时a和x,就是同一个存储单元,x发生改变,a就好发生改变。变量b和y也同理。自定义过程——调用自定义过程PrivateSubCommand1_Click()DimaAsInteger,bAsInteger,cAsIntegera=1:b=9:c=-5Calljh(a,b)Calljh(a,c)Text1.Text=Str(a)EndSubSubjh(xAsInteger,yAsInteger)DimtAsIntegert=xx=yy=tEndSub自定义过程自定义函数格式Function函数名(参数表)As类型名语句块[函数名=表达式]EndFunction函数体部分实现计算得到一个结果,赋值给函数名!函数内部至少有一个形如“函数名=表达式”的语句VB内部函数(系统函数)PrivateSubCommand2_Click()DimxAsIntegerx=-9y=Abs(x)Text1.Text=Str(y)EndSubAbs系统函数Str系统函数函数有返回值,要赋值给某个变量自定义过程——调用函数PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=-8y=myabs(x)Text1.Text=Str(y)EndSubFunctionmyabs(aAsInteger)AsIntegerIfa0Thenmyabs=-aElsemyabs=aEndIfEndFunction返回值的类型myabs(x)myabs(aAsInteger)x和a,就是同一个存储单元,a发生改变,x也会改变统计文本框输入字符中数字的个数PrivateSubCommand1_Click()DimsAsStringDimansAsIntegers=Text1.Text__________Label1.Caption=数字有+Str(ans)+个EndSubFunctionfact(xAsString)AsIntegerDimiAsInteger,chAsStringfact=0Fori=1ToLen(x)_________Ifch=0Andch=9Thenfact=fact+1_________NextiEndFunction单击按钮后标签上显示的内容是多少?PrivateSubCommand1_Click()DimsAsStringDimnAsInteger,mAsIntegers=Text1.Textn=myct(s,a)m=myct(s,d)Label1.Caption=Str(n+m)EndSubFunctionmyct(xAsString,cAsString)AsIntegerDimiAsInteger,ansAsIntegerans=0Fori=1ToLen(x)IfMid(x,i,1)=cThenans=ans+1Nextimyct=ansEndFunction杜宗飞