Пример #1
0
        //Methode zum Laden einer 'Fahrzeug'-Datei (vgl. auch SpeichernUndLaden.Form1.LadeText())
        private void LadeFZ()
        {
            StreamReader reader = null;

            try
            {
                reader = new StreamReader("fahrzeuge.txt");

                //Mittels der TypeNameHandling-Property des JsonSerializerSettings-Objekts kann dem Serialisierer aufgegeben werden, dass er den expliziten Objekt-Type der
                //zu ladenden/speichernden Objekte mit abspeichert
                JsonSerializerSettings settings = new JsonSerializerSettings();
                settings.TypeNameHandling = TypeNameHandling.Objects;

                while (!reader.EndOfStream)
                {
                    //Lesen einer Textzeile aus der Datei
                    string fzString = reader.ReadLine();
                    //Umwandlung der Textzeile in ein Fahrzeug (Beachte die Übergabe des Settings-Objekts)
                    Fahrzeug fz = JsonConvert.DeserializeObject <Fahrzeug>(fzString, settings);

                    //Hinzufügen des Fahrzeugs zur Liste
                    FzListe.Add(fz);
                }

                MessageBox.Show("Laden erfolgreich");
            }
            catch (Exception)
            {
                MessageBox.Show("Laden fehlgeschlagen");
            }
            finally
            {
                reader?.Close();
            }
        }
Пример #2
0
 //Methode zum Löschen von Fahrzeugen
 private void LöscheFz()
 {
     for (int i = LbxFahrzeuge.Items.Count - 1; i >= 0; i--)
     {
         if (LbxFahrzeuge.GetSelected(i))
         {
             FzListe.RemoveAt(i);
         }
     }
 }
Пример #3
0
 //Methode zum Löschen von Fahrzeugen
 private void LöscheFZ()
 {
     for (int i = lbxFahrzeuge.Items.Count - 1; i >= 0; i--)
     {
         if (lbxFahrzeuge.GetSelected(i))
         {
             FzListe.Remove(FzListe[i]);
         }
     }
 }
Пример #4
0
        //Methode zur zufälligen Erstellung von Fahrzeugen
        private void ErstelleNeuesFZ()
        {
            switch (Generator.Next(1, 4))
            {
            case 1:
                FzListe.Add(new Flugzeug($"Boing", 800, 3600000, 9999));
                break;

            case 2:
                FzListe.Add(new Schiff($"Titanic", 40, 3500000, Schiff.Schiffstreibstoff.Dampf));
                break;

            case 3:
                FzListe.Add(PKW.ErzeugeZufälligenPKW());
                break;
            }
        }
Пример #5
0
        //Methode zum Laden einer 'Fahrzeug'-Datei (vgl. auch SpeichernUndLaden.StringLaden() bzw Fahrzeugpark.Fahrzeug.LadeFz())
        private void LadeFz()
        {
            //Instanzierung eines Open-Dialogfensters
            OpenFileDialog openDialog = new OpenFileDialog();

            //Einstellung diverser Parameter des Dialogfensters
            ///Standart-Dateiname
            openDialog.FileName = "textdatei.txt";
            ///Standart-Ordner (kann z.B. ein Pfad als String sein oder (wie hier) ein Windows-'SpecialFolder')
            openDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            ///Übergabe des Windows-Arbeitsplatzes als GUID
            openDialog.InitialDirectory = "::{20d04fe0-3aea-1069-a2d8-08002b30309d}";
            ///Mögliche Dateiformate
            openDialog.Filter = "Textdatei|*.txt|Stringdatei|*.string|Alle Dateien|*.*";

            //Öffnen des Dialogfensters und Überprüfung der Benutzerwahl
            if (openDialog.ShowDialog() == DialogResult.OK)
            {
                //Öffen der LadeFz()-Methode mit Übergabe des gewählten Pfades
                List <Fahrzeug> tempFzList = Fahrzeug.LadeFz(openDialog.FileName);
                //Zusammenlegen zweier Listen
                FzListe.AddRange(tempFzList);
            }
        }