类型初始值设定项引发异常
是这样的,最近在学习VB2005,但是很多问题都不太会。定义了一个模块“FeatureRecModule”,模块内容如下所示:
Module FeatureRecModule Public CS_n As Integer = 0 '#的个数 Public CS_content As String 'CLOSED_SHELL所在行的内容 Public row As Integer = Nothing 'CLOSED_SHELL所在行数 Public base_AD As String '定义基准面 Public count_base_bound As Integer '定义基准面内边个数 Public BFB1 As String '基准面内边环所在行数ID Public s1 As String = "DATA;" Public s2 As String = "END-ISO-10303-21;" Public tmp As String Public startIndex As Integer = frmMain.txtStep.Text.IndexOf(s1) Public endIndex As Integer = frmMain.txtStep.Text.IndexOf(s2) + s2.Length Public mystr As String = frmMain.txtStep.Text.Substring(startIndex + 1, endIndex - startIndex - 2) Public Arr() As String = Split(mystr, vbCrLf) '将textbox1中的内容分段存放在Arr()数组中 Public s As Integer = Arr.Length Public Function stepreader(ByVal st As String) As String For i As Integer = 0 To s - 1 '定义数组的维数 Dim CL_Int As Integer = InStr(1, Arr(i), "CLOSED_SHELL", 0) '查找CLOSED_SHELL 所在行 If CL_Int > 0 Then row = i Exit For End If Next If row <> Nothing Then st = Arr(row) End If Return st End Function Public Sub advanced_Read() Dim str1 As String Dim AD_s As String() = Split(Mid(stepreader(str1), stepreader(str1).LastIndexOf("(") + 3, stepreader(str1).IndexOf(")") - stepreader(str1).LastIndexOf("(") - 3), ", ") For i As Integer = 0 To AD_s.Length - 1 If Not IsNumeric(Mid(AD_s(i), 1, 1)) Then AD_s(i) = Mid(AD_s(i), 2) Else tmp = Mid(Val(1 & AD_s(i)), 2) AD_s(i) = Replace(AD_s(i), tmp, "", 1, 1) 'Debug.Print tmp End If '找到每个ADVANCED_FACE的边环的ID Dim FB_s(i) As String '存储每个ADVANCED_FACE的边环的ID的数组 FB_s(i) = Mid(Arr(Val(AD_s(i))), Arr(Val(AD_s(i))).LastIndexOf("(") + 3, Arr(Val(AD_s(i))).IndexOf(")") - Arr(Val(AD_s(i))).LastIndexOf("(") - 3) Dim imatchStr As String() = Split(FB_s(i).Substring(1), "#") If imatchStr.Length > 1 Then '计算 # 的个数 base_AD = Arr(Val(AD_s(i))) '找出基准面bsse_AD Else Exit For End If 'search the base_bound ID Dim BFB_s As String() = Split(Mid(base_AD, base_AD.LastIndexOf("(") + 3, base_AD.IndexOf(")") - base_AD.LastIndexOf("(") - 3), ",") BFB1 = BFB_s(imatchStr.Length - 1) 'serch the count_base_bound count_base_bound = BFB_s.Length - 1 MsgBox("边的条数为:" & count_base_bound) Next i End SubEnd ModulePrivate Sub btnFeatureRec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFeatureRec.Click FeatureRecModule.advanced_Read() End Sub