微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 vb.net 中从下到上浏览文本文件?

如何解决如何在 vb.net 中从下到上浏览文本文件?

我无法让下面的代码正常工作,事实上我想按一个后退按钮以逐行向上移动一个文本文件,然后我将链切成 3 部分。

Dim LinesOfText() As String = System.IO.File.ReadAllLines("c:\essai.librairie",Encoding.UTF8)
    For line As Integer = LinesOfText.Length - 1 To 0 Step -1

        Dim currentLine As String = LinesOfText(line)

        Dim value As String = currentLine
        Dim startIndex As Integer = 0
        Dim length As Integer = 17

        Dim substring As String = value.Substring(startIndex,length)
        Dim subs As String = value.Substring(17,90)
        Dim subst As String = value.Substring(107,120)

        TextBox1.Text = substring
        TextBox2.Text = subs
        TextBox3.Text = subst

    Next

enter image description here

解决方法

如果您将行和行计数器存储在需要的范围内,您可以这样做:

Imports System.IO

Public Class Form1

    Dim lines As String()
    Dim currentLine As Integer = -1

    Sub LoadData(filename As String)
        lines = File.ReadAllLines(filename)
        currentLine = lines.Length - 1

    End Sub

    Sub ShowCurrentLine()
        If currentLine >= 0 Then
            TextBox1.Text = lines(currentLine).Substring(0,3)
            TextBox2.Text = lines(currentLine).Substring(4,3)
            TextBox3.Text = lines(currentLine).Substring(8,3)
            lblLineNo.Text = (currentLine + 1) & "/" & lines.Length
        Else
            TextBox1.Clear()
            TextBox2.Clear()
            TextBox3.Clear()
            lblLineNo.Text = "-"
        End If

    End Sub

    Private Sub bnNext_Click(sender As Object,e As EventArgs) Handles bnNext.Click
        If currentLine < lines.Length - 1 Then
            currentLine += 1
            ShowCurrentLine()
        End If

    End Sub

    Private Sub bnPrev_Click(sender As Object,e As EventArgs) Handles bnPrev.Click
        If currentLine > 0 Then
            currentLine -= 1
            ShowCurrentLine()
        End If

    End Sub

    Private Sub Form1_Load(sender As Object,e As EventArgs) Handles MyBase.Load
        LoadData("C:\temp\SO67209265.txt")
        ShowCurrentLine()

    End Sub

End Class

您需要为数据设置子字符串参数(我只使用了一个小文本文件)以及要加载的文件名。

标签 lblLineNo 用于显示当前行号,从 1 开始。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。