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:
Woodsheets.txt ziet er als volgt uit en is opgebouwd uit: Artikelcode, Naam, Prijs, Aantal:
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:
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.
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
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