zhaoguo 发表于 2003-9-5 20:58:00

增加支持路径,欢迎批评

mccad 发表于 2003-9-5 21:03:00

StoDim函数为何不直接使用VB的split函数

efan2000 发表于 2003-9-5 21:04:00

在ACAD2002中,可以直接使用Split来分隔字符。

Split函数
      

描述

返回一个下标从零开始的一维数组,它包含指定数目的子字符串。

语法

Split(expression[, delimiter[, limit[, compare]]])

Split函数语法有如下命名参数:

部分 描述
expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。
delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。
limit 可选的。要返回的子字符串数,–1表示返回所有的子字符串。
compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。



设置值

compare参数的设置值如下:

常数 值 描述
vbUseCompareOption –1 用Option Compare语句中的设置值执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。

zhaoguo 发表于 2003-9-5 21:16:00

谢谢两位,早知道split就不会费劲编甚么stodim了

mccad 发表于 2003-9-5 21:22:00

实用函数栏目也有一个适用于VB5的Split自定义函数:
Public Function Split(Str As String, Delim As String) As Variant

   Dim tokens() As String, pos As Long, i As Integer

    pos = InStr(1, Str, Delim, vbTextCompare)
    i = 0

    Do While pos > 0
      ReDim Preserve tokens(0 To i)
      tokens(i) = Mid$(Str, 1, pos - 1)
      If tokens(i) = Delim Then tokens(i) = ""
      Str = Mid$(Str, pos + Len(Delim))
      i = i + 1
      pos = InStr(1, Str, Delim, vbTextCompare)
    Loop

    If Len(Str) > 0 Then
      ReDim Preserve tokens(0 To i)
      tokens(i) = Str
    End If

    Split = tokens

End Function

zhaoguo 发表于 2003-9-5 21:25:00

我用的就是vb5,我正在奇怪我怎么会不知道有这么一个函数。

myfreemind 发表于 2003-9-5 23:39:00

是啊,SPLIT函数很方便的!用于多文件选择的时候特别好用!

zhaoguo 发表于 2003-9-9 10:15:00

感谢参与,交流就有收获

页: [1]
查看完整版本: 增加支持路径,欢迎批评