您好我正在VB.NET中构建一个控制台应用程序,它读取记录文件并将其输出给用户。我已经让程序将所有记录输出到控制台,但我似乎无法使搜索功能正常工作。
我希望用户输入记录号,并让程序在文本文件中搜索该特定记录,然后将其输出到控制台。
我将把读取记录功能留在这里作为参考。
读取记录功能:
Public Function Read_Records()
File_Name = "drecords.txt"
File_num = FreeFile()
Record_Counter = 0
record_no = 999
If File_Name <> "" Then
Try
FileOpen(File_num, File_Name, OpenMode.Input)
Do Until EOF(File_num)
Record_Counter = Record_Counter + 1
record_no = record_no + 1
records(Record_Counter, 0) = record_no
records(Record_Counter, 1) = LineInput(File_num)
records(Record_Counter, 2) = LineInput(File_num)
records(Record_Counter, 3) = LineInput(File_num)
records(Record_Counter, 4) = LineInput(File_num)
records(Record_Counter, 5) = LineInput(File_num)
Loop
record_ID = Record_Counter
Catch ex As Exception
MsgBox("ERROR OPENING FILE")
Finally
FileClose(File_num)
End Try
End If
Last_Record = Record_Counter
Return records
End Function
答案 0 :(得分:1)
我不确定你想要什么,但这里有一些例子。
要从控制台读取记录编号并输出该记录,请执行以下操作:
dim i, k as integer
k = val(console.readline())
for i = 1 to 5
console.writeline(records(k, i))
next i
我不确定您是如何识别记录的,但是,例如,您可以在第一个字段中搜索记录中的“abc”值,如下所示:
For i = 1 to Last_Record
if records(i, 1) = "abc" then
' output the record to the user
end if
next i
将records(i, 1)
替换为records(i, 0)
以搜索记录编号。
如果要搜索每个字段,可以添加嵌套循环:
For i = 1 to Last_Record
for k = 1 to 5
if records(i, k) = "abc" then
' output the record to the user
end if
next k
next i