Beispiel #1
0
        private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            GRID.EndEdit();
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();     //Creating a file save dialog

            saveFileDialog1.RestoreDirectory = true;
            //read and filter the raw data
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                BinaryFormatter formatter = new BinaryFormatter();
                FileStream      output    = new FileStream(saveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write);
                ;
                int    n      = GRID.RowCount;
                data[] Person = new data[n - 1];     //We have as many records as many rows, rows are added automaticly so we have always one row more than we need, so n is a number of rows -1 empty row
                for (int i = 0; i < n - 1; i++)
                {
                    Person[i] = new data();
                    //GRID has two numbers in"[]" first numer is an index of column, second is a an idnex of row', indexing always starts from 0'
                    Person[i].name    = GRID[0, i].Value.ToString();
                    Person[i].surname = GRID[1, i].Value.ToString();
                    Person[i].city    = GRID[2, i].Value.ToString();
                    Person[i].number  = GRID[3, i].Value.ToString();
                }

                formatter.Serialize(output, Person);

                output.Close();
            }
        }
Beispiel #2
0
        private void zapiszToolStripMenuItem_Click(object sender, EventArgs e)
        {
            GRID.EndEdit();
            SaveFileDialog saveFileDialog1 = new SaveFileDialog(); //utworznie obiektu do zapisywania pliku

            saveFileDialog1.RestoreDirectory = true;               //Okno dialogowe spowoduje przywrócenie bieżącego katalogu do poprzednio wybranego katalogu po zmianie
            //katalogu podczas wyszukiwania plików.
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)   //jeśli okno wyświetli się poprawnie
            {
                BinaryFormatter formatter = new BinaryFormatter(); //obiekt formatowania do zapisu binarnego
                //Udostępnia strumień dla pliku, obsługuje synchroniczne i asynchroniczne operacje odczytu i zapisu.
                FileStream output = new FileStream(saveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write);
                int        n      = GRID.RowCount;   //odczytanie liczby wierszy
                data[]     Osoba  = new data[n - 1]; //utowrzenie tablicy klasy osoba

                //pętla odczytująca wartości pól w tabeli i przekazujaca je do tablicy
                for (int i = 0; i < n - 1; i++)
                {
                    Osoba[i] = new data();

                    Osoba[i].imie     = GRID[0, i].Value.ToString();
                    Osoba[i].nazwisko = GRID[1, i].Value.ToString();
                    Osoba[i].email    = GRID[2, i].Value.ToString();
                }
                formatter.Serialize(output, Osoba); //serializajca wyjścia
                output.Close();                     //zamknięcie wyścia danych
            }
        }