コード例 #1
0
ファイル: frmHaupt.cs プロジェクト: DeNic0la/PersonenAppV2
        private void Einlesen()
        {
            if (DialogResult.No == MessageBox.Show("Möchten Sie die Daten aus einer Datei laden?", "Laden", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                //Objekte nicht aus einer Datei laden sondern einfach drei Standardobjekte erstellen
                for (int i = 1; i <= 3; i++)
                {
                    Person p = new Person();
                    p.mName = ("Neue Person (" + Convert.ToString(i) + ")");
                    mPersonen.Add(p);
                }
            }
            else
            {
                //Objekte aus einer Datei laden
                string sPfad = Application.StartupPath + "\\MyObject.pd7";
                if (DialogResult.No == MessageBox.Show("Möchten Sie die Datei im Applikationsverzeichnis lesen?", "Informationen einlesen",
                                                       MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                {
                    OpenFileDialog ofd = new OpenFileDialog();
                    ofd.Filter = "pd7 files (*.json)|*.pd7|All files (*.*)|*";
                    if (DialogResult.OK == ofd.ShowDialog())
                    {
                        sPfad = ofd.FileName;
                    }
                    else
                    {
                        return;
                    }
                }
                try {
                    JsonSerializerNicola jsn = new JsonSerializerNicola();
                    MessageBox.Show(sPfad);
                    Object obj = jsn.JsonDesirialize(typeof(List <Person>), sPfad);

                    mPersonen = (List <Person>)obj;

                    /*
                     * FileStream myStream = new FileStream(sPfad, FileMode.Open);
                     * BinaryFormatter binFormatter = new BinaryFormatter();
                     * mPersonen = (List<Person>)binFormatter.Deserialize(myStream);
                     * myStream.Close();*/
                }
                catch (Exception ex) {
                    //Falls ein Fehler passiert, Fehlermeldung ausgeben
                    MessageBox.Show(ex.Message);
                }
            }
        }
コード例 #2
0
ファイル: frmHaupt.cs プロジェクト: DeNic0la/PersonenAppV2
        private void OnFormClosed(object sender, FormClosedEventArgs e)
        {
            string sPfad = Application.StartupPath + "\\MyObject.pd7";

            if (DialogResult.No == MessageBox.Show("Möchten Sie die Daten im Applikationsverzeichnis speichern?", "Speichern", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question))
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter     = "pd7 files (*.json)|*.json|All files (*.*)|*";
                sfd.DefaultExt = "pd7";
                if (DialogResult.OK == sfd.ShowDialog())
                {
                    sPfad = sfd.FileName;
                }
                else
                {
                    return;
                }
            }

            JsonSerializerNicola js = new JsonSerializerNicola();

            js.JsonSerialize(mPersonen, sPfad);

            /* string jsonString;
             * Person test = new Person();
             * FileStream myStream = new FileStream(sPfad, FileMode.Create);
             * jsonString = JsonConvert.SerializeObject(test);
             * JsonSerializer ser = new Newtonsoft.Json.JsonSerializer();//https://www.youtube.com/watch?v=Ib3jnD158NI
             *
             *
             *
             *
             *
             *
             * BinaryFormatter binFormatter = new BinaryFormatter();
             * binFormatter.Serialize(myStream, mPersonen);
             * myStream.Close();
             */
        }