[求助]关于向文件中写入一些信息
各位大虾,现在在编程中遇到一些问题,请大家指教。现在需要编写一个程序,用来计算曲线中的点,将计算出的数据写入扩展名为rec的文件中。该文件有固定的头和固定的尾。需要写成16进制的文件。
例如:曲线Y=2X+3,在X=1 to 100 步长0.1中的Y的值,计算出后写入相应的文件。文件格式见附件。
需要有多条曲线进行计算后将Y值连续写入文件。同时还要计算出有多少个Y值,将数量写入固定的位置。
请问:
1、将计算出的结果写入数组后再写入文件还是将每条曲线的数据分别写入一个临时文件后再将头和尾以及Y的数量连接起来后写入文件。
2、现在每次写入数据的时候总是有空格出现,如何去除?
以下为写入的程序
Public Sub Function_DC(Li As Integer)
'li:行号;PointNum :传递函数,返回给调用程序,在此函数中存在有多少个采样点
'DC函数的描点计算,并生成点库,需要传递的函数,
'1、行数;2、持续时间;
' .TextMatrix(0, 0) = "序号"
' .TextMatrix(0, 1) = "函数"
' .TextMatrix(0, 2) = "持续时间"
' .TextMatrix(0, 3) = "C"
' .TextMatrix(0, 4) = "V"
' .TextMatrix(0, 5) = "UniteV"
' .TextMatrix(0, 6) = "UniteS"
' .TextMatrix(0, 7) = "初始电压"
' .TextMatrix(0, 8) = "函数号"
' 函数号 0=DC;1=sin;2=exp;3=ln
Dim oFSO As New FileSystemObject
Dim sFolder As String
With form1
采样频率 = .TPoint.Text
If .GFunction.TextMatrix(Li, 6) = "S" Then
持续时间 = .GFunction.TextMatrix(Li, 2)
Else
持续时间 = .GFunction.TextMatrix(Li, 2) / 1000
End If
样本数量 = Int(持续时间 * 采样频率)
PointNum(Li + 1) = 样本数量
ReDim Y值(样本数量) As Byte
'ReDim X值(样本数量)
For i = 1 To 样本数量
Y值(i) = .GFunction.TextMatrix(Li, 3) '.GFunction.TextMatrix(Li, 3) '
MsgBox "Y值" & i & "=" & Y值(i)
Next i
End With
'检查文件夹TEMP是否存在,如果没有则建立,有则继续
'在TEMP文件夹中建立与SN相关的点文件,使用16进制存储
sFolder = App.Path + "\temp"
If oFSO.FolderExists(sFolder) = False Then
oFSO.CreateFolder (sFolder)
MsgBox "成功建立temp文件夹"
End If
Open App.Path + "\temp\Function" & Li & ".rec" For Binary As #1 'Len = 4
Put #1, , Y值
Close #1
End Sub
exp.rar
(746 Bytes)