В настоящее время у меня возникают проблемы при попытке удалить строку из файла и заменить эту строку другим текстом (перезаписать строку)
Код изначально начинается с извлечения содержимого файла, чтобы найти
DepartmentDetails
, который можно использовать, чтобы найти DepartmentBudget
и вычесть AmountDue
, а затем создать новый DepartmentDetails
с новым бюджетом
Как только это будет завершено, код добавит N̳e̳w̳ DepartmentDetails
, в результате чего код с O͟l͟d͟ и N̳e̳w̳ DepartmentDetails
останется в одной папке.
Код должен затем удалить O͟l͟d͟ DepartmentDetails
из файла, чтобы N̳e̳w̳ DepartmentBudget
занял его место. перезаписать O͟l͟d͟ DepartmentDetails
новым.
Проблема в том, что код не удаляет O͟l͟d͟ DepartmentBudget
, а вместо этого добавляет пробел между O͟l͟d͟ и N̳e̳w̳.
Private Sub BtnBillDept_Click(sender As Object, e As EventArgs) Handles BtnBillDept.Click
Dim DepartmentStore As New Department
Dim Order() As String = File.ReadAllLines(Dir$("OrderDetails.Txt"))
Dim OrderID As String = TxtOrderID.Text
Dim AmountDue As String = TxtAmountDue.Text
Dim DeptID As String = (Trim(Mid(Order(OrderID), 5, 4)))
Dim DepartmentDetails() As String = File.ReadAllLines(Dir$("DepartmentDetails.Txt"))
Dim DepartmentBudget As String = (Trim(Mid(DepartmentDetails(DeptID), 35, 6)))
Dim FormattedBudget As String = FormatCurrency(DepartmentBudget, 2)
Dim YesNo As String
Dim sw As New StreamWriter("DepartmentDetails.txt", True)
DepartmentBudget = FormattedBudget - AmountDue
DepartmentStore.DepartmentID = LSet(DeptID, 4)
DepartmentStore.DepartmentHead = LSet((Trim(Mid(DepartmentDetails(DeptID), 5, 20))), 20)
DepartmentStore.DepartmentName = LSet((Trim(Mid(DepartmentDetails(DeptID), 25, 10))), 10)
DepartmentStore.DepartmentBudget = LSet(DepartmentBudget, 9)
DeptID = UBound(DepartmentDetails)
DepartmentDetails(DeptID) = ""
File.WriteAllLines("DepartmentDetails", DepartmentDetails)
sw.WriteLine(DepartmentStore.DepartmentID & DepartmentStore.DepartmentHead & DepartmentStore.DepartmentName & DepartmentStore.DepartmentBudget)
sw.Close()`
'***********************Having Problems Here***********************
DepartmentDetails = File.ReadAllLines(Dir$("DepartmentDetails.Txt"))
DepartmentDetails(DeptID) = ""
File.WriteAllLines("DepartmentDetails", DepartmentDetails)
'************************Having Problems Here**************************
YesNo = MsgBox("Department has been billed. Would you like to delete the bill?", vbYesNo)
If YesNo = vbYes Then
End If
End Sub