Ich versuche ein System für Buchungen und Zahlungen zu erstellen, ich habe derzeit mehrere Variablen in einer Datei Geldbuße speichern. Was ich tun muss, ist, eine Zahlung zu der eingestellten bookingID hinzuzufügen, jetzt habe ich es so sortiert, dass es die geänderten Zahlungssummen zu der Datei hinzufügt, aber ich kann es nicht bekommen, um die alten zu löschen. Wenn es also die Datei durchsucht, findet es zuerst die alte, wo der Kunde nur £ 50 bezahlt hat und nicht die letzte, wo er £ 100 bezahlt hat. Also, wie lese ich aus der Datei und mache alles, was ich mit den Daten daraus tun muss, lösche dann diese einzelne Zeile von Daten und dann weiß ich, wie man die neuen Daten einfügt. Ein Freund erwähnte ein Array, aber ich habe es versucht Das hier durchzuschauen und es hat mich massiv verwirrt.Eine Zeile aus einer Textdatei in vb.net löschen
Vielen Dank im Voraus
mehr Code Es oben ist, wo er die Daten findet und zeigt sie dann dies, sobald sie den Betrag, den sie
Dim bookings As String
bookings = "E:\Grouse Lodge Bookings\Bookings.txt"
bookingidtemp = txtbookingid.Text
FileOpen(1, bookings, OpenMode.Input)
found = False
If temp = True Then
If found = False Then
Do Until found = True
Input(1, custname)
Input(1, address1)
Input(1, address2)
Input(1, cost)
Input(1, amount)
Input(1, startdate)
Input(1, enddate)
Input(1, postcode)
Input(1, bookingid)
Input(1, remaining)
If bookingidtemp = bookingid Then
txtname.Text = custname
txtaddress1.Text = address1
txtaddress2.Text = address2
txtcost.Text = cost
txtstartdate.Text = startdate
txtenddate.Text = enddate
txtpostcode.Text = postcode
txttopay.Text = remaining
found = True
FileClose(1)
Else
End If
Loop
End If
If found = False Then
MsgBox("Booking not found, please try again")
FileClose(1)
Else
If found = True Then
FileOpen(1, bookings, OpenMode.append)
custname = txtname.Text
address1 = txtaddress1.Text
address2 = txtaddress2.Text
cost = txtcost.Text
amount = txtpaid.Text
startdate = txtstartdate.Text
enddate = txtenddate.Text
postcode = txtpostcode.Text
bookingid = txtbookingid.Text
cost = txtcost.Text
amount = txtpaid.Text
paying = remaining - amount
remaining = paying
amount = cost - remaining
WriteLine(1, custname, address1, address2, cost, amount, startdate, enddate, postcode, bookingid, remaining)
FileClose(1)
MsgBox("Payment added")
Textdateien sind kein wahlfreier Zugriff. Die einzige Möglichkeit, eine Zeile zu ändern, besteht darin, die gesamte Datei erneut zu schreiben. Betrachten Sie eine Datenbank. Lies auch [Ask] und nimm die [Tour] – Plutonix
Was hast du probiert? Keiner von uns kann Ihnen helfen, es sei denn, ich habe etwas, mit dem ich arbeiten kann, insbesondere ein [minimales, vollständiges und verifizierbares Beispiel (MCVE)] (https://stackoverflow.com/help/mcve). Eine gute Möglichkeit, dies zu erklären, ist es, den Code, den Sie bisher geschrieben haben, die Beispieleingabe (falls vorhanden), die erwartete Ausgabe und die Ausgabe, die Sie tatsächlich erhalten (Konsolenausgabe, Trace-Backs usw.), einzubeziehen. Je mehr Details Sie angeben, desto mehr Antworten erhalten Sie wahrscheinlich. Schauen Sie sich auch die [FAQ] (http://meta.stackexchange.com/q/7931) und [ask] (https://stackoverflow.com/help/asking) an. –
Hinzugefügt es auf die Frage.Sorry für die Unerfahrenheit! –