- ベストアンサー
処理の具体的な内容とStringBuilder型
- 処理の内容とStringBuilder型について詳しく説明してください。
- txtファイルを変数に格納したり、StringBuilderを使って文字を表示する方法について教えてください。
- エラーが出てしまう場合の対処方法や、StringとStringBuilderの使い分けについて教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
この程度を解析できなと先が思いやられますよ ---- 参照URLから引用 Public Class Form1 ' ファイル読み込み用のストリーム Dim sr As System.IO.StreamReader ' 読み込んだテキストの格納用リスト Dim txtList As New List(Of String) ' 現在のテキストのカウンタ Dim currentIndex As Integer = 0 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' 1行読み込み用の一時変数 Dim tmpStr As String = "" ' ファイルとストリームを関連付け sr = New System.IO.StreamReader("?????.txt") 'ここは適宜変更してください ' ファイル読み込みループ開始 Do ' 1行読み込み tmpStr = sr.ReadLine ' リストに格納 txtList.Add(tmpStr) ' ファイルの終わりまで繰り返し Loop Until sr.EndOfStream ' ストリームを閉じる sr.Close() ' ストリームの破棄 sr.Dispose() End Sub Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown ' 最初にフォームが表示されたとき If txtList.Count > 0 Then ' リストにテキストが格納されているなら ' リストの先頭を LabelのTextプロパティに設定 Label1.Text = txtList(0) ' 現在行のカウンタを設定 currentIndex = 0 End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' 現在行のカウンタが リストの項目数-1 未満なら If currentIndex < txtList.Count - 1 Then ' 次の行にカウンタを進める currentIndex += 1 ' ラベルの表示を更新する Label1.Text = txtList(currentIndex) End If End Sub End Class ---- 引用 + コメント終了 StringBuilderでどの部分を変えたいのでしょう? 今回のように読み込んだデータをそのまま表示するのであればString型で十分ですよ StringBuilderクラスを使うなら dim sb as New StringBuilder sb.append( txtList( currentIndex ) ) sb.append( " 1:ハイ, 2:いいえ" ) Label1.Text = sb.ToString() といった具合でしょう
お礼
非常に分かりやすい解説有難う御座います。 自分でも先が思いやられますが、何とか頑張りたいと思います。