Salvataggio dati

di Anonimizzato26591 il
16 risposte
Ciao ragazzi buona sera ,sono nuovo del forum .
da poco ho iniziato a programmare con vb , ho conoscenze relative alle basi della programmazione.
sto facendo un programma di prenotazione numero, in pratica l'utente dopo aver inserito i suoi dati preme un bottone e prenota un numero .
i dati di ogni textbox(relativi a nome,cognome,codice di sconto) li visualizzo in output con debug.WriteLine.
la cosa che non riesco ,e' salvare i dati , ovvero ,quando il programma termina vorrei salvare i dati in modo da trovarli di nuovo ad apertura del programma. ho provato a leggere dalla documentazione, da altri forum ma nn ci ho capito veramente nulla , vi illustro il codice:
____________________________________
Module commerciale

Class magazzino
Public Function prenota_numero()
Dim pn(10) As String
Dim persona As String
Dim cognome As String
Dim codsconto As String





persona = Form1.TextBox1.Text
cognome = Form1.TextBox2.Text
codsconto = Form1.TextBox3.Text



''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Form1.mem = Form1.mem + 1 ''incremento il vettore dopo l'exit for
For i As Integer = 0 To pn.Length - 2
pn(Form1.mem) = Form1.mem
Debug.WriteLine(pn(Form1.mem))
Exit For
Next
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
pn(1) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()

pn(2) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()

pn(3) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()

pn(4) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()

pn(5) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()

pn(6) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()

pn(7) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()

pn(8) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()

pn(9) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()

pn(10) = persona & cognome & codsconto
Form1.TextBox1.ResetText()
Form1.TextBox2.ResetText()
Form1.TextBox3.ResetText()



Debug.WriteLine(persona)
Debug.WriteLine(cognome)
Debug.WriteLine(codsconto)


End Function

Public Function verifica_paga1()
MsgBox("Grazie e arrivederci")
End Function

Public Function verifica_paga2()

MsgBox("attenda ancora un po")
End Function
_______________________________________________
ora vorrei fare una funzione salva dati ma nn so come proseguire, potete dirmi come potrei fare??

