苦寻 绝对给分 类似于这样的 文本文档信息怎么变成 每个人的 属性 赋给数组中的每个元素
苦寻 绝对给分 类似于这样的 文本文档信息如何变成 每个人的 属性 赋给数组中的每个元素
类似于这样的 文本文档信息如何读取 而后 如何变成 每个人的 属性 赋给数组中的每个元素
姓名 性别 生源所在地 考卷类型 高考成绩 入学测试成绩
宋德顺 男 黑龙江 全国二卷 115 103
杨月伦 男 云南 自主命题 98 76
古金海 男 四川 自主命题 78 89
张屹峻 男 上海 自主命题 103 98
姚迪 男 内蒙古 全国一卷 64 110
王彬 男 江西 自主命题 110 112
袁绍昆 男 湖北 全国二卷 143 232
高手帮忙
------解决方案--------------------
类似于这样的 文本文档信息如何读取 而后 如何变成 每个人的 属性 赋给数组中的每个元素
姓名 性别 生源所在地 考卷类型 高考成绩 入学测试成绩
宋德顺 男 黑龙江 全国二卷 115 103
杨月伦 男 云南 自主命题 98 76
古金海 男 四川 自主命题 78 89
张屹峻 男 上海 自主命题 103 98
姚迪 男 内蒙古 全国一卷 64 110
王彬 男 江西 自主命题 110 112
袁绍昆 男 湖北 全国二卷 143 232
高手帮忙
------解决方案--------------------
- VB code
Dim Tmp_Str As String Dim Tmp_Arr() As String Open c:\test.txt For Input As #1 '打开文本文件 Do While Not EOF(1) Line Input #1, Tmp_Str '读取一行的内容 Tmp_Arr = Split(Tmp_Str, " ") '将内容按空格拆开 msgbox tmp_arr(0) msgbox tmp_arr(1) msgbox tmp_arr(2) msgbox tmp_arr(3) msgbox tmp_arr(4) msgbox tmp_arr(5) Loop Close #1
------解决方案--------------------
'我想这是你想要的...
--------------------
'模块下的代码:自定义"Student"类型
Public Type Student
sName As String
sSex As String
sWhere As String
sTestPaper As String
sScoreGK As String
sScoreRX As String
End Type
------------------------
'窗体下的代码
Private Sub Command1_Click()
Dim fs, RecFile As String '源文件。
Dim TmpLine As String, TmpArr() As String, MenCount As Integer, i As Integer
Dim Whose() As Student '自定义的Student数组
Set fs = CreateObject("Scripting.FileSystemObject")
RecFile = App.Path & "\rec.txt" '源文件
If Not fs.FileExists(RecFile) Then MsgBox "找不到文件 " & RecFile: Exit Sub
Open RecFile For Input As #1 '打开文本文件
Do While Not EOF(1)
Line Input #1, TmpLine '读取一行的内容
If Len(Trim(TmpLine)) > 0 Then '忽略空行
If (MenCount Mod 10) = 0 Then ReDim Preserve Whose(MenCount + 10)
MenCount = MenCount + 1 '记录加1.
TmpArr = Split(TmpLine, Chr(9)) '将内容按Chr(9)(Tab制表键)拆开(建议用它)
If UBound(TmpArr) = 5 Then
Whose(MenCount).sName = TmpArr(0)
Whose(MenCount).sSex = TmpArr(1)
Whose(MenCount).sWhere = TmpArr(2)
Whose(MenCount).sTestPaper = TmpArr(3)
Whose(MenCount).sScoreGK = TmpArr(4)
Whose(MenCount).sScoreRX = TmpArr(5)
Else
MsgBox TmpArr(0) & " 此人信息不全。" & UBound(TmpArr)
End If
End If
Loop
Close #1
For i = 0 To UBound(Whose) '测试结果。你也可另写代码处理此数组为你所要求的...
Debug.Print Whose(i).sName & Chr(9) & Whose(i).sSex & Chr(9) & Whose(i).sWhere & Chr(9) _
& Whose(i).sTestPaper & Chr(9) & Whose(i).sScoreGK & Chr(9) & Whose(i).sScoreRX
Next
End Sub
----------------------
------解决方案--------------------
白忙乎了,VB6写的,VB.NET2005 我不会。
不过你可根据此思路,自己写呀.
------解决方案--------------------
------解决方案--------------------
TmpLine 记取的这一行字符串..... =====> TmpLine 读取的这一行字符串.....