Gå till innehåll
Just nu i M3-nätverket

Filhantering C#


aerox

Rekommendera Poster

Hej!

 

Jag har ett litet dilemma, jag har ett formulär som en användare kan fylla i sina personuppgifter på och när han är färdig så sparas dem i en .bin fil. Sedan syns hans förnamn och efternamn i en Listbox.

 

Jag vill kunna ändra hans gatuadress exempelvis, så då klickar jag på hans namn i Listboxen och alla hans uppgifter dyker upp i det ursprungliga formulär där han fyllde i allt igen. Men hur skriver jag koden för att skriva om han uppgifter så att dem sparas om i .bin filen igen? Just nu så blir det en dubblett när jag ändrat namnet exempelvis, men de är ju för att jag har Filhantering.sparapåfil(_kunder); har provat mig fram lite men inte gett något resultat..

 

Här är filhanterings klassen:

    class Filhantering
    {
        const string filnamn = "kunderna.bin";
    

       public static void sparapåfil(List<Kund> _kunder)
            {
            FileStream fs = new FileStream(filnamn, FileMode.OpenOrCreate, FileAccess.Write);
            BinaryFormatter bf = new BinaryFormatter();
            bf.Serialize(fs, _kunder);
            fs.Close();    
            }

        public static List<Kund> hämtaKunder()
        {
            FileStream fs = new FileStream(filnamn, FileMode.OpenOrCreate, FileAccess.Read);
            BinaryFormatter bf = new BinaryFormatter();
            List<Kund> resultat = (List<Kund>)bf.Deserialize(fs);
            fs.Close();
            return resultat;
        }
     }
}

Här är själva Användar klassen:

        private void buttonÄndraKund_Click(object sender, EventArgs e)
        {
            textBoxNamn.Text = _aktuellaCustomer.förnamn;
            textBoxEfternamn.Text = _aktuellaCustomer.efternamn;
            textBoxPersnummer.Text = _aktuellaCustomer.personnummer;
            textBoxAdress.Text = _aktuellaCustomer.gatuadress;
            textBoxPostnr.Text = _aktuellaCustomer.postadress;
            textBoxOrt.Text = _aktuellaCustomer.hemtelefon;
            textBoxTelenr.Text = _aktuellaCustomer.hemtelefon;
            
            _kunder.Add(_aktuellaCustomer);
            Filhantering.sparapåfil(_kunder);

        }
Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...