16 Risposte

  • Il .NET Framework fornisce diverse modalità per caricare e salvare dati: è possibile scrivere dati binari su file, oppure scrivere caricare righe di testo, oppure ancora serializzare/deserializzare oggetti complessi, ma per la tua esigenza suppongo che lo step successivo dopo aver salvato e ricaricato i dati sia necessario poterli eliminare o aggiornare: per queste necessità, è più conveniente fare uso dei database.

    Tuttavia, la problematica è troppo estesa per poterla discutere in questa sede; inoltre, sono infinite le risorse consultabili per imparare a utilizzare i database e accedere agli stessi tramite le classi di ADO.NET, oppure ancora con Entity Framework e/o altri strumenti più evoluti e avanzati.

    In breve, fai una ricerca su Google e acquisisci documentazione (es. un libro o un tutorial) sui database e sull'accesso ai dati con il .NET Framework, cercando di muovere autonomamente i primi passi, a meno che il tuo programma non sia solo un esercizio di stile e le funzionalità che hai descritto non siano realmente le uniche che ti interessano.

    Ciao!
  • Ok,ho capito cosa dici, ma dato che su internet non si trova nulla e la documentazione e' un po difficile da leggere (almeno per me che sono alle prime armi)volevo sapere qualche metodo alternativo a quello che mi hai elencato tu , io i dati non voglio andarli a salvare in un database, a me basta che a chiusura del programma si salvano, e a riapertura del programma me li faccia visualizzare in output.
    ho visto un modo per farlo ma cmq non riesco a salvarli , mi dicevano che potevo farlo tramite il settaggio delle impostazioni , il codice che ho visto era questo:

    My.Settings.(variabile delle impostazioni) = Me.TextBox1.Text
    My.Settings.Save()

    e a riapertura dell'applicazione

    Me.TextBox1.(variabile delle impostazioni)= My.Settings.Testo

    nonostante cio non riesco a salvarli , qualcuno puo illustrarmi come potrei fare??
  • Non puoi usare i settings non sono adatti allo scopo.

    Devi usare un DB ma come ti è stato detto la questione è ampia. Non basta una risposta è un argomento vasto che va studiato. Ci vuole un po' di tempo e delle basi teoriche. C'è molto su internet ma bisogna sapere cosa cercare e avere le basi per capire i suggerimenti.

    Cosa usi come DB ad esempio? Parti da questo, decidi e poi studia quello che serve per iniziare a trattare i dati. Non esistono scorciatoie che ti fanno fare in una giornata quello che altri studiano in mesi e anni.
  • Emanuele ha scritto:


    nonostante cio non riesco a salvarli , qualcuno puo illustrarmi come potrei fare??
    Cosa significa non riesco a salvarli?

    Hai un errore di compilazione?
    Ti da un errore quando esegui il programma?
    Oppure l'operazione va a buon fine, ma poi trovi valori diversi?

    Dovresti fornire qualche indicazione in più per consentire agli altri di darti una mano, altrimenti non è possibile capire dove stia il tuo problema.
  • Non mi da nessun errore ,io digito i valori premo il testo e li visualizzo in output, quando stoppo il programma e poi lo riavvio non ho piu i valori nell'output
  • Premo il testo*
  • Tasto* hahah scusami
  • Ti ripeto che non è questa la strada che devi seguire. Un DB è un'altra cosa. Io non posso dirti altro per convincerti... sembra che tu non abbia neanche letto quello che ti ho scritto... quindi auguri
  • Io non voglio creare un db
  • Devi usare un db se vuoi memorizzare dei dati.

    Da quanto studi il vb o la programmazione? Quanti anni hai?
  • Da molto poco, pero sai, su internet non c''e molto
  • Su internet c'è molto per chi sa cosa cercare. Ma da quello che hai scritto tu sei veramente all'inizio, ti mancano le basi. Ti consiglierei di studiare con dei libri o un corso.
  • Emanuele ha scritto:


    Non mi da nessun errore ,io digito i valori premo il testo e li visualizzo in output, quando stoppo il programma e poi lo riavvio non ho piu i valori nell'output
    Riporta il codice (reale) che hai scritto per salvare e poi caricare i valori, così possiamo analizzarlo.
  • Module commerciale


    Class magazzino
    Public Function prenota_numero()
    Dim pn(10) As String ''dichiaro il vettore contenente le componenti.
    Dim persona As String
    Dim cognome As String
    Dim codsconto As String

    persona = Form1.TextBox1.Text
    cognome = Form1.TextBox2.Text
    codsconto = Form1.TextBox3.Text





    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Form1.mem = Form1.mem + 1 ''incremento il vettore dopo l'exit for
    For i As Integer = 0 To pn.Length - 2
    pn(Form1.mem) = Form1.mem
    Debug.WriteLine(pn(Form1.mem))
    Exit For ''istruzione per interrompere il ciclo ad ogni iterazione.
    Next
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    pn(1) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    pn(2) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    pn(3) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    pn(4) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    pn(5) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    pn(6) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    pn(7) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    pn(8) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    pn(9) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    pn(10) = persona & cognome & codsconto
    Form1.TextBox1.ResetText()
    Form1.TextBox2.ResetText()
    Form1.TextBox3.ResetText()

    Debug.WriteLine(persona)
    Debug.WriteLine(cognome)
    Debug.WriteLine(codsconto)


    End Function

    Public Function verifica_paga1()
    MsgBox("Grazie e arrivederci")
    End Function

    Public Function verifica_paga2()

    MsgBox("attenda ancora un po")
    End Function




    Public Function salvadati()
    End Function
    End Class


    End Module


    ''questo invece e il form:



    Public Class Form1


    Public mem As Integer = 0


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim prenotanumero As magazzino = New magazzino() ''chiamata di una funzione dal modulo.
    prenotanumero.prenota_numero() ''chiamata di una funzone dal modulo.
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load


    End Sub
Devi accedere o registrarti per scrivere nel forum
16 risposte