2016-06-22 2 views
-2

私は基本的なインタプリタを作成しようとしていますが、データグリッドの出力が表示される方法は、単語単位ではなく文字単位です。写真を参照してください。 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 
+3

文字列内のすべての文字を見るForループがあります。ループ内でRows.Add()を呼び出します。それはあなたがそれを行うようにプログラムしたものを正確に*行います。文字の代わりに単語を解析する必要がありますが、String.Split()はあなたをどこかに派遣しなければなりません。 –

+2

これはVBAではなく、VB.Netです。 VBAは、Visual StudioではなくWordやExcelなどのMS Officeアプリケーションで使用されます。私はタグを修正しました。今後どの言語を使用しているかを覚えて、適切なタグを付けてください。デバッガを使用する方法を学ぶことも有益でしょう。これは、コードをコピーしてここに貼り付けるよりも速く自分自身で把握することができました。 –

+0

私の悪いタグ@KenWhiteを修正しました – MrDuro

答えて

1

、あなたがそれを言ったことをやっています。行全体に単語を持たせるには、Button1_ClickのSubの現在のコードを追加のループの中に入れる必要があります。あなたにスタートを与えるために

  1. ハンスは、元のテキストを解析する必要があると言いました。各文字の上のアレイ
  2. 内の単語を繰り返し処理 配列
  3. にそう、あなたは現在、今の文字(の障害が発生した場合に対処するようにしてください
  4. をやっている文字解析を行いますあなたが失敗したキャラクターを逃しているように見えますが、それは とあなたの意図が一致していないようです)
関連する問題