0

各テキストを VB.net の独自の列に分割したいと考えています。

どうすればこれを達成できますか?

スクリーンショット

各メインディッシュは「|」で区切られます . 私のコード:

 Private Sub MenuItem3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
    Dim folder As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal)
    Using sw As StreamWriter = File.AppendText("\My Expenses.txt")

        sw.WriteLine(DateTimePicker.Text + Space(1) & "|" & Subject.Text + Space(4) & "|" & Category.Text + Space(5) & "|" & Amount.Text + Space(4) & "|" & Peyment.Text)
        sw.Close()

    End Using
End Sub
4

1 に答える 1

0

現時点で実験するモバイルアプリはありませんが、次のようなものを求めていると思います。

Private Sub MenuItem3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
  Using sw As StreamWriter = File.AppendText("\My Expenses.txt")
    For Each item As ListViewItem in ListView1
      Dim line As String = Nothing
      For Each entry As String in item.SubItems
        line.Append(entry & "|")
      Next For
      sw.WriteLine(line)
    Next For
    sw.Close()
  End Using
End Sub

何をしようとしているのか誤解しているかもしれませんが、列のエントリを取得しようとしていると思います。

アップデート:

設定をファイルに保存した後、どのように設定を元に戻しますか?

Private Sub PopulateListView()
  ListView1.Items.Clear()
  Using sr As StreamReader = File.OpenText("\My Expenses.txt")
    While (-1 < sr.Peek())
      Dim line As String = sr.ReadLine()
      Dim item As New ListViewItem(line.Split("|"c))
      ListView1.Items.Add(item)
    End While
    sr.Close()
  End Using
End Sub

当然、コードには必要な特別な処理が必要になる場合がありますが、これは基本的な読み取りおよび書き込み操作をカバーしています。

于 2012-04-16T00:51:50.147 に答える