VB中函数中的可选参数怎么写

VB中函数中的可选参数怎么写,第1张

fg为可选参数,默认值为0

Public Function Rlzl_Convert(ByVal In_Str As String, Optional ByVal fg As Long = 0) As String

Visual Basic 包含内置的、或内部的函数,如 Sqr、Cos 或 Chr。此外,还可用 Function 语句编写自己的 Function

过程

函数过程的语法是:

Private|Public][Static]Function procedurename

(arguments) [As type]

statements

End Function

与 Sub 过程一样,Function 过程也是一个独立的过程,可读取参数、执行一系列语句并改变其参数的值。与子过程不同,Function

过程可返回一个值到调用的过程。在Sub 过程与Function 过程之间有三点区别:

一般说来,让较大的语句或表达式的右边包含函数过程名和参数 (returnvalue

= function),这就调用了函数。

与变量完全一样,函数过程有数据类型。这就决定了返回值的类型。(如果没有 As 子句,缺省的数据类型为 Variant。)

给 procedurename

自身赋一个值,就可返回这个值。Function 过程返回一个值时,该值可成为较大表达式的一部分。

例如,下面是已知直角三角形两直角边的值,计算第三边(斜边)的函数:

Function Hypotenuse (A As Integer, B As Integer) As String

Hypotenuse = Sqr (A ^ 2 + B ^ 2)

End Function

在 Visual Basic 中调用 Function 过程的方法和调用任何内部函数的方法是一样的:

Label1Caption = Hypotenuse(CInt(Text1Text), _

CInt(Text2Text))

strX = Hypotenuse (Width, Height)

上例中的参数A As Integer, B As Integer声明了A和B两个变量为整型,下边的CInt(Text1Text), CInt(Text2Text)则把文本框Text1的值给A,Text2的值给B,然后Sqr (A ^ 2 + B ^ 2)给A和B进行计算,将结果赋值给Hypotenuse,最后在Label1上显示出来或者赋值给变量就像strX = Hypotenuse (Width, Height)

Private Sub Command1_Click()

Dim a$(), b$()

a = Split("张三,李四,王红,王毅力,王大叔", ",")

b = findstr(a, "王")

For i = 0 To UBound(b)

Print b(i)

Next

End Sub

Private Function findstr(ByRef Expression() As String, ByVal Find As String) As String()

Dim m_Array$(), i%, n%

n = 0

For i = LBound(Expression) To UBound(Expression)

If InStr(Expression(i), Find) > 0 Then

ReDim Preserve m_Array(n)

m_Array(n) = Expression(i)

n = n + 1

End If

Next

findstr = m_Array

End Function

这个函数的用法,是传递两个string类型的参数。

你想直接传递数组是不可能的。

解决思路:

1、循环遍历数组,将数据拆成一对对的字符串,使用此函数

2、再重新定义一个函数,支持传递数组参数,内部功能与1类似。即重新封装一下。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12183155.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存