Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 为什么我的代码是逐字显示而不是逐字显示?_Vb.net - Fatal编程技术网

Vb.net 为什么我的代码是逐字显示而不是逐字显示?

Vb.net 为什么我的代码是逐字显示而不是逐字显示?,vb.net,Vb.net,我正在尝试制作一个基本的解释器,但是datagrid中的输出是逐字显示的,而不是逐字显示的。看图片。 到目前为止,我得到的是: Public Class Form1 Dim nro_letras As Integer Dim cont As Integer Dim cadena As String Dim conversion As String Dim palabras As String Private Sub Button1_Click(sender As Object,

我正在尝试制作一个基本的解释器,但是datagrid中的输出是逐字显示的,而不是逐字显示的。看图片。

到目前为止,我得到的是:

Public Class Form1

Dim nro_letras As Integer 
Dim cont As Integer 
Dim cadena As String 
Dim conversion As String 
Dim palabras As String 


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    cont = 0 
    For atun As Integer = 1 To nro_letras 
        conversion = Mid(cadena, atun, 1)

        Select Case Asc(conversion)
            Case 0 To 32
                MsgBox("este caracter no es valido")
            Case Is >= 125
                MsgBox("este caracter no es valido")
            Case Else
                palabras = palabras & conversion
        End Select

        If DataGridView1.RowCount = cont Then DataGridView1.Rows.Add()


        DataGridView1.Item(0, cont).Value = cont
        DataGridView1.Item(1, cont).Value = palabras


        cont += 1
        palabras = ""

    Next
    cont += 1

End Sub

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    nro_letras = TextBox1.TextLength 'Digo que el numero de letras es todo lo que usuario escriba'
    cadena = TextBox1.Text 'lo que esta escrito en el textbox es mi string'
End Sub

Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

End Sub
End Class

汉斯是对的,它正在做你告诉它的事。要使行包含整个单词,您需要将Sub for Button1\u的当前代码放入一个附加循环中。给你一个开始

  • 就像汉斯说的,你应该解析原文。这样做就成了一件好事 排列
  • 遍历数组中的单词
  • 在每个角色上,执行当前正在执行的角色分析
  • 一定要处理角色失败的情况(现在看起来你只是缺少了失败的角色,但似乎没有) 符合你的意图)

  • 您有一个For循环,用于查看字符串中的每个字符。它在循环中调用Rows.Add()。它完全按照你编程的方式工作。您将不得不解析单词而不是字符,这是一个更加模糊的定义,但是String.Split()应该可以帮助您找到一些地方。这不是VBA,而是VB.Net。VBA用于Word和Excel等MS Office应用程序,而不是Visual Studio。我已经更正了标签。请学习您正在使用的语言,并在将来适当标记。学习使用调试器对您也有好处,它可以让您自己更快地解决这个问题,而不是在这里复制和粘贴代码