Here is my code to my previous question, My code has erros and i am not sure wha
ID: 440673 • Letter: H
Question
Here is my code to my previous question, My code has erros and i am not sure what they are Public Class Form1 Structure people Dim name As String Dim number As String End Structure Structure Directory Dim file As String Dim records() As people Dim recordCount As Integer End Structure Dim Directories() As Directory Dim directoryCount As Integer = 0 Dim temp As String Dim tempReader As IO.StreamReader Dim tempBuffer() As String Dim position As Integer Private Sub btnCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreate.Click Dim directoryName As String = InputBox("Enter a directory name") Dim writer As IO.StreamWriter directoryCount += 1 ReDim Preserve Directories(directoryCount) Directories(directoryCount - 1).file = directoryName writer = IO.File.AppendText("directories.txt") writer.WriteLine(directoryName) lstFiles.Items.Add(directoryName) End Sub Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click Dim name As String = "" Dim number As String = "" name = txtName.Text number = txtPhone.Text Directories(lstFiles.SelectedIndex).recordCount += 1 ReDim Preserve Directories(lstFiles.SelectedIndex).records(Directories(lstFiles.SelectedIndex).recordCount) Directories(lstFiles.SelectedIndex).records(Directories(lstFiles.SelectedIndex).recordCount - 1).name = name Directories(lstFiles.SelectedIndex).records(Directories(lstFiles.SelectedIndex).recordCount - 1).number = number End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim sw As IO.StreamWriter = IO.File.CreateText("Directories.txt") sw.WriteLine("Friends.txt") sw.WriteLine("Merchants.txt") sw.WriteLine("Restaurants.txt") sw.WriteLine("Theaters.txt") sw.Close() Dim sr As IO.StreamReader = IO.File.OpenText("Directories.txt") lstFiles.Items.Clear() Do While sr.Peek <> -1 temp = sr.ReadLine() lstFiles.Items.Add(temp) ReDim Preserve Directories(lstFiles.Items.Count()) Directories(lstFiles.Items.Count() - 1).file = temp tempReader = IO.File.OpenText(temp) While (tempReader.Peek() <> -1) temp = tempReader.ReadLine() tempBuffer = temp.Split(","c) position = lstFiles.Items.Count() - 1 Directories(position).recordCount += 1 ReDim Preserve Directories(position).records(Directories(position).recordCount) Directories(position).records(Directories(position).recordCount - 1).name = tempBuffer(0) Directories(position).records(Directories(position).recordCount - 1).number = tempBuffer(1) End While tempReader.Close() Loop sr.Close() End Sub Private Sub lstFiles_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstFiles.SelectedIndexChanged txtCurr.Text = CStr(lstFiles.SelectedItem) End Sub Private Sub btnRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemove.Click Dim tempData() As people Dim name As String = txtName.Text Dim position As Integer = 0 Dim counter As Integer = 0 For i As Integer = 0 To Directories(lstFiles.SelectedIndex).records.GetUpperBound(0) - 1 If (Directories(lstFiles.SelectedIndex).records(i).name <> name) Then counter += 1 ReDim Preserve tempData(counter) tempData(counter - 1).name = Directories(lstFiles.SelectedIndex).records(i).name tempData(counter - 1).number = Directories(lstFiles.SelectedIndex).records(i).number End If Next Directories(lstFiles.SelectedIndex).records = tempData End Sub Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click If (Directories(lstFiles.SelectedIndex).records Is Nothing) Then dgvResult.DataSource = Nothing Return End If Dim directoryQ = From data In Directories(lstFiles.SelectedIndex).records Select data.name, data.number Order By name dgvResult.DataSource = directoryQ.ToList() End Sub End ClassExplanation / Answer
Public Class Form1 Structure people Dim name As String Dim number As String End Structure Structure Directory Dim file As String Dim records() As people Dim recordCount As Integer End Structure Dim Directories() As Directory Dim directoryCount As Integer = 0 Dim temp As String Dim tempReader As IO.StreamReader Dim tempBuffer() As String Dim position As Integer Private Sub btnCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreate.Click Dim directoryName As String = InputBox("Enter a directory name") Dim writer As IO.StreamWriter directoryCount += 1 ReDim Preserve Directories(directoryCount) Directories(directoryCount - 1).file = directoryName writer = IO.File.AppendText("directories.txt") writer.WriteLine(directoryName) lstFiles.Items.Add(directoryName) End Sub Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click Dim name As String = "" Dim number As String = "" name = txtName.Text number = txtPhone.Text Directories(lstFiles.SelectedIndex).recordCount += 1 ReDim Preserve Directories(lstFiles.SelectedIndex).records(Directories(lstFiles.SelectedIndex).recordCount) Directories(lstFiles.SelectedIndex).records(Directories(lstFiles.SelectedIndex).recordCount - 1).name = name Directories(lstFiles.SelectedIndex).records(Directories(lstFiles.SelectedIndex).recordCount - 1).number = number End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim sw As IO.StreamWriter = IO.File.CreateText("Directories.txt") sw.WriteLine("Friends.txt") sw.WriteLine("Merchants.txt") sw.WriteLine("Restaurants.txt") sw.WriteLine("Theaters.txt") sw.Close() Dim sr As IO.StreamReader = IO.File.OpenText("Directories.txt") lstFiles.Items.Clear() Do While sr.Peek -1 temp = sr.ReadLine() lstFiles.Items.Add(temp) ReDim Preserve Directories(lstFiles.Items.Count()) Directories(lstFiles.Items.Count() - 1).file = temp tempReader = IO.File.OpenText(temp) While (tempReader.Peek() -1) temp = tempReader.ReadLine() tempBuffer = temp.Split(","c) position = lstFiles.Items.Count() - 1 Directories(position).recordCount += 1 ReDim Preserve Directories(position).records(Directories(position).recordCount) Directories(position).records(Directories(position).recordCount - 1).name = tempBuffer(0) Directories(position).records(Directories(position).recordCount - 1).number = tempBuffer(1) End While tempReader.Close() Loop sr.Close() End Sub Private Sub lstFiles_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstFiles.SelectedIndexChanged txtCurr.Text = CStr(lstFiles.SelectedItem) End Sub Private Sub btnRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemove.Click Dim tempData() As people Dim name As String = txtName.Text Dim position As Integer = 0 Dim counter As Integer = 0 For i As Integer = 0 To Directories(lstFiles.SelectedIndex).records.GetUpperBound(0) - 1 If (Directories(lstFiles.SelectedIndex).records(i).name name) Then counter += 1 ReDim Preserve tempData(counter) tempData(counter - 1).name = Directories(lstFiles.SelectedIndex).records(i).name tempData(counter - 1).number = Directories(lstFiles.SelectedIndex).records(i).number End If Next Directories(lstFiles.SelectedIndex).records = tempData End Sub Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click If (Directories(lstFiles.SelectedIndex).records Is Nothing) Then dgvResult.DataSource = Nothing Return End If Dim directoryQ = From data In Directories(lstFiles.SelectedIndex).records Select data.name, data.number Order By name dgvResult.DataSource = directoryQ.ToList() End Sub End ClassRelated Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.