VB过程函数
vb常用函数
Log10(X) 函数
Log10 = Log(X) / Log(10)
End Function
3.Sqr 函数
返回数值的平方根。
Sqr(number)
number 参数可以是任意有效的大于或等于零的数值表达式。
Time()函数:返回系统当前时间。无参数。
Hour(d)函数:返回数据d中小时的整型数。若d为常数,则该数用#括起来,并用小时:分:秒的格式书写。函数返回值为数值。
Minute(d)函数:返回数据d中分的整型数。若d为常数,则该数用#括起来,并用小时:分:秒的格式书写。函数返回值为数值。
Inverse Hyperbolic Cosecant(反双曲余割) HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X)
Inverse Hyperbolic Cotangent(反双曲余切) HArccotan(X) = Log((X + 1) / (X - 1)) / 2
2.Log 函数
返回数值的自然对数。
Log(number)
number 参数是任意大于 0 的有效数值表达式。
说明
自然对数是以 e 为底的对数。常数 e 的值约为 2.718282。
用 n 的自然对数除 x 的自然对数,可以得到以 n 为底的 x 的对数。如下所示:
Logn(x) = Log(x) / Log(n)
Left$(x,n)函数:从字符串x左边取n个字符。x为字符型数据, n为数值型数据,函数返回值为字符串。
VB自定义函数
弧度转角度自定义函数
Function hudu (n As Double) '弧度化角度函数
Dim a As Double Dim b As Double
参数列表 函数名“hudu”
Dim c As Double
a = Int(n * 180 / pi)
b = Int((n * 180 / pi - a) * 60)
c = Int(((n * 180 / pi - a) * 60 - b) * 60)
hudu = a & "度" & b & "分" & c & "秒" '返回值
End Function
调用角度互化函数
Private Sub Command1_Click() dim angel as double Dim radian as double radian=inputbox(“输入弧度值”,
VB自定义函数
4) 语句系列
是函数的过程体,语句系列中可以用一个或多个Exit
Function语句从函数中退出。
5) 形参表
6) 表达式 表达式的值是函数返回的结果。在程序中,通过赋值 语句将值赋给函数名,该值就是Function过程返回的 值。如果在Function过程中省略了“<函数名>=<表达 式>”,则该过程返回一个默认值:数值函数过程返回 0,字符串函数过程返回空字符串。因此,为了能使一 个Function过程完成所指定的操作,通常要在过程中 为函数赋值。
VB自定义函数
函数过程体
[Private|Public] [Static] Function <函数过程名>([<形参 表>]) [As <类型>]
VB教程之 “过程”
5.4 过程递归调用
说明:
递归处理分递推和回归两个过程,如下图所示。
使用递归算法必须要满足以下的递归条件: (1)存在递归结束条件及结束时的值;
(2)能用递归形式表示,且递归向终止条件发展。
32
5.4 过程的递归调用
例2:编求菲波纳契数列f(n)的递归函数。
F(1) = 1 F(2) = 1 F(n) = F(n-1) + F(n-2)
17
一、判断正确与错误 1、在定义了一个函数后,可以象调用任何一个VB 内部函数一样使用它,即可以在任何表达式、 语句或函数中引用它。 ( ) 2、以下两个语句都调了名为Year(Now)的函 数 Call Year(Now) ( ) Year Now ( ) 二、Sub过程与Function 过程最根本的区别是 ___. A. Sub过程可以使用Call语句或直接使用过程名 调用,而Function过程不可以。 B. Function过程可以有参数,Sub过程不可以。 C. 两种过程参数的传递方式不同。 D. Sub过程不能返回值,而Function 过程能返回 值。 18
调用形式: 函数名(实参列表)
说明:调用函数不能独立成为一条语句,它必须是
语句的一部分。 如果不需要函数的返回值,则:
Call 函数名([参数列表]) 或 函数名 [参数列表]
注意:有Call关键字时,函数名后面必须有括号。
14
例5.3 设计一个由三角形的3条边长,计算其 面积的函数,如果3条边不能构成三角形,则弹 出消息框,提示出错。
21
例5.4:编写一个子过程,实现两个数据的交 换。
Sub Exchange(ByRef a As Double, ByRef b As Double) Dim t As Double t=a a=b b=t End Sub
【VB6.0】VB常用术语内部函数
【VB6.0】VB常用术语/内部函数常用术语项目(Project):是用户创建的文件集合,这个集合包括用户的Windows 应用程序。
控件(Control):是Toolbox窗口中用户置于窗体上的工具,用于配合用户控制程序流程。
代码(Code):是所写的编程语句的另一个名字。
像素(Pixel):代表图形元素,表示监视器上最小的可寻址的图形点。
全局变量(Global Variable):就是在整个模块内或整个应用程序内均可使用的变量。
函数(Function):是一个例程,接受零个、一个或多个参数并根据这些参数返回一个结果。
死循环(Infinite Loop):是一个永不终止的循环。
语法错误(Syntax Error):是由于拼错一条命令或使用不正确的语法引起的一种错误。
消息框(Message Box):是为向用户提供信息而显示的对话框。
循环(Loop):就是一组重复执行的程序指令集。
赋值语句(Assignment Statement):是用来给控件、变量或其他对象赋值的程序语句。
结构化程序设计(Structured Programming):是一种程序设计方法,用它来把长程序分成几个小过程,尽可能分得详细一些。
调用过程(Calling Procedure):是触发其他过程执行的过程。
被调用过程(Called Procedure):是由其他过程调用的过程。
引用传递(By Reference):是一种传递值并允许被调用过程修改这些值的方法。
它也叫做通过地址传递(By Address)。
值传递(By Value):是一种传递值并保护调用过程的传递数据,因而被调用过程不能改变此数据的方法。
1 类型转换函数1、Int(x):求不大于自变量x的最大整数2、Fix(x):去掉一个浮点数的小数部分,保留其整数部分3、Hex$(x):把一个十进制数转换为十六进制数4、Oct$(x):把一个十进制数转换为八进制数5、Asc(x$):返回字符串x$中第一个字符的ASCII字符6、CHR$(x):把x的值转换为相应的ASCII字符7、Str$(x):把x的值转换为一个字符串8、Cint(x):把x的小数部分四舍五入,转换为整数9、Ccur(x):把x的值转换为货币类型值,小数部分最多保留4 位且自动四舍五入10、CDbl(x):把x值转换为双精度数11、CLng(x):把x的小数部分四舍五入转换为长整数型数12、CSng(x):把x值转换为单精度数13、Cvar(x):把x值转换为变体类型值14、VarPtr(var):取得变量var的指针²数学函数1、Sin(x):返回自变量x的正弦值2、Cos(x): 返回自变量x的余弦值3、Tan(x): 返回自变量x的正切值4、Atn(x): 返回自变量x的反正切值5、Abs(x): 返回自变量x的绝对值6、Sgn(x): 返回自变量x的符号,即当x为负数时,返回-1;当x为0时,返回0;当x为正数时,返回17、Sqr(x):返回自变量x的平方根,x必须大于或等于08、Exp(x):返回以e为底,以x为指数的值,即求e的x次方²日期与时间函数1、Day(Now):返回当前的日期2、WeekDay(Now):返回当前的星期3、Month(Now):返回当前的月份4、Year(Now):返回当前的年份5、Hour(Now):返回小时(0~23)6、Minute(Now):返回分(0~59)7、Second(Now):返回秒(0~59)²随机数函数1、Rnd[(x)]:产生一个0~1之间的单精度随机数2、Randomize:Rnd[(x)] 功能同上,不过更好²字符串函数1、LTrim$(字符串):去掉字符串左边的空白字符2、Rtrim$(字符串):去掉字符串右边的空白字符3、Left$(字符串,n):取字符串左部的n个字符4、Right$(字符串,n):取字符串右部的n个字符5、Mid$(字符串,p,n):从位置p开始取字符串的n个字符6、Len(字符串):测试字符串的长度7、String$(n,字符串):返回由n个字符组成的字符串8、Space$(n):返回n个空格9、InStr(字符串1,字符串2):在字符串1中查找字符串210、Ucase$(字符串):把小写字母转换为大写字母11、Lcase$(字符串):把大写字母转换为小写字母²窗体输入输出函数1、Print(字符串):在窗体输出字符串,可以用”&”对变量进行连接后输出2、Tab(n):把光标移到该行的n开始的位置3、Spc(n):跳过n个空格4、Cls:清除当前窗体内的显示内容5、Move 左上角x,左上角y,宽度,高度:移动窗体或控件6、InputBox(prompt,…):跳出一个数据输入窗口,返回值为该窗口的输入值7、MsgBox(msg,[type]…):跳出一个提示窗口²文件操作函数1、Open 文件名[For方式] [Access存取类型] [锁定] AS [#]文件号[Len=记录长度]功能:为文件的输入输出分配缓冲区,并确定缓冲区所使用的存取方式说明:1) 方式:指定文件的输入输出方式,可选,默认是Random,可以是以下值a、Output:指定顺序输出方式,将覆盖原有内容b、Input:指定顺序输入方式c、Append:指定顺序输出方式,在文件未尾追加内容d、Random:指定随机存取方式,也是默认方式,在Random方式时,如果没有Access 子句,则在执行Open语句时,VB将按下列顺序打开文件:读/写、只读、只写e、指定二进制文件。
vb过程
9.3.4
数组参数的传送
Visual Basic允许把数组作为实参传送到过程中。如定义: Sub S(a(),b()) …… End Sub 可以用下面的语句调用该过程: Call S(a(),b())
数组参数一般通过传地址方式传送。在传送数组时,除遵 守参数传送的一般规则外,还应注意以下几点: (1)为了把一个数组的全部元素传送给一个过程,应将 数组名分别放入实参表和形参表中,并略去数组的上下界, 但括号不能省略。 (2)如果不需要把整个数组传给通用过程,可以只传送 指定的单个元素,这需要在数组名后面的括号中写上指定 元素的下标。例如:
全国计算机等级考试二级教程
主讲教师
潘大胜
结构化程序设计思想的要点之一就是对一个 复杂的问题采用模块化,把一个较大的程序划 分为若干个模块,每个模块只完成一个或若干 个功能。这些模块通过执行一系列的语句来完 成一个特定的操作过程,因此被称为“过程”。
9.1 9.3 9.4 9.5 9.7
Sub过程 参数传送
9.2.1
建立Function过程
1.定义Sub过程
Static|Private|Public Function <过程名>[ (参数列表) ] [As 类型]
[<语句组>]
[过程名=表达式] [Exit Function] [<语句组>] End Function
说明: (1)Function过程以Function开头,以End Function结束, 在两者之间是描述过程操作的语句块,即“过程体”或 “函数体”。格式中的“过程名”、“参数表列”、 “Static”、“Private”、“Public”、“Exit Function”的 含义与Sub过程相同。“As 类型”是Function过程返回 值的数据类型,可以是Integer、Long、Single、Double、 Currency或String,如果省略,则为Variant。
24VB常用标准函数、基本运算符和表达式
1.7320606 3
说明:e≈2.71828182845905
2.常用的类型转换函数
函数名
函数功能
应用举例
返回值
Asc(X) 字符转换成ASCⅡ码值 Asc(“A”)
65
Chr(X) ASCⅡ码值转换成字符
Chr(65)
“A”
Str(X) 数值转换为字符串
Str(123.45) “123.45”
15.以下VB程序段的功能是统计用户输入的字符串长度。
Private Sub Command1_Click()
Dim a As String a = Text1.Text Label1.Caption = “字符长度为” + ①
End Sub 若要实现该功能,则①处应填写语句为 ____St_r_(_L_e_n(_a_)_)_或__St_r_(_L_e_n(_T_e_x_t_1._T_e_x_t_)_)___。
<=
大于等于
>=
优先级 7 7 7 7 7 7
表达式举例 1=2 1<>2 1<2 1>2
10 Mod 2 <=20 10﹨2>=7
示例表达式的值 False True True False True False
6.逻辑运算符
基本运算 运算符号 优先级
非
Not
8
与
And
9
或
Or
10
表达式举例
Not(2<3) (2<=3) And (2>=3) (2<=3) Or (2>=3)
C.Int(Rnd() * 100)
D.Int(Rnd() * 90) + 10
vb中的函数
abort 函数引起放弃的意外处理abs 函数绝对值函数addexitproc 函数将一过程添加到运行时库的结束过程表中addr 函数返回指定对象的地址adjustlinebreaks 函数将给定字符串的行分隔符调整为cr/lf序列align 属性使控件位于窗口某部分alignment 属性控件标签的文字位置allocmem 函数在堆栈上分配给定大小的块allowgrayed 属性允许一个灰度选择ansicomparestr 函数比较字符串(区分大小写)ansicomparetext 函数比较字符串(不区分大小写)ansilowercase 函数将字符转换为小写ansiuppercase 函数将字符转换为大写append 函数以附加的方式打开已有的文件arctan 函数余切函数assignfile 函数给文件变量赋一外部文件名assigned 函数测试函数或过程变量是否为空autosize 属性自动控制标签的大小backgrounddi2001.jpg 属性背景色beginthread 函数以适当的方式建立用于内存管理的线程bevelinner 属性控件方框的内框方式bevelouter 属性控件方框的外框方式bevelwidth 属性控件方框的外框宽度blockread 函数读一个或多个记录到变量中blockwrite 函数从变量中写一个或多个记录borderstyle 属性边界类型borderwidth 属性边界宽度break 命令终止for、while、repeat循环语句brush 属性画刷caption 属性标签文字的内容changefileext 函数改变文件的后缀chdir 函数改变当前目录checked 属性确定复选框选中状态chr 函数返回指定序数的字符closefile 命令关闭打开的文件color 属性标签的颜色columns 属性显示的列数comparestr 函数比较字符串(区分大小写)concat 函数合并字符串continue 命令继续for、while、repeat的下一个循环copy 函数返回一字符串的子串cos 函数余弦函数ctl3d 属性是否具有3d效果cursor 属性鼠标指针移入后的形状date 函数返回当前的日期datetimetofiledate 函数将delphi的日期格式转换为dos的日期格式datetimetostr 函数将日期时间格式转换为字符串datetimetostring 函数将日期时间格式转换为字符串datetostr 函数将日期格式转换为字符串dayofweek 函数返回星期的数值dec 函数递减变量值decodedate 函数将日期格式分解为年月日decodetime 函数将时间格式分解为时、分、秒、毫秒delete 函数从字符串中删除子串deletefile 命令删除文件diskfree 函数返回剩余磁盘空间的大小disksize 函数返回指定磁盘的容量dispose 函数释放动态变量所占的空间disposestr 函数释放字符串在堆栈中的内存空间ditherbackgrounddi2001.jpg?使背景色的色彩加重或减少50% dragcursor 属性当鼠标按下时光标的形状dragmode 属性按动的作用方式dropdowncount 属性容许的显示数据项的数目editmask 属性编辑模式enabled 属性是否使标签呈现打开状态encodedate 函数将年月日合成为日期格式encodetime 函数将时、分、秒、毫秒合成为时间格式endmargin 属性末尾边缘eof 函数对有类型或无类型文件测试是否到文件尾eoln 函数返回文本文件的行结束状态erase 命令删除外部文件exceptaddr 函数返回引起当前意外的地址exclude 函数从集合中删除一些元素exceptobject 函数返回当前意外的索引exit 命令立即从当前的语句块中退出exp 函数指数函数expandfilename 函数返回包含绝对路径的字符串extendedselect 属性是否允许存在选择模式,true时,multiselect才有意义extractfiledir 函数返回驱动器和路径extractfileext 函数返回文件的后缀extractfilename 函数返回文件名extractfilepath 函数返回指定文件的路径fileage 函数返回文件已存在的时间fileclose 命令关闭指定的文件filecreate 命令用指定的文件名建立新文件filedatetodatetime 函数将dos的日期格式转换为delphi的日期格式fileexists 函数检查文件是否存在filegatattr 函数返回文件的属性filegetdate 函数返回文件的dos日期时间标记fileopen 命令用指定的存取模式打开指定的文件filepos 函数返回文件的当前指针位置fileread 命令从指定的文件读取filesearch 命令在目录中搜索指定的文件fileseek 函数改变文件的指针filesetattr 函数设置文件属性filesetdate 函数设置文件的dos日期时间标记filesize 函数返回当前文件的大小filewrite 函数对指定的文件做写操作fillchar 函数用指定的值填充连续字节的数findclose 命令终止findfirst/findnext序列findfirst 命令对指定的文件名及属性搜索目录findnext 命令返回与文件名及属性匹配的下一入口floattodecimal 函数将浮点数转换为十进制数floattostrf 函数将浮点数转换为字符串floattostr 函数将浮点数转换为字符串floattotext 函数将给定的浮点数转换为十进制数floattotextfmt 函数将给定的浮点数转换为十进制数flush 函数将缓冲区的内容刷新到输出的文本文件中fmtloadstr 函数从程序的资源字符串表中装载字符串fmtstr 函数格式化一系列的参数,其结果以参数result返回font 属性设置字体format 函数格式化一系列的参数并返回pascal字符串formatbuf 函数格式化一系列的参数formatdatetime 函数用指定的格式来格式化日期和时间formatfloat 函数指定浮点数格式frac 函数返回参数的小数部分freemem 函数按给定大小释放动态变量所占的空间getdir 返回指定驱动器的当前目录getheapstatus 返回内存管理器的当前状态getmem 建立一指定大小的动态变量,并将指针指向该处getmemorymanager 返回内存管理器的入口点glyph 函数按钮上的图象halt 停止程序的执行并返回到操作系统hi 返回参数的高地址位high 返回参数的上限值hint 属性提示信息int 返回参数的整数部分include 添加元素到集合中insert 在字符串中插入子串inttohex 将整型数转换为十六进制数inttostr 将整型数转换为字符串ioresult 返回最新的i/o操作完成状态isvalidident 测试字符串是否为有效的标识符items 属性默认显示的节点kind 属性摆放样式largechange 属性最大改变值layout 属性图象布局length 函数返回字符串的动态长度lines 属性缺省显示内容ln 函数自然对数函数lo 函数返回参数的低地址位loadstr 函数从应用程序的可执行文件中装载字符资源lowercase 函数将给定的字符串变为小写low 函数返回参数的下限值max 属性最大值maxlength 属性最大长度min 属性最小值mkdir 命令建立一子目录move 函数从源到目标复制字节multiselect 属性允许同时选择几个数据项name 属性控件的名字new 函数建立新的动态变量并设置一指针变量指向他newstr 函数在堆栈上分配新的字符串now 函数返回当前的日期和时间odd 测试参数是否为奇数onactivate 事件焦点移到窗体上时触发onclick 事件单击窗体空白区域触发ondblclick 事件双击窗体空白区域触发onclosequery 事件使用者试图关闭窗体触发onclose 事件窗体关闭后才触发oncreate 事件窗体第一次创建时触发ondeactivate 事件用户切换到另一应用程序触发ondragdrop 事件鼠标拖放操作结束时触发ondragover 事件有其他控件从他上面移过触发onmousedown 事件按下鼠标键时触发onmouseup 事件释放鼠标键时触发onmousemove 事件移动鼠标时触发onhide 事件隐藏窗体时触发onkeydown 事件按下键盘某键时触发onkeypress 事件按下键盘上的单个字符键时触发onkeyup 事件释放键盘上的某键时触发onpaint 事件窗体上有新部分暴露出来触发onresize 事件重新调整窗体大小触发onshow 事件在窗体实际显示之前瞬间触发ord 返回序数类的序数outlinestyle 属性类型outofmemoryerror 引起outofmemory意外pageindex 属性页索引pages 属性页paramcount 函数返回在命令行上传递给程序的参数数量paramstr 函数返回指定的命令行参数pen 属性画刷设置pi 函数返回圆周率pipicture 属性显示图象pictureclosed 属性设置closed位图pictureleaf 属性设置leaf位图pictureminus 属性设置minus位图pictureopen 属性设置open位图pictureplus 属性设置plus位图pos 函数在字符串中搜索子串pred 函数返回先前的参数random 函数返回一随机函数randomize 函数用一随机数初始化内置的随机数生成器read 函数对有格式的文件,读一文件组件到变量中;对文本文件,读一个或多个值到一个或多个变量中readln 函数执行read过程,然后跳到文件下一行readonly 属性只读属性reallocmem 函数分配一动态变量rename 函数重命名外部文件renamefile 函数对文件重命名reset 函数打开已有的文件rewrite 函数建立并打开一新的文件rmdir 函数删除空的子目录round 函数将实数值舍入为整型值runerror 函数停止程序的执行scrollbars 属性滚动条状态seek 函数将文件的当前指针移动到指定的组件上seekeof 函数返回文件的文件结束状态seekeoln 函数返回文件的行结束状态selectedcolor 属性选中颜色setmemorymanager 函数设置内存管理器的入口点settextbuf 函数给文本文件指定i/o缓冲区shape 属性显示的形状showexception 函数显示意外消息与地址sin 函数正弦函数sizeof 函数返回参数所占的字节数smallchange 属性最小改变值sorted 属性是否允许排序sqr 函数平方函数sqrt 函数平方根函数startmargin 属性开始边缘state 属性控件当前状态str 函数将数值转换为字符串stralloc 函数给以null结束的字符串分配最大长度-1的缓冲区strbufsize 函数返回存储在由stralloc分配的字符缓冲区的最大字符数strcat 函数将一字符串附加到另一字符串尾并返回合并的字符串strcomp 函数比较两个字符串strcopy 函数将一个字符串复制到另一个字符串中strdispose 函数释放堆栈上的字符串strecopy 函数将一字符串复制到另一个字符串并返回结果字符串尾部的指针strend 函数返回指向字符串尾部的指针stretch 属性自动适应控件的大小strfmt 函数格式化一系列的参数stricomp 函数比较两个字符串(不区分大小写)stringtowidechar 函数将ansi字符串转换为unicode字符串strlcat 函数将一字符串中的字符附加到另一字符串尾并返回合并的字符串strlcomp 函数以最大长度比较两个字符串strlcopy 函数将一个字符串中的字符复制到另一个字符串中strlen 函数返回字符串中的字符数strlfmt 函数格式化一系列的参数,其结果中包含有指向目标缓冲区的指针strlicomp 函数以最大长度比较两个字符串(不区分大小写)strlower 函数将字符串中的字符转换为小写strmove 函数将一个字符串中的字符复制到另一个字符串中strnew 函数在堆栈上分配一个字符串strpas 函数将以null结束的字符串转换为pascal类的字符串strpcopy 函数将pascal类的字符串复制为以null结束的字符串strplcopy 函数从pascal类的最大长度字符串复制为以null结束的字符串strpos 函数返回一个字符串在另一个字符串中首次出现指针strrscan 函数返回字符串中最后出现字符的指针strscan 函数返回字符串中出现首字符的指针strtodate 函数将字符串转换为日期格式strtodatetime 函数将字符串转换为日期/时间格式strtofloat 函数将给定的字符串转换为浮点数strtoint 函数将字符串转换为整型strtointdef 函数将字符串转换为整型或默认值strtotime 函数将字符串转换为时间格式strupper 函数将字符串中的字符转换为大写style 属性类型选择suce 函数返回后继的参数swap 函数交换参数的高低地址位tabs 属性标记每一项的内容tabindex 属性标记索引text 属性显示的文本texttofloat 函数将字符串(以null结束的格式)转换为浮点数time 函数返回当前的时间timetostr 函数将时间格式转换为字符串trim 函数从给定的字符串中删除前导和尾部的空格及控制字符trimleft 函数从给定的字符串中删除首部的空格及控制字符trimright 函数从给定的字符串中删除尾部的空格及控制字符trunc 函数将实型值截取为整型值truncate 函数截去当前文件位置后的内容unselectedcolor 属性未选中颜色upcase 将字符转换为大写uppercase 将给定的字符串变为大写val 函数将字符串转换为整型值vararraycreate 函数以给定的界限和维数建立变体数组vararraydimcount 函数返回给定变体的维数vararrayhighbound 函数返回给定变体数组维数的上界vararraylock 函数锁定给定的变体数组vararraylowbound 函数返回给定变体数组维数的下界vararrayof 函数返回指定变体的数组元素vararrayredim 函数通过改变上限来调整变体的大小vararrayunlock 函数解锁指定的变体数组varastype 函数将变体转换为指定的类型varcase 函数将变体转换为指定的类型并保存他varclear 函数清除指定的变体varcopy 函数将指定的变体复制为指定的变体varformdatetime 函数返回包含日期时间的变体varisarray 函数测试变体是否为数组varisempty 函数测试变体是否为unassigned varisnull 函数测试变体是否为nullvartodatetime 函数将给定的变体转换为日期时间vartype 函数将变体转换为指定的类型并保存他visible 属性控件的可见性wantreturns 属性为true时,按回车键产生一个回车符;为false时,按下ctrl+enter才产生回车符write 命令对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中writeln 命令执行write过程,然后输出一行结束标志widecharlentostring 函数将ansi字符串转换为unicode字符串widecharlentostrwar 函数将unicode字符串转换为ansi字符串变量widechartostring 函数将unicode字符串转换为ansi字符串widechartostrvar 函数将unicode字符串转换为ansi字符串变量。
VB函数大全
VB函数⼤全/doc/fd6076184.html2005函數⼤全2009-09-21 15:53:16| 分类:/doc/fd6076184.html2005 |字号订阅⼀、数学函数函数说明Abs (num) 取绝对值。
Exp (num) 返回以e为底、以num为指数的值,如Exp(2)返回e^2值。
Log (num) 返回参数num的⾃然对数值,为Double类型,即以e为底的对数。
Hex (num)` 将参数num转换为16进制。
Oct (num) 将参数num转换为8进制Sign (num) 返回参数的正负符号,若num⼤于0,则返回值为1;若num等于0,则返回值为0;若num⼩于0,则返回值为-1。
Sqrt (num) 返回参数平⽅根为,Double类型。
Atan (num) 反正切函数Sin (num) 正弦函数Cos (num) 余弦函数Tan (num) 正切函数Rand (num,[int]) 将参数num四舍五⼊,若要指定四舍五⼊到哪位⼩数,可以加上第⼆个参数int。
如:Round (12. 456 )返回值为12;Round (12 . 4567,3 ) 返回值为12. 457。
Rnd [(nun)] 产⽣⼀个⼩于1,⼤于或等于0的随机数,类型为Single。
若参数num⼩于0,那么每次都会返回相同的随机数;若没有提供参数或参数⼤于0,那么会依序产⽣下⼀个随机数,此为默认值;若参数num等于0,那么会返回最近⼀次产⽣的随机数。
为了每次产⽣不同的随机数,在使⽤Rand ()函数之前,最好使⽤Randomize语句。
若要随机产⽣⼀个N到M的整数,可利⽤如下公式:Int (Rand ()*M-N+1)+N。
Pow (x,y) 求x的y次⽅。
Val (str) 将字符串内的数字转换成Integer或Double类型返回。
Str (num) 将数值类型参数转换成字符串返回。
Fix (num) 参数⼤于0时,去掉⼩数部分;参数⼩于0时,返回⼤于或等于该参数值。
VB编程6.0 过程
形式ห้องสมุดไป่ตู้数
Fact = s
End Function
' 给函数过程名赋值
茂
名
院
学
Sub Command1_Click()
N = Val(Text1.Text) s=1
程 序 设 计 —— For i = 1 To N S=Fact(N) s=s*i Next Label1.Caption = s VB
例1:
VB
s
n
程 序 s=0 设 计 N=val(inputbox(―N=―)) —— 过 程
如果是S=1!+2!+3!+ ┅ +n!
For i=1 to N
s=s+sqr(i)
Next Print s
Print s
茂
名
院
学
例2: 排列组合:从N个数中取M个数有多少种组合?
M 分析: 公式 C N
VB 程 序 设 计 ——
Call SubTest( 10 , 1+2 )
Sub SubTest( n As Integer,Sum As Single) 字ByVal来实现。
过 程 (2) 实参是变量时,要实现按值传递需要在形参之前通过关键
茂
名
院
学
示例: Sub过程的调用参数传递
Sub Command1_Click() 实参 …… Call Fact ( x , y ) ‗Fact x , y 程 …… 序 End Sub 设 计 内存: 过 程
End Sub
Private Sub Command1_Click()
VB 程 序 设 计 —— 过 程
VB函数大全_基本函数大全
VB函数大全_基本函数大全Abs 函数返回数的绝对值。
And 运算符执行两个表达式的逻辑连接。
Array 函数返回含一数组的变体。
Asc 函数返回字符串首字母的ANSI 字符代码。
赋值运算符(=) 给变量或属性赋值。
Atn 函数返回数的反正切值。
调用语句将控制移交Sub 或Function 过程。
CBool 函数返回已被转换为Boolean 子类型的变体的表达式。
CByte 函数返回已被转换为字节子类型的变体的表达式。
CCur 函数返回已被转换为货币子类型的变体的表达式。
CDate 函数返回已被转换为日期子类型的变体的表达式。
CDbl 函数返回已被转换为双精度子类型的变体的表达式。
Chr 函数返回指定ANSI 字符码的字符。
CInt 函数返回已被转换为整数子类型的变体的表达式。
Class 对象提供对已创建的类的事件的访问。
Class 语句声明类名Clear 方法清除Err 对象的所有属性设置。
CLng 函数返回已被转换为Long 子类型的变体的表达式。
颜色常数颜色常数列表。
比较常数用于比较运算的常数列表。
连接运算符(&) 强制两个表达式的字符串连接。
Const 语句声明用于字母值的常数。
Cos 函数返回角度的余弦值。
CreateObject 函数创建并返回对“自动”对象的引用。
CSng 函数返回已被转换为单精度子类型的变体的表达式。
CStr 函数返回已被转换为字符串子类型的变体的表达式。
日期和时间常数在日期和时间运算中用来定义星期几和其他常数的常数列表。
日期格式常数用于日期和时间格式的常数列表。
Date 函数返回当前系统日期。
DateAdd 函数返回加上了指定的时间间隔的日期。
DateDiff 函数返回两个日期之间的间隔。
DatePart 函数返回给定日期的指定部分。
DateSerial 函数返回指定年月日的日期子类型的变体。
DateValue 函数返回日期子类型的变体。
Day 函数返回日期,取值范围为1 至31。
VB程序设计-过程和函数
Private Sub Command1_Click()
Print sum(5, 3)
调用函数
End Sub
Function sum(x, y)
s=x+y sum = s
定义函数
End Function
函数和过程的相互转换
Private Sub Command1_Click()
Call sum(5, 3, s) 调用过程
function title(tit,n)
if len(tit)>n then
title=left(tit,n)&"…"
'返回函数值
else
title=tit
'返回函数值
end if
end function
5.7 参数传递
5.7.1 形参与实参
• 形参:置于过程定义时,参数列表中的变 量或数组;在过程被调用前,系统不对其 分配空间;
6.3 子过程与函数的参数传递
1.参数传递方式
过程的参数有两种传递方式:
传值(ByVal)
传地址(ByRef)(默认方式)。
按值传递参数:在形式参数前加上关键字ByVal 表示指定按值传递参数。调用时实际参数仅将值
传递给形式参数,形式参数的任何改变不会影响 实际参数。
按地址传递参数:
在形式参数前加上关键字ByRef表示指定按地址传递参 数。
调用函数 –变量= Function 函数名(参数1,参数2,…) –函数可以向变量一样引用和参与运算
6.2 定义Function过程
定义Function过程说明: 1)Function过程以Function语句开头,以End Function结束;中间代码部分为函数体; 2)函数名有返回值,其值类型由As 数据类型指定; 3)函数体内一般都会至少为函数名赋值一次;如果 不赋值,函数返回值默认为0或空; 4)函数中途可以利用Exit Function退出。
VB中Sub子过程与函数的调用
VB中Sub⼦过程与函数的调⽤在做学⽣管理系统中,遇到了太多太多的问题,发现了VB的学习是多么的不牢固,即使当初耗费了⼤量的时间。
从现在开始,将把⾃⼰遇到的那些模糊或者不懂的知识总结出来,查漏补缺,欢迎⼤家提出批评指正!VB中的调⽤主要针对Sub⼦过程和⾃定义函数的调⽤。
不论是Sub⼦过程还是函数过程,都是将⼀段完整的功能独⽴出来,建⽴⼀个过程。
在主调程序中通过调⽤过程,将需要计算的参数(实参)传递给过程;在过程中求得结果后再讲结果返回到主调程序,从⽽实现程序的功能,并使程序结构更为清晰、简洁。
⼀、Sub⼦过程的调⽤在程序中要调⽤Sub⼦过程的⽅法有如下两种:Call 过程名(实参列表)或过程名 [实参列表]调⽤Sub⼦程序的程序段称为主调程序。
在主调程序中调⽤Sub⼦过程时,将使程序流程⾃动转向被调⽤的Sub⼦过程。
在过程执⾏完最后⼀⾏语句 End Sub 之后,程序流程将⾃动返回到主调程序语句的下⼀⾏继续进⾏,如下图所⽰:在调⽤过程的的语句中,不仅要求实参个数与被调⽤过程形参个数⼀致,⽽且要求实参表的参数类型、参数顺序与被调⽤过程形参表的参数完全⼀致。
⼆、⾃定义函数的调⽤形式如下:函数名(实参列表)实参列表有变量名、数组名、数组元素名、常熟或表达式组成,在调⽤时,实参和形参的数据类型、顺序、个数必须⼀⼀对应。
如下图所⽰:函数调⽤只能出现在表达式中,其功能是求得到函数的返回值。
从上⾯两张图中可以看出,Sub⼦过程和函数过程在传递需要计算的参数时(实参a、b传递给形参x、y),两者并没有什么不同。
但在返回结果⽅⾯,因为函数过程可以通过函数名返回结果,因此,在函数过程中⼀般只需要设置接收计算参数的形参即可(图2的形参为x、y);Sub⼦过程却有所不同,由于Sub⼦过程名只代表名字,没有返回值,所以必须另外设置专门的形参⽤于返回结果(图1的形参为z1、z2)。
那么,在解决⼀个问题时,是使⽤Sub⼦过程还是使⽤函数过程呢?从原则上来说,解决⼀个问题,既可以使⽤Sub⼦过程,也可以使⽤函数过程。
vb6.0函数和语句大全
Val 函数示例
本示例使用 Val 函数返回字符串中所含的数值。
Dim MyValue
MyValue = Val("2457") ' 返回 2457。
MyValue = Val(" 2 45 7") ' 返回 2457。
MyValue = Val("24 and 57") ' 返回 24。
[格式]:
P=InStr(X,Y)
从X第一个字符起找出Y出现的位置
P=InStr(n,X,Y)
从X第n个字符起找出Y出现的位置
[说明]:
(1) 若在X中找到Y,则返回值是Y第一个字符出现在X中的位置。
(2) InStr(X,Y)相当于InStr(1,X,Y)。
(3) 若字符串长度,或X为空字符串,或在X中找不到Y,则都返回0。
例:Rnd 结果:0--1之间的数
6. Sin(N) 正弦函数
例:Sin(0) 结果:0
7. Sgn(N) 符号函数
' 说明:取正负号。Y=Sgn(X) 既 X>0 则Y=1;X=0 则Y=0;X<0 则Y= -1
8. Sqr(N) 平方根
例:Sqr(9) 结果:3
9. Tan(N) 正切函数
[范例]:
若当前时间为2003年8月29日晚上19点26分45秒,则
P=Now()
结果为:P=2003-08-29 19:26:45
6.MonthName:返回月份名称
[格式]:P=MonthName(X)
[说明]:X参数可传入1---12,则返回值为“一月”、“二月”……,但是在英文Windows环境下,返回的是”January”,”February”……
VB函数大全
Abs 函数返回参数的绝对值,其类型和参数相同。
语法Abs(number)必要的number参数是任何有效的数值表达式,如果number 包含 Null,则返回Null,如果number 是未初始化的变量,则返回 0。
说明一个数的绝对值是将正负号去掉以后的值。
例如,ABS(-1) 和 ABS(1) 都返回1。
Array 函数返回一个包含数组的 Variant。
语法Array(arglist)所需的arglist参数是一个用逗号隔开的值表,这些值用于给Variant所包含的数组的各元素赋值。
如果不提供参数,则创建一个长度为 0 的数组。
说明用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。
在下面的示例中,第一条语句创建一个Variant 的变量 A。
第二条语句将一个数组赋给变量 A。
最后一条语句将该数组的第二个元素的值赋给另一个变量。
Dim A As VariantA = Array(10,20,30)B = A(2)使用Array函数创建的数组的下界受Option Base语句指定的下界的决定, 除非Array是由类型库(例如VBA.Array )名称限定。
如果是由类型库名称限定,则Array不受Option Base的影响。
注意没有作为数组声明的Variant 也可以表示数组。
除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。
尽管一个包含数组的Variant 和一个元素为Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。
Asc 函数返回一个 Integer,代表字符串中首字母的字符代码。
语法Asc(string)必要的string 参数可以是任何有效的字符串表达式。
如果string中没有包含任何字符,则会产生运行时错误。
说明在非 DBCS 系统下,返回值范围为 0 – 255 。
在 DBCS 系统下,则为 -32768 – 32767。
VB函数过程解读
VB函数过程解读作为一种编程语言,VB中的函数过程(Function Procedure)是一种重要的概念,用于实现代码的功能和逻辑。
在VB中,函数过程由一组可执行的语句组成,用来执行特定的任务并返回相应的结果。
函数过程在VB中有以下几个要点和特点:1. 函数定义和语法:函数过程的定义以关键字"Function"开头,后面是函数的名称和参数列表。
参数列表可以为空或包含一个或多个参数,每个参数由参数名和数据类型组成,参数之间用逗号分隔。
函数过程以"End Function"结束。
2. 函数的返回值:函数过程必须指定返回值的数据类型。
通过使用关键字"Function"后面的冒号加上返回值的数据类型来指定。
例如,"Function MyFunction( As Integer"表示这个函数返回一个整数。
3. 函数的执行:函数过程可以被其他代码调用执行。
当调用函数时,函数将执行其中的语句,并根据需要返回一个结果给调用者。
在函数过程内,通过使用关键字"Return"加上要返回的值来返回结果。
例如,"Return 10"表示这个函数返回值为10。
4.函数的参数传递:函数过程可以接受传递给它的参数,并基于这些参数执行相应的功能。
参数可以是值类型或引用类型。
在函数的参数列表中,可以指定参数的名称和数据类型。
在调用函数时,可以传递一个或多个参数给函数。
参数可以通过值传递或引用传递。
5.函数的局部变量:函数过程中可以定义局部变量,这些变量的作用范围仅限于函数内部。
局部变量用于存储函数执行过程中需要的临时数据。
6.函数的递归调用:函数过程可以递归调用自身。
递归是一种重要的编程技巧,在一些情况下,使用递归可以简化代码实现。
7. 函数的访问权限:在VB中,函数过程可以被设置为公共的(Public)或私有的(Private)。
2016-2017年VB中sub过程与function函数的区别(总结)
function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值。
Sub 过程与Function 过程的区别:1.Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型”定义函数返回值类型。
2.Sub 过程中没有对过程名赋值的语句,而Function 过程中一定有对函数名赋值的语句。
3.调用过程:调用Sub 过程与Function 过程不同。
调用Sub 过程的是一个独立的语句,而调用函数过程只是表达式的一部分。
Sub 过程还有一点与函数不一样,它不会用名字返回一个值。
但是,与Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。
4.调用Sub 过程有两种方法:以下两个语句都调用了名为MyProc 的Sub 过程。
Call MyProc (FirstArgument, SecondArgument)MyProc FirstArgument, SecondArgument注意当使用Call 语法时,参数必须在括号内。
若省略Call 关键字,则也必须省略参数两边的括号。
在VB中,子过程与函数过程只有一处区别(要学好VB一定要记住),区别就是:子过程没有返回值,函数过程有返回值。
子过程用于编写一些代码的集合,函数过程用于建立函数。
我兴个例吧。
例如,我要做多处要做如下事件,我只要编写一个子过程,在其它事件下,我只要把子过程的名称写下就行了。
Private Sub ABC(A As Integer, B As Integer, C As Integer)A = 1B = 1C = 1End SubPrivate Sub Command1_Click()ABC '按扭一就调用了该子过程了,而不用再写子过程的代码。
End SubPrivate Sub Command2_Click()ABC '按扭二就调用了该子过程了,而不用再写子过程的代码。
fyg VB过程与自定义函数 pptx
第14课 第(3)题 P87
14
of
22
14
解析 : 1 )解析法是通过分析找出表示问题的前提条件与结果之间 关系的数学表达式,并通过表达式的计算来实现问题求解的方法。 本题中主要是通过分析根据已知条件,找出求解模 y 的数学表达式, 再根据已知条件C中对应表找出对应的校验码,所以是解析算法。 2 )①处是函数的调用点,是要调用判断身份证号码是否正确的程 序段自定义函数,变量用jieq函数名是jy(参数),此处的参数是 第14课 正要检测的第 i 个身份证号码,即数组 sfz 的第 i 个元素,故此处填 第(3)题 P87 jy(sfz(i))。 ②处的循环是逐个提取身份证号码中的数字并乘以加权因子,因为 加权因子存放在jq数组中,故此处填jq(i)。 ③y是取模的结果,其值必定位于区间[0,10],校验码位于字符 串变量jym中,若y=0,刚好对应于jym中第1个位置的1,因此取jym 的子串时,位置要加1,故此处填Mid(jym, y + 1, 1)。
第14课 第(3)题 P87
13
of
22
13
Function jy(sfz1 As String) As String ′ 对身份证的校验码进行校验 Dim s As Integer, y As Integer, r As Integer Dim djym As String jym = "10X98765432" For i = 1 To 17 r = Val(Mid(sfz1, i, 1)) * ② jq(i) s=s+r Next i y = s Mod 11 djym = ③ Mid(jym,y + 1,1) If djym = Mid(sfz1, 18, 1) Then jy = "正确!" Else jy = "错误!" End If End Function
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.子过程定义 Sub 子过程名[(参数列表)] 局部变量或常数定义 语句块 End Sub 3.子过程的调用 子过程名 [参数列表] 或 Call 子过程名(参数列表)
例:实现三个数排序的子过程
Public Sub sort(x%, y%, z%) Private Sub form_Click() Dim t% Dim x%, y%, z% If x < y Then t = x: x = y: y = t x = 10 If y < z Then t = y: y = z: z = t y = 20 If x < y Then z = 30 t = x: x = y: y = t sort x, y, z End If Print x, y, z End If End Sub End Sub
Call sort(x, y, z)
4.子过程与函数过程区别
(1)函数过程名有值,有类型,在函数体内至少赋值一次; 子过程名无值,无类型,在子过程体内不能对子过程名赋值;
(2)调用时,子过程调用是一句独立的语句。 函数过程不能作为单独的语句加以调用,必须参与表达式运算。
(3)一般当过程有一个函数值,使用函数过程较直观; 反之若过程无返回值,或有多个返回值,使用子过程较直观。
参数传递(传址与传值的区别)
例: 两个变量的交换 Sub Swap1(ByVal x%, ByVal y%) t% = x: x = y: y = t End Sub Private Sub Command1_Click() a% = 10: b% = 20 Swap1 a, b '传值 Print a, b a = 10: b = 20 Swap2 a, b '传址 Print a, b End Sub Sub Swap2(x%, y%) t% = x: x = y: y = t End Sub
3.3 参数传递
参数传递:指主调过程的实参传递给被调过程的形参 1.主调过程与被调过程
2.实参与形参 实参:主调程序中的参数 形参:被调过程(子过程,函数过程)中的参数 3. 传址与传值 传址(ByRef): 形参得到的是实参的地址,改变形 参值的同时也改变实参的值 传值(ByVal): 形参得到的是实参的值,形参值的 改变不会影响实参的值。
End sub
n=cint(text1) text2=sum(n)
‘调用sum()函数
2.函数过程的定义 自定义函数过程有两种方法: (1)利用“工具”菜单---“添加过程” ,生成一个函数 的框架 (2)利用代码窗口直接定义
函数过程的定义形式: Function 函数过程名([参数列表]) [As 类型] 局部变量或常数定义 语句块 函数名 = 返回值 [Exit Function] [语句块] End Function
3.函数过程的调用
调用形式:变量=函数名(参数列表) 例:计算m+…+n的值(n>m)
Public Function sum1(m%,n%) As integer dim i%, s% For i=m to n s=s+i Next Private sub c1_click() sum1=s m%=cint(text1) End Function
prime(m)=true
public function prime(m%) as integer dim i% For i = 2 To m-1 If (m Mod i) = 0 Then Private sub c1_click() prime=0 m=cint(text1) Exit for if prime(m)=1 then endif text2=“是素数” Next i else if i=m then prime=1 text2=“不是素数” end function end if End sub
例:编写计算三角形面积的函数
area c(c x)(c y)(c z)
定义函数过程area:
1 c ( x y z) 2
x z
y
Public Function area(x!, y!, z!) As Single Dim c! c = 1 / 2 * (x + y + z) area = Sqr(c * (c - x) * (c - y) * (c - z)) End Function
n%=cint(text2) text3=sum1(m,n)
‘调用sum()函
数
End sub
例:素数判断
public function prime(m%) as boolean dim i% For i = 2 To m-1 Private sub c1_click() If (m Mod i) = 0 Then m=cint(text1) prime=false if prime(m) then Exit for text2=“是素数” endif else Next i text2=“不是素数” if i=m then prime=true end if end function End sub
调用函数过程:
Sub command1_click() …… 输入三角形边长 S=area(a,b,c) Print S End Sub
3.2
子 过 程
(1)不是为了获得某个函数值,而是为了某种功能的处理 (2) 要获得多个结果 1.引例: 编写一个两个数交换的过程供多次调用
Swap (x,y)子过程的定义: 主调程序调用Swap子过程: Public Sub Swap(x, y) Private Sub Form_Click() Dim t Dim a, b t=x a = 10 Swap a,b x=y b = 20 y=t Call Swap (a, b) End Sub Print "a=";a,“,b="; b End Sub