Springen naar inhoud


- - - - -
VS 2015

Opslaan En Terugplaatsen Van Tekst

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 7 reacties in dit onderwerp

#1 jetu

jetu

    Starting Developer

  • Leden
  • 11 berichten
    Laatst bezocht 27 mei 2020 11:04
  • LocatieBelgië

Geplaatst op 16 mei 2020 - 18:37

Ik maak een kassa en heb voorlopig 28 artikelen in aanbieding.
Nu probeer ik in een 2de form de namen en prijzen te bewaren en terug te lezen bij opstarten van het programma.
De namen maar vooral de prijzen kunnen met de tijd wisselen, daarom het bewaren.
De namen of prijzen moeten overschreven worden bij wijziging. Prijzen mogen als tekst bewaard worden.
Ik heb geen ervaring met opslaan en lezen in visual basic.
Kan iemand mij op weg zetten om die 28 tekstvakken met namen en de 28 bijhorende tekstvakken met prijzen op te slaan en terug in te lezen bij het opstarten van het programma.
Voor het opslaan gebruik ik de onderstaande code voor 5 artikelen van de 28.

Private Sub btnOpslaan_Click(sender As Object, e As EventArgs) Handles btnOpslaan.Click
        Dim filepath As String = IO.Path.Combine("D:\", "prijzen.text")
        Using sw As New StreamWriter(filepath)
            sw.Write(scola.Text & " ")
            sw.Write(cola.Text & vbCrLf)
            sw.Write(scolazero.Text & " ")
            sw.Write(txtcolazero.Text & vbCrLf)
            sw.Write(slim.Text & " ")
            sw.Write(txtlimonade.Text & vbCrLf)
            sw.Write(swater.Text & " ")
            sw.Write(txtwater.Text & vbCrLf)
            sw.Write(swaterbruis.Text & " ")
            sw.Write(txtwaterbruis)
        End Using
    End Sub

Hoe kan ik de opgeslagen gegevens terug halen?
Is de code voor opslaan goed of is er een andere betere manier?

#2 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 774 berichten
    Laatst bezocht vandaag, 14:18
  • LocatieMechelen (BE)

Geplaatst op 17 mei 2020 - 18:30

Streamreader ;)

Trouwens je filepath kun je declareren buiten je subs/functies en opgepast met een schijf letter mee te geven, gemakkelijker zet je dat in de map waar je programma staat (opgepast met schrijf rechten) met bvb application.startuppath.
Ook zou ik gaan voor de CSV methode (Comma Seperated Value) als voorbeeld zou het er dan zo uitzien:
[omschrijving_artikel],[EAN],[btw],[prijs_inkoop],[winst]

Artikel voorbeeld:
Freeway Cola 33cl,123456789,21,0.5,50
Freeway Fanta 33cl,134567890,21,0.5,50
Kaas sneetjes 500gr,12345,6,1,30
Kaas blokjes 150gr,12345689,6,2,50

Dan lees je dit lijn per lijn in, doe je een split() en heb je ineens elke keer alle data dat bij elkaar hoort ;)

Deze structuur kun je dan later gemakkelijker overnemen als je naar een database zou gaan.

#3 jetu

jetu

    Starting Developer

  • Leden
  • 11 berichten
    Laatst bezocht 27 mei 2020 11:04
  • LocatieBelgië

Geplaatst op 18 mei 2020 - 18:20

Ik ken van visual basic juist maar de basis. U voorbeeld begrijp ik niet goed.
Mijn bedoeling is om de som van alle artikelen die besteld zijn te berekenen en mijn prijzen te kunnen aanpassen.
Het is om bij een eetfestijn bij okra de berekeningen te maken op pc ipv manueel alles  uit te rekenen.

#4 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1202 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 18 mei 2020 - 18:23

View Postjetu, on 18 mei 2020 - 18:20, said:

