私は大学で VB に取り組んでおり、課題の 1 つに問題が発生しています。誰か助けてくれませんか?次の辞書コードを取得することを目指しています。
Public Class Inventory
Public ItemInventory As New Dictionary(Of String, Item)
Public Function iItem(ByVal key As String) As Item
Return ItemInventory(key)
End Function
Public Sub addItem(ByVal item As String, ByVal Desc As String, ByVal DRate As Double, ByVal WRate As Double, _
ByVal MRate As Double, ByVal Quantity As Integer)
With ItemInventory
.Add(item, New Item(item, Desc, DRate, WRate, MRate, Quantity))
End With
End Sub
Public Sub removeItem(ByVal item As String)
With ItemInventory
.Remove(item)
End With
End Sub
Public Function returnKeys() As String()
Dim Keys() As String
With ItemInventory
Keys = .Keys.ToList.ToArray
End With
Return Keys
End Function
End Class
きれいではないことはわかっていますが、それは仕事を成し遂げます。それが私が目指しているすべてです. これは、プログラムで辞書項目を表示することにも関係していますが、これにも問題がありますが、これを一度に 1 つずつ実行したいので、後で説明します。 、 もし可能なら。
執筆によると、これは読み書きのための私の現在のコードです:
Imports System.IO
Public Class InventoryFile
Public Sub RFile(ByVal FPath As String, ByRef dInventory As Inventory)
Dim infile As StreamReader = File.OpenText(FPath)
Dim entireLine As String = infile.ReadLine()
Dim fields() As String = entireLine.Split(","c)
While infile.EndOfStream
Dim dItem As New Item
dItem.ID = fields(0)
dItem.Description = fields(1)
dItem.Daily = fields(2)
dItem.Weekly = fields(3)
dItem.Monthly = fields(4)
dItem.Quantity = fields(5)
'AddItem
dInventory.addItem(dItem.ID, dItem.Description, dItem.Daily, dItem.Weekly, _
dItem.Monthly, dItem.Quantity)
End While
End Sub
Public Sub WFile(ByVal FPath As String, ByRef dInventory As Inventory)
Dim outfile As StreamWriter = File.CreateText(FPath)
For Each Item As KeyValuePair(Of String, Item) In dInventory.ItemInventory
Next
End Sub
End Class
正しく投稿されたことを願っています。さて、私が理解している限り、ファイルを辞書に入れるという点では問題なく機能しますが、私のStreamWriterである「WFile」は私を困惑させています。誰かがそれを手伝ってくれますか?同様に、閉じるときにファイルを閉じて書き込むことになっています。閉じるボタンのコードは Me.Close() コマンドだけです。プログラムにファイルへの書き込みをさせるトリガーを作成するにはどうすればよいですか? メイン フォーム コードと私の 'InventoryFile' はどちらも別のクラスであるため、問題の他のクラスを参照してこれを行う必要があります。