高分请vb高手!!!

代码如下:PublicFunctionDivideString(sAsString,dAsString,a()AsString)AsInteger's:字符串,d:分隔符... 代码如下:
Public Function DivideString(s As String, d As String, a() As String) As Integer
's:字符串,d:分隔符,a结果数组,返回值为分隔的段数
Dim i As Integer
Dim j As Integer
Dim num As Integer
i = InStr(s, d)(返回一个数)
j = 1
Do While i > 0
num = num + 1
ReDim Preserve a(num)
a(num) = Mid(s, j, i - j)
j = i + 1
i = InStr(j, s, d)
Loop
num = num + 1
ReDim Preserve a(num)
a(num) = Mid(s, j, Len(s) - j + 1)
DivideString = num
End Function
我是在做“通讯录管理”,在模块里有这样一段,读不懂,不知道它的具体作用是干啥的,还有就是各个变量具体有何作用,还有就是这段代码都包含了什么知识点,一共三个问题。希望高手指点迷津!!!!答案满意,追加悬赏!!!
展开
 我来答
丙慧0hq
2009-09-24
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
今天我心情比较好,呵!!!

第一、总的说来这就是一个拆分字符串的函数,比如“123,2321,22”拆成三个字符串“123”“2321”“22”

第二、s As String, d As String, a() As String共有三个传入变量(调用这个函数需要给这三个变量一个实参。比如call dividestring (“123,2321,22”,“,”a),这里面a就是一个定义好的数组,用于储存拆分后的字符串。另外:Dim i As Integer
Dim j As Integer
Dim num As Integer
这些是内部定义的变量,只是算法需要。

第三:
Public Function DivideString(s As String, d As String, a() As String) As Integer 'function 定义一个函数名“DivideString”,并且返回值是整数(Integer)
Dim i As Integer '用dim定义变量知道吧?
Dim j As Integer
Dim num As Integer
i = InStr(s, d)(返回一个数) ’给变量赋值会吧?
j = 1
Do While i > 0 '循环函数do while……loop明白吗?
num = num + 1
ReDim Preserve a(num) 'ReDim Preserve 可以对定义的数组重新定义(一般用于增加容量,保持原值不变)
a(num) = Mid(s, j, i - j) ’mid函数是字符串处理函数,功能见后面
j = i + 1
i = InStr(j, s, d) ;instr也是字符串处理函数,见后
Loop
num = num + 1
ReDim Preserve a(num)
a(num) = Mid(s, j, Len(s) - j + 1)
DivideString = num '最后给函数付返回值
End Function

语法

Mid(string, start[, length])

Mid 函数的语法具有下面的命名参数:

部分 说明
string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。
start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。
length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。

说明

欲知 string 的字符数,可用 Len 函数。

注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个示例。

InStr 函数

返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

语法

InStr([start, ]string1, string2[, compare])

InStr 函数的语法具有下面的参数:

部分 说明
start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。
string1 必要参数。接受搜索的字符串表达式。
string2 必要参数。被搜索的字符串表达式。
Compare 可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。

设置

compare 参数设置为:

常数 值 描述
vbUseCompareOption -1 使用Option Compare 语句设置执行一个比较。
vbBinaryCompare 0 执行一个二进制比较。
vbTextCompare 1 执行一个按照原文的比较。
vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库中信息的比较。

返回值

如果 InStr返回
string1 为零长度 0
string1 为 Null Null
string2 为零长度 Start
string2 为 Null Null
string2 找不到 0
在 string1 中找到string2 找到的位置
start > string2 0

说明

InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。
鱼羊小子
2009-09-24 · TA获得超过156个赞
知道小有建树答主
回答量:265
采纳率:0%
帮助的人:367万
展开全部
楼上真有耐心啊,支持一个

参考资料: 不能加链接。。。哎。。。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式