Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [C#] Creare un tasto salva in un programma Windows Form

    Buonasera a tutti, inizio con il dire che sono nuovo nel mondo della programmazione.

    Volevo chiedere a voi utenti più esperti se esiste un modo per creare un tasto Salva nel mio Form.

    Per rendervi le idee più chiare vi spiego il problema: ho creato un programma (simile ad un bloc notes) con Form e Classi rispettive, dove un utente inserisce delle stringhe più o meno lunghe. Poi visualizza (in un'altra Form) il contenuto (delle note, la lista) modificando o filtrando per categoria ciascuna appunto/nome o dato inserito precedentemente.

    La mia idea è di creare un tasto "salva", così l'utente può salvare il contenuto ed all'avvio del programma rimangono tutti i dati. Altrimenti sarebbe inutile come programma.

    Chiedo a voi un'aiutino. Grazie. Spero che la mia domanda non risulti troppo banale.

  2. #2
    La soluzione più semplice che mi viene in mente è quella di serializzare un oggetto e salvarlo all'interno di un file. La serializzazione può produrre output di vario tipo, come per esempio un formato XML (leggibile anche da un editor di testo) oppure binario (più compatto).

    Per iniziare a capire qualcosa della serializzazione puoi partire da:
    http://msdn.microsoft.com/en-us/library/ms233843.aspx
    In ogni caso se fai una ricerca trovi un sacco di materiale.
    Chi non cerca trova.

  3. #3
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Salvare dei dati è ovviamente possibile , usare un file per questo è abbastanza semplice!

    hai dei dati come una stringa messaggio una stringa nome ecc.. , li salvi in un file
    binario , e tramite un ciclo fino a fine file , leggi messaggio e nome , questo pezzetto
    di codice lo eseguiresti al load del form !


    non vedendo il sorgente e non sapendo che dati devi salvare su file , e poi leggerli
    ad apertura del programma , non è possibile postarti nessun esempio .
    Tecnologia

  4. #4
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308

    Re: [C#] Creare un tasto salva in un programma Windows Form

    Originariamente inviato da Enjoy Love
    ho creato un programma (simile ad un bloc notes) con Form e Classi rispettive, dove un utente inserisce delle stringhe più o meno lunghe. Poi visualizza (in un'altra Form) il contenuto (delle note, la lista) modificando o filtrando per categoria ciascuna appunto/nome o dato inserito precedentemente.
    uhmmmmm....sai fare queste cose e ti blocchi per un pulsante "SALVA"? Forse non ho bene afferrato io cosa ti serve... per caso non sai come salvare delle stringhe in un file di testo?
    Un aiuto te lo diamo (te lo danno) volentieri, ma dovresti postare un pò di codice per capire meglio cosa vuoi salvare.

  5. #5

    Tasto Carica

    Ci sono venuto fuori grazie a voi ed, ho creato questo codice per il mio tasto Salva contenuto inserito nel bloc notes/agenda

    private void btnSalvaLista_Click(object sender, EventArgs e)
    {
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();
    saveFileDialog1.Filter = "File di testo (*.txt)|*.txt";
    saveFileDialog1.FilterIndex = 2;
    saveFileDialog1.RestoreDirectory = true;

    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
    using (System.IO.StreamWriter
    File = new System.IO.StreamWriter(saveFileDialog1.FileName))
    {
    foreach (string elemento in GestioneLista.listaPersone)
    {
    File.WriteLine(elemento);
    }
    }
    }
    }



    Ora però vorrei inserire un tasto "Carica File.txt".

    Così da poter caricare la lista con tutti gli elementi all'interno del programma, e modificarli (già inserito il bottone "modifica" all'interno del programma)

    Ringrazio per l'aiuto!

  6. #6
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308
    Per restare in casa, se hai usato la classe StreamWriter per scrivere usa ora la classe StreamReader per leggere:

    http://msdn.microsoft.com/en-us/libr...o.streamreader

  7. #7
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Ciao , volevo dirti , che se per salvare i dati usi sempre uno stesso file , è inutile e scomodo una finestra di dialogo , potresti mettere direttamente un path es: "c:\\dati.txt" , nel costruttore delle classi

    prova a vedere se questo esempio ti può essere di aiuto


    codice:
    
       private void btnLeggi_Click(object sender, EventArgs e)
            {
                OpenFileDialog open = new OpenFileDialog();
                open.ShowDialog();
           System.IO.StreamReader leggi = new System.IO.StreamReader(open.FileName );
                while (!leggi.EndOfStream)
                {
    
                   GestioneLista .Items.Add  ( leggi.ReadLine());
                }
                leggi.Close();
    
            }
    Tecnologia

  8. #8
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308
    Se dovesse servirti qualcosa di più semplice (io sto studiando c# da poco) eccoti un codice per scrivere del testo in un file

    codice:
    string s = "Ambarabà ciccì coccò due galline sul";     
    File.WriteAllText(@"C:\scemo.txt", s);
    File.AppendAllText(@"C:\scemo.txt", " ..... comò");
    e per leggerlo

    codice:
    string x = File.ReadAllText(@"C:\scemo.txt");
    Se poi vuoi scrivere un file di testo organizzato per righe

    codice:
    //Crea un array di righe da scrivere
    string[] x = {"Questa è la prima riga.",
                      "Questa è la seconda riga.",
                      "Questa è la terza riga."
                      "Questa è la quarta riga.",
                      "Questa è la quinta riga.", ""  };
    
    x[5] = "Questa è l'ultima riga.";
    File.WriteAllLines (@"C:\scemo.txt", x);
    e per leggere ogni riga

    codice:
    string[] s = File.ReadAllLines(@"C:\scemo.txt");
    
    foreach (string x in s)
    {   
        MessageBox.Show(x):
    }
    Credo sia il modo più semplice per gestire files di testo.

  9. #9
    Ok il tasto "Carica" l'ho implementato e perfezionato grazie ai vostri consigli!

    alla prossima, si può chiudere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.