为什么我的代码逐字逐句显示而不是逐字显示?

时间:2016-06-22 21:57:01

标签: vb.net

我试图创建一个基本的解释器,但数据网格中输出的显示方式是逐字逐句而不是逐字逐句。看图片。 wrong way right way

这是我到目前为止所得到的:

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

1 个答案:

答案 0 :(得分:1)

汉斯是对的,它做的是你告诉它的。要让行包含整个单词,您需要将Sub for Button1_Click的当前代码放在另一个循环中。为您提供一个开始

  1. 就像汉斯说你应该解析原文。这样做了 阵列
  2. 遍历数组中的单词
  3. 在每个角色上,进行您当前正在进行的角色分析
  4. 一定要处理角色失败的情况(现在看起来你只是错过了失败的角色,但这似乎并不是 按照你的意图排队)