Veranderingen inlezen in Listbox VB.net

Status
Niet open voor verdere reacties.

Bernard1983

Gebruiker
Lid geworden
7 mei 2008
Berichten
17
Hallo,

Ik ben bezig met een VB.net cursus maar ik zit op het moment vast.

Ik moet een bestelprogramma maken die de bestellingen wegschrijft naar een bestand (orders.txt).
Als de bestelling gewijzigd moet worden dan wordt er een 2e programma opgestart waarin 'orders.txt' wordt geopend en aangepast kan worden.
Als dit opgeslagen wordt dan wordt het 1e programma weer actief en moeten de veranderingen die in het 2e programma zijn gemaakt hier ook meteen doorgevoerd worden (alleen de aantallen).
Dit laatste lukt mij dus niet, ik krijg het niet voor elkaar dat de veranderingen ingelezen worden in de listbox.

Code:

Bij het opstarten van het 1e programma wordt het bestand 'orders.txt' aangemaakt en worden de te bestellen orders ingelezen in een listbox:
Code:
	Dim MyFileStream As FileStream
        MyFileStream = New FileStream("C:\899J6\orders.txt", FileMode.Create, FileAccess.ReadWrite)
        MyFileStream.Close()

        lbxArticles.Items.Clear()
        FileOpen(1, "C:\899J6\woodsheets.txt", OpenMode.Input)
        Do Until EOF(1)
            lbxArticles.Items.Add(LineInput(1))
        Loop
        FileClose(1)

Woodsheets.txt ziet er als volgt uit en is opgebouwd uit: Artikelcode, Naam, Prijs, Aantal:
Code:
7226218;  Hemlock;                22.55;  0
7711175;  Pine, Radiata;          12.45;  0
2229886;  Pine, Arkansas;         15.25;  0
Enz

Door middel van een 'NummericUpDown' kan het aantal aangepast worden en als er op 'Add Order' wordt geklikt dan wordt dit aangepast en alleen de veranderde regel weggeschreven naar 'orders.txt', dit is me al gelukt maar voor de zekerheid de code:
Code:
	Dim Aantal As String
        Dim RegelSplitsen() As String

        Aantal = nudArticles.Text
        RegelSplitsen = lbxArticles.Text.Split(";")

        If lbxArticles.SelectedIndex <> -1 Then
            lbxArticles.Items.Item(lbxArticles.SelectedIndex) = lbxArticles.SelectedItem.Replace(RegelSplitsen(3), "  " & Aantal)
        End If

        ' Bestand "orders.txt, openen en de dingen die gekozen zijn, erin wegschrijven.
        FileOpen(2, "C:\899J6\orders.txt", OpenMode.Append)
        WriteLine(2, lbxArticles.SelectedItem)
        FileClose(2)

Als er op de knop 'Edit' geklikt wordt dan wordt het 2e programma geopend. Hierin kunnen de aantallen aangepast worden en als deze weer afgesloten wordt dan wordt het eerste programma weer actief.
Code:
Imports System.IO
Public Class Form1

'Inladen van Ordertxt
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim StreamToDisplay As StreamReader
        StreamToDisplay = New StreamReader("C:\899J6\orders.txt")
        txtOrdersAanpassen.Text = StreamToDisplay.ReadToEnd
        StreamToDisplay.Close()
    End Sub
'Programma 2 wordt afgesloten zonder op te slaan
    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        Me.Close()
    End Sub
'De wijzigingen worden opgeslagen naar 'orders.txt'
    Private Sub btnAccept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAccept.Click
        FileOpen(1, "C:\899J6\orders.txt", OpenMode.Output)
        PrintLine(1, txtOrdersAanpassen.Text)
        FileClose(1)
        Me.Close()
    End Sub
End Class

Hierna wordt programma 1 dus weer actief, deze wordt in een soort pauzestand gezet als programma 2 actief is.

De veranderingen die in de aantallen in programma 2 zijn aangebracht moeten ook ingeladen worden in programma 1 in de listbox. Er moet dus gekeken worden of er een verandering heeft plaats gevonden, zoja dan moeten de aantallen aangepast worden.

Maar ik krijg dit niet voor elkaar...iemand die mij kan helpen?
En ook als de gegevens naar 'orders.txt' worden geschreven worden het aanhalingstekens (") voor en na een zin geplaats, weet iemand hoe ik dit kan wegkrijgen?

Mocht je nog meer informatie nodig hebben, dan hoor ik dit graag.

Groet,
Bernard
 
Heb het al opgelost.

Zat er al een poosje mee...vraag ik het op een forum en komt ik er even later zelf achter :confused:
 
Uitlijnen

Bernard,

Lastige opdracht, ben er zelf ook net mee bezig.
Wat ik zie bij jou is dat de artikelen niet mooi onder elkaar staan, makkelijk op te lossen door lettertype Courier New te gebruiken.
Graag zie ik hoe het jou vergaat met deze opdracht.

Dolf
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan