0

1つのリッチテキストボックス(ReportTextと呼ばれる)からデータの複数の「列」を選択し、2番目のリッチテキストボックス(UploadTextと呼ばれる)内に表示できるようにしたいと考えています。列とは、vbTab で区切られた各データを意味します。



私のデータは次のようになります。

column1 (vbTab) column2 (vbTab) column3 (vbTab) column4 (vbTab) column5 ..... (vbCrLf)
1a (vbTab) 1b (vbTab) 1c (vbTab) 1d (vbTab) 1e (vbTab).... ( vbCrLf)
2a (vbTab) 2b (vbTab) 2c (vbTab) 2d (vbTab) 2e (vbTab).... (vbCrLf)

--NB 情報のタブ区切りの性質を表すために (vbTab) を書き、新しい行を (vbCrLf) で書きました。

-- また、最初の RTB の情報は 5 列 3 行以上になることに注意してください。上記は説明目的のためのものです。


どうすればこれを行うことができるかについて、誰かが私にガイダンスを教えてもらえますか? 不明な点は喜んで詳しく説明します。私は 2 次元配列 (または同様のもの) に分割することを想定していますが、その方法がわかりません。また、最初の RTB (ReportText) の列 1 と列 3 から特定のデータを呼び出して、2 番目の RTB に表示することもできません。 (アップロードテキスト)。

よろしくお願いいたします。

マックス

4

1 に答える 1

0

LinesプロパティがRichTextBox問題を処理しvbCrLfます。各行では、分割文字としてSplit考慮することで信頼できます。vbTab以下のサンプル コードは、 からすべての行の 3 番目の列 (インデックス = 2) の値を取得InRTBし、1 行に 1 つずつ、 に書き込みますOutRTB

Dim rowNo As Integer = -1
For Each line As String In inRTB.Lines
    If (line IsNot Nothing) Then
        rowNo = rowNo + 1
        Dim colNo As Integer = -1
        Dim vals() As String = line.Split(Convert.ToChar(vbTab))
        For Each val As String In vals
            colNo = colNo + 1
            If (colNo = 2) Then
                OutRTB.Text = OutRTB.Text & val & Environment.NewLine
                Exit For
            End If
        Next
    End If
Next
于 2013-09-01T16:50:33.367 に答える