结果数据 序号 保留时间(min) 峰高 面积 名称 浓度 1 1.217 530 2511 co 1.0438 2 1.432 447 2582 co2 1.09809 3 1.674 358 2314 ch4 0.92574 4 1.231 531 1324 o2 0.4565 (一个txt文件) txt(i).txt显示各个气体浓度。 Private Sub Command1_Click() Dim tempdata(1 To 5) As Single Dim tempstat As Byte Dim i As Integer Dim temp As Single tempstat = collectdata(CO, CO2, CH4, O2, N2) If tempstat > 0 Then MsgBox "error", vbOKOnly, "!" Else
For i = 1 To 5 temp = Choose(i, CO, CO2, CH4, O2, N2) tempdata(i) = temp Next i For i = 1 To 5 txt(i - 1) = tempdata(i) Next i End If End Sub 模块 Public Function collectdata(ByRef cCO As Single, ByRef cCO2 As Single, ByRef cCH4 As Single, ByRef c_O2 As Single, ByRef cN2 As Single) As Byte Dim s As String Dim x As Variant
On Error GoTo err_CollectData collectdata = 1 Open "F:\new\开发中1\HWAcquisitionDataAndResultsB.txt" For Input As #1 Do While Not EOF(1) Line Input #1, s If Len(Trim(s)) > 10 Then s = Replace(s, vbTab, "") s = Replace(s, " ", "") Do While InStr(s, " ") <> 0 s = Replace(s, " ", "") Loop x = Split(s, "") Select Case UCase(x(4)) Case "CO" cCO = CSng(x(5)) Case "CO2" cCO2 = CSng(x(5)) Case "CH4" cCH4 = CSng(x(5)) Case "O2" c_O2 = CSng(x(5)) End Select cN2 = 1 - cCO - cCO2 - cCH4 - c_O2 / 10000 End If Loop collectdata = 0 Close #1
err_CollectData: MsgBox "error",vbOKOnly,"!" End Function 有关地址传递高不明白啊,谁能做个完整的?
1、collectdata(ByRef cCO As Single, ByRef cCO2 As Single, ByRef cCH4 As Single, ByRef c_O2 As Single, ByRef cN2 As Single) As Byte As Single改成AS string 2、去掉cSng cCO = CSng(x(5)) Case "CO2" cCO2 = CSng(x(5)) Case "CH4" cCH4 = CSng(x(5)) Case "O2" c_O2 = CSng(x(5))
tempstat = collectdata(CO, CO2, CH4, O2, N2) ------------------------------------------------- CO, CO2, CH4, O2, N2这几个变量怎么定义的? 正确定义:dim CO as single, CO2 as single, CH4 as single, O2 as single, N2 as single 如果定义成 dim CO , CO2 , CH4 , O2 , N2 as single就错了
CO, CO2, CH4, O2, N2这些不是变量,是实参。 昨天用你那个方法试了,很好用,但源程序很多,如果改了很麻烦。现在我想用 collectdata(ByRef cCO As Single, ByRef cCO2 As Single, ByRef cCH4 As Single, ByRef c_O2 As Single, ByRef cN2 As Single) As Byte 函数把txt文件中的CO , CO2 , CH4 , O2 , N2 浓度导入进去,可是编写的不对。