我有这个txt文件,其中包含以下信息:
National_Insurence_Number;姓名;姓氏; Hours_Worked; Price_Per_Hour so:
例如:aa-12-34-56-a; Peter; Smith; 36; 12这个数据已经通过VB形式传输到txt文件,它完全没问题,问题来自另一种形式。这是我期望它做的:
(然后程序计算我工作正常的税和国民保险)
所以基本上问题是告诉程序搜索那个NI编号并引入每个“;”将分隔的字段分隔到相应的文本框中。
谢谢大家。
答案 0 :(得分:0)
您只需要像csv一样解析文件,您可以使用Microsoft.VisualBasic.FileIO.TextFieldParser
执行此操作,也可以使用CSVHelper - https://github.com/JoshClose/CsvHelper
我过去使用过csv helper并且效果很好,它允许你创建一个具有数据文件中记录结构的类,然后将数据导入到这些列表中以供搜索。
如果你想这样,你可以在这里查看有关TextFieldParser的更多信息 - Parse Delimited CSV in .NET
Dim afile As FileIO.TextFieldParser = New FileIO.TextFieldParser(FileName)
Dim CurrentRecord As String() ' this array will hold each line of data
afile.TextFieldType = FileIO.FieldType.Delimited
afile.Delimiters = New String() {";"}
afile.HasFieldsEnclosedInQuotes = True
' parse the actual file
Do While Not afile.EndOfData
Try
CurrentRecord = afile.ReadFields
Catch ex As FileIO.MalformedLineException
Stop
End Try
Loop
我建议使用CsvHelper,文档非常好,使用对象更容易与原始字符串数据相对。
找到记录后,您可以手动设置表单上每个文本框的文本或使用绑定源。