HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Bináris adatállomány kezelése


Példaprogram letöltése

7911 bájt

Állományok kezelésénél lehetőségünk van arra is, hogy ne csak szövegesen kezeljük azokat, hanem közvetlenül az adott változó típusán helyezzünk el binárisan adatokat. Így például egy int32, vagy egy logikai típus épp úgy írható egy állományba és természetesen vissza is olvasható onnan.

Mellékelt példában három kontrol aktuális értékét írjuk bináris formában egy állományba, majd olvassuk onnan vissza. Így például helyet kap egy CheckBox logikai típusú Checked property-je, egy TrackBar kontrol Int32 típusú Value property-je és egy TextBox sztring típusú Text property-je.
Az állomány kezeléshez szükségünk lesz egy FileStream osztályra, mellyel létrehozhatjuk azt.
    private void button1_Click(object sender, System.EventArgs e)
    {
      FileStream fs = new FileStream("status.dat", FileMode.Create);
A bináris adatok írásához egy BinaryWriter osztály fog segíteni bennünket.
      BinaryWriter bw = new BinaryWriter(fs);
Ennek Write függvénye szinte az összes adattípus írására képes, így nincs más teendőnk, mint a kiírandó adatot átadni paraméterként.
      bw.Write(checkBox1.Checked);
      bw.Write(trackBar1.Value);
      bw.Write(textBox1.Text);
Végül zárjuk az állományt.
      fs.Close();
    }
Az így eltárolt három property értékét vissza is olvashatjuk és ezzel visszaállíthatjuk a mentéskor lévő állapotot.
A megvalósításhoz szintén egy FileStream osztályt használunk, melyen keresztül az állományt kezelhetjük.
    private void button3_Click(object sender, System.EventArgs e)
    {
      FileStream fs = new FileStream("status.dat", FileMode.Open);
Bináris adatok olvasásához a BinaryReader osztályt kell használnunk.
      BinaryReader br = new BinaryReader(fs);
Ennek van számos Read szöveggel kezdődő függvénye. Ezek mindegyike annak a típusnak nevével végződik, mely adattípust olvasni tudja. Így logikai érték olvasásához a ReadBoolean függvény használata szükséges. Minden ReadXXX függvény paraméter nélküli és visszatérési értéke egyezik az olvasott adat típusával.
      checkBox1.Checked = br.ReadBoolean();
      trackBar1.Value = br.ReadInt32();
      textBox1.Text = br.ReadString();
Az olvasás után nincs más teendőnk, mint ismét csak zárni az állományt.
      fs.Close();
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 522. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |