定义在过程或函数中的变量是局部变量,其他过程中用不到的,你要在Command2_Click中那么就要放到外面来,表示局部变量,记住声明一定要在一个模块中所有过程或函数的最前面。 Dim StrFileName As String '打开文件路径变量 Dim Nn%, Un%, Tn%, Hn% '已知点个数,未知点个数,总点数,观测值个数 Dim Pname() As String '点名数组 Dim Hknown() As Double '已知高程数组,存放已知点高程和高程近似值 Dim Be%(), En%() '观测值的起点和终点编号数组,存储的是点序号 Dim H#(), S#() '高差观测值数组和距离观测值数组 Dim A#(), X#(), P#(), l#(), Q#() '间接平差的误差方程系数阵、解向量、权阵、常数向量和协因数阵 Dim MiddleError#, PointErr#() '点位中误差、点位误差数组 Dim i%, j%, m% '作为循环变量用 Dim n#(), U#() '法方程系数阵、常数项Private Sub Command2_Click() Dim sr(20) As String, t As Integer '每行字符组保存 Text1 = "" i = 1 Open "e:\vb\1.txt" For Input As #1 Do While Not EOF(1) Line Input #1, ch Text1.Text = Text1.Text + ch + vbCrLf 'text换行先要把multiline设为t sr(i) = ch i = i + 1 Loop i = i - 1 Nn = Val(Mid$(sr(1), 1, 1)) '提取第一行数据 Un = Val(Mid$(sr(1), 3, 1)) Hn = Val(Mid$(sr(1), 5, 1)) t = Len(sr(2)) m = 1 For j = 1 To t Step 2 Pname(m) = Mid$(sr(2), j, 1) Print Pname(m) m = m + 1 Next Close #1 End Sub
把Dim StrFileName As String '打开文件路径变量 Dim Nn%, Un%, Tn%, Hn% '已知点个数,未知点个数,总点数,观测值个数 Dim Pname() As String '点名数组 Dim Hknown() As Double '已知高程数组,存放已知点高程和高程近似值 Dim Be%(), En%() '观测值的起点和终点编号数组,存储的是点序号 Dim H#(), S#() '高差观测值数组和距离观测值数组 Dim A#(), X#(), P#(), l#(), Q#() '间接平差的误差方程系数阵、解向量、权阵、常数向量和协因数阵 Dim MiddleError#, PointErr#() '点位中误差、点位误差数组 Dim i%, j%, m% '作为循环变量用 Dim n#(), U#() '法方程系数阵、常数项 放到所有代码的上面,就是“通用”里面
Private Sub Form_Load() Dim StrFileName As String '打开文件路径变量 Dim Nn%, Un%, Tn%, Hn% '已知点个数,未知点个数,总点数,观测值个数 Dim Pname() As String '点名数组 Dim Hknown() As Double '已知高程数组,存放已知点高程和高程近似值 Dim Be%(), En%() '观测值的起点和终点编号数组,存储的是点序号 Dim H#(), S#() '高差观测值数组和距离观测值数组 Dim A#(), X#(), P#(), l#(), Q#() '间接平差的误差方程系数阵、解向量、权阵、常数向量和协因数阵 Dim MiddleError#, PointErr#() '点位中误差、点位误差数组 Dim i%, j%, m% '作为循环变量用 Dim n#(), U#() '法方程系数阵、常数项 End Sub 把里面的东东都放到 “Dim sr(20) As String, t As Integer '每行字符组保存”下面即可。
Dim StrFileName As String '打开文件路径变量
Dim Nn%, Un%, Tn%, Hn% '已知点个数,未知点个数,总点数,观测值个数
Dim Pname() As String '点名数组
Dim Hknown() As Double '已知高程数组,存放已知点高程和高程近似值
Dim Be%(), En%() '观测值的起点和终点编号数组,存储的是点序号
Dim H#(), S#() '高差观测值数组和距离观测值数组
Dim A#(), X#(), P#(), l#(), Q#() '间接平差的误差方程系数阵、解向量、权阵、常数向量和协因数阵
Dim MiddleError#, PointErr#() '点位中误差、点位误差数组
Dim i%, j%, m% '作为循环变量用
Dim n#(), U#() '法方程系数阵、常数项Private Sub Command2_Click()
Dim sr(20) As String, t As Integer '每行字符组保存
Text1 = ""
i = 1
Open "e:\vb\1.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, ch
Text1.Text = Text1.Text + ch + vbCrLf 'text换行先要把multiline设为t
sr(i) = ch
i = i + 1
Loop
i = i - 1
Nn = Val(Mid$(sr(1), 1, 1)) '提取第一行数据
Un = Val(Mid$(sr(1), 3, 1))
Hn = Val(Mid$(sr(1), 5, 1))
t = Len(sr(2))
m = 1
For j = 1 To t Step 2
Pname(m) = Mid$(sr(2), j, 1)
Print Pname(m)
m = m + 1
Next
Close #1
End Sub
Dim Nn%, Un%, Tn%, Hn% '已知点个数,未知点个数,总点数,观测值个数
Dim Pname() As String '点名数组
Dim Hknown() As Double '已知高程数组,存放已知点高程和高程近似值
Dim Be%(), En%() '观测值的起点和终点编号数组,存储的是点序号
Dim H#(), S#() '高差观测值数组和距离观测值数组
Dim A#(), X#(), P#(), l#(), Q#() '间接平差的误差方程系数阵、解向量、权阵、常数向量和协因数阵
Dim MiddleError#, PointErr#() '点位中误差、点位误差数组
Dim i%, j%, m% '作为循环变量用
Dim n#(), U#() '法方程系数阵、常数项
放到所有代码的上面,就是“通用”里面
Dim StrFileName As String '打开文件路径变量
Dim Nn%, Un%, Tn%, Hn% '已知点个数,未知点个数,总点数,观测值个数
Dim Pname() As String '点名数组
Dim Hknown() As Double '已知高程数组,存放已知点高程和高程近似值
Dim Be%(), En%() '观测值的起点和终点编号数组,存储的是点序号
Dim H#(), S#() '高差观测值数组和距离观测值数组
Dim A#(), X#(), P#(), l#(), Q#() '间接平差的误差方程系数阵、解向量、权阵、常数向量和协因数阵
Dim MiddleError#, PointErr#() '点位中误差、点位误差数组
Dim i%, j%, m% '作为循环变量用
Dim n#(), U#() '法方程系数阵、常数项
End Sub
把里面的东东都放到
“Dim sr(20) As String, t As Integer '每行字符组保存”下面即可。