Toon posts:

[VB.net] Opslag van data i/h programma

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb een beetje een theoretische vraag. Op dit moment ben ik bezig met een rekenprogramma. Hiervoor bestaan allerlei knoppen waarmee je van alles kunt uitrekenen. Maar ik wil het volgende doen:

Het moet in mijn programma mogelijk zijn om nadat je het programma heb afgesloten, de data bij het openen van het programma weer te laten zien ( data = wat je hebt uitgerekend ed). Dit betekent dat je in feite alle data weer ziet zoals je het programma hebt achtergelaten/ verlaten. Moet ik hier persé een database achtig iets voor gebruiken of kan ik ook een kopie van alle data maken en die weer laten uitlezen als het programma weer wordt opgestart? Hoe zou ik dat het beste kunnen doen en welke referentie kan ik daarvoor gebruiken?

BVD!

[ Voor 9% gewijzigd door Verwijderd op 25-01-2006 10:30 ]


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Wat ik zou doen (en dat hoeft niet de beste oplossing te zijn) in verband met het overzicht:
- weinig gegevens: opslaan in een soort ini bestandje of in het register
- veel gegevens: opslaan in een database

Vlinders moet je volgen, niet vangen...


Verwijderd

Is het geen idee dit in een XML bestand op te slaan, en bij het opstarten dit XML bestand weer in te lezen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:19
Nee, je hoeft geen DB te gebruiken. Je kan alles ook in een File opslaan.
Tip: FileStream, StreamWriter, StreamReader, IsolatedStorage.

https://fgheysels.github.io/


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22:58

Janoz

Moderator Devschuur®

!litemod

Zorg trouwens wel dat je dit bestand opslaat op een plek waar de gebruiker altijd bij kan. Legio programmatjes schrijven bestandjes weg in hun eigen directory. Deze hebben vervolgens de ridicule en compleet onnodige eis dat je het als administrator moet draaien.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Ok, ik heb de literatuur een beetje doorgenomen van de Streamwriter/reader. Nu heb ik nog een vraagje. Hoe kan ik de verschillende posities in dat bestand toewijzen en uitlezen. Ik heb immers meerdere textboxen met elk hun eigen waarden. Ik heb zitten spelen met dit voorbeeld:

Ik sla hier alleende text op van textbox2 (in txt1).

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Button1_Click..
        Dim fs As New System.IO.FileStream("bestand.txt", FileMode.Create, FileAccess.Write)
        Dim w As New StreamWriter(fs)
        w.BaseStream.Seek(0, SeekOrigin.End = SeekOrigin.End)
        w.WriteLine(TextBox2.Text)
        w.Flush()
        w.Close()

        fs = New System.IO.FileStream("bestand.txt", FileMode.Open, FileAccess.Read)
        Dim r As New StreamReader(fs)
        r.BaseStream.Seek(0, SeekOrigin.Begin)
        While r.Peek() > -1
            TextBox1.Text &= r.ReadLine() & ControlChars.CrLf
        End While


Maar goed, ik heb iets van 20 textboxjes :/
Die moeten allemaal een verschillende positie in dat bestand krijgen lijkt me. (Ik wil geen 20 verschillende bestandjes aanmaken, dus hoe kan ik de posities bepalen en weergeven). Dit wordt niet echt duidelijk verteld in de literatuur.

[ Voor 9% gewijzigd door Verwijderd op 25-01-2006 12:02 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:19
Hmm, misschien dat je het dan best met een xml bestand doet, die je zo opslaat:
code:
1
2
<textboxa value="bliep" />
<textboxb value="melp" />

etc...

Je kan mbhv een XmlTextWriter / Reader xml gaan lezen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Er staan toch records in dat bestand neem ik aan. Dus zou het dan niet mogelijk zijn om een recordpositie op te slaan en later weer op te zoeken?

  • Juicy
  • Registratie: December 2000
  • Laatst online: 15-04 05:23
Alle instellingen opslaan in een class, de class kun je dan serializen / deserializen.

-


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:19
Verwijderd schreef op woensdag 25 januari 2006 @ 12:11:
Er staan toch records in dat bestand neem ik aan. Dus zou het dan niet mogelijk zijn om een recordpositie op te slaan en later weer op te zoeken?
Je geen geindexeerd bestand gemaakt, maar gewoon een sequentieel bestand, dat je dus lijn voor lijn moet uitlezen.

Wat Juicy zegt, kan natuurlijk ook; een class maken waarin je alles wat je nodig hebt instopt, en dan serialized, deserialized.

https://fgheysels.github.io/


  • DaRealRenzel
  • Registratie: November 2000
  • Laatst online: 13-04 19:01

DaRealRenzel

Overtuigd Dipsomaan

Je zou deze data natuurlijk ook in een User Registry Key op kunnen slaan. Dan heeft elke gebruiker z'n eigen waarden, hoef je geen file system calls in te schakelen e.d. maar simpelweg een reg read en een reg write.

Nothing is a problem once you've debugged the code


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:19
Mja, het register is daar niet echt voor bedoeld.
Je gebruikt hiervoor beter de IsolatedStorage.

https://fgheysels.github.io/

Pagina: 1