Ik ken van visual basic juist maar de basis. U voorbeeld begrijp ik niet goed.
Mijn bedoeling is om de som van alle artikelen die besteld zijn te berekenen en mijn prijzen te kunnen aanpassen.
Het is om bij een eetfestijn bij okra de berekeningen te maken op pc ipv manueel alles  uit te rekenen.

Wat is er mis met een spreadsheet hiervoor?

#5 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 774 berichten
    Laatst bezocht vandaag, 14:18
  • LocatieMechelen (BE)

Geplaatst op 18 mei 2020 - 18:40

Daar gaan ik met Dirk in mee, doe dat in Excell :D

#6 jetu

jetu

    Starting Developer

  • Leden
  • 11 berichten
    Laatst bezocht 27 mei 2020 11:04
  • LocatieBelgië

Geplaatst op 21 mei 2020 - 17:15

In excel heb ik het al gemaakt en het werkt perfect.
Maar ik wil het nu proberen maken in VB.
Ondertussen heb ik ook de code voor opslaan en openen gevonden nl.

Private Sub btnOpslaan_Click(sender As Object, e As EventArgs) Handles btnOpslaan.Click

        Dim strbestand As String
        Dim intfilenummer As Integer
        intfilenummer = FreeFile()
        strbestand = "D:\prijzen.text"
        FileOpen(intfilenummer, strbestand, OpenMode.Output)

        PrintLine(intfilenummer, scola.Text)            'Cola
        PrintLine(intfilenummer, cola.Text)
        PrintLine(intfilenummer, scolazero.Text)        'ColaZero
        PrintLine(intfilenummer, txtcolazero.Text)
        PrintLine(intfilenummer, slim.Text)             'Limonade
        PrintLine(intfilenummer, txtlimonade.Text)
        PrintLine(intfilenummer, swater.Text)           'Water
        PrintLine(intfilenummer, txtwater.Text)
        PrintLine(intfilenummer, swaterbruis.Text)      'WaterBruis
        PrintLine(intfilenummer, txtwaterbruis.Text)

FileClose(intfilenummer)
    End Sub


Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim strbestand As String
        Dim intfilenummer As Integer
        intfilenummer = FreeFile()
        strbestand = "D:\prijzen.text"
        FileOpen(intfilenummer, strbestand, OpenMode.Input)

        scola.Text = LineInput(intfilenummer)           'Cola
        cola.Text = LineInput(intfilenummer)
        scolazero.Text = LineInput(intfilenummer)       'ColaZero
        txtcolazero.Text = LineInput(intfilenummer)
        slim.Text = LineInput(intfilenummer)            'Limonade
        txtlimonade.Text = LineInput(intfilenummer)
        swater.Text = LineInput(intfilenummer)          'Water
        txtwater.Text = LineInput(intfilenummer)
        swaterbruis.Text = LineInput(intfilenummer)     'Waterbruis
        txtwaterbruis.Text = LineInput(intfilenummer)

FileClose(intfilenummer)
    End Sub
Deze formule heb ik reeds gedeeltelijk gebruikt en ik bekom wat ik wil.
Misschien bestaat er een eenvoudigere formule?

#7 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1202 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 21 mei 2020 - 21:29

Je kan ook binair serializeren.
Zie bijgevoegd voorbeeld.

Het hoofdscherm is een editor: daar kan je de artikelen en de prijs ingeven.
Als je dat afsluit krijg je een form waar je de aantallen kan aanpassen en die het totaal uitrekent per artikel en voor alle artikelen samen.

Het is niet bedoeld als compleet programma, gewoon als leverancier van enkele ideeën.

Bijlage  PrijsLezerSchrijver.zip   24,98K   4 downloads

#8 jetu

jetu

    Starting Developer

  • Leden
  • 11 berichten
    Laatst bezocht 27 mei 2020 11:04
  • LocatieBelgië

Geplaatst op 27 mei 2020 - 10:49

Het is interessant. Ik ga het proberen toe te passen in mijn project.
Hopelijk lukt het.





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)