kostenloser Webspace werbefrei: lima-city


Aufgabe in C#

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    m*********m

    Hoffe ihr könnt mir helfen. Wir sollen in der Schule was programmieren.

    Also ein Programm in den man Autos einfügen kann, löschen kann und auch alle bestehenden Anzeigen.
    Beim Beenden sollen die Daten erst gespeichert werden und zwar in einer Text Datei.
    Und beim Starten des Programms die Daten aus der Textdatei als bestehende.

    Kennt sich einer aus wie ich die Daten von den Autos speichern könnte.

    Attribute: Marke, Farbe, Kennzeichen;

    Wie in Text Datei reinspeichern?
    Und wie wieder rausholen aus der Textdatei?

    Brauche unbedingt hilfe!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. e********l

    Ich vermute mal ihr benutzt Visual Studio C# Express, da ist eine sehr gut dokumentierte Online Hilfe bei mit der man all diese Fragen beantworten kann.

    Für das Auto erstellst du entweder eine Klasse oder ein Struct, besser aber eine Klasse, die kann man ganz leicht serialisieren. Dies speicherst du und liest die Datei mit den entsprechenden FileReadern wieder ein.

    Das steht alles in der Online Hilfe ;)
  4. Also, ich programmiere zwar nicht mit C# aber die Vorgehensweise ist zw. VB und C# warsch. recht ähnlich...

    Ich kann dir zwar nicht sagen, wie du mit C# in eine Textdatei schreibst, aber wie du die Daten speichern und einlöesen könntest:

    Du speicherst die Daten der Autos scheinbar in Arrays, oder nicht?
    in VB würde ein Beispiel so aussehen:

    Writer.WriteLine(Marke1 & \",\" & Farbe1 & \",\" Kennzeichen1)
    Writer.WriteLine(Marke2 & \",\" & Farbe2 & \",\" Kennzeichen2)
    \'...



    Du schreibst also die Daten für EIN Auto in je EINE Zeile.
    Dadurch brauchst du beim Start einfach eine Zeile auslesen und die drei Attribute mit einer Art \'Seperator-Methode\' in z.B. ein Array auslesen - und das für alle Zeilen bis zum Ende der Datei.
  5. l*****u

    falsches Form, C# ist nicht das selbe wie C oder C++.
    Gehört in \"Sonstige Programmiersprachen\".

    using System.IO;
    
    private void speichern(string marke, string farbe, string kennzeichen)
    {
    try
    {
    using (StreamWriter sw = File.CreateText(\"autos.txt\")) //Er macht eine neue Datei, die autos.txt heißt. Alte werden ggf. überschrieben.
    {
    sw.WriteLine(marke+\",\"+farbe+\",\"+kennzeichen) //Fügt die Zeile hinzu.
    }
    }
    catch(Exection e)
    {
    MessageBox.Show(\"Fehler beim Speichern:\\r\\n\"+e.ToString());
    //Sollte es eine Konsolenanwendung sein muss dieser Teil natürlich geändert werden.
    }
    }
    
    private string[] laden()
    {
    if(File.Exist(\"autos.txt\")) //überprüft ob die datei existiert
    {
    string read; //temporärer String zum Auslesen
    int counter = 0; //Erklärung unten
    using(StreamReader st = new StreamReader(\"autos.txt\")) //liest die Datei autos.txt. Sollte die Datei nicht existieren gibt es einen Fehler (darum die if Anweisung)
    {
    while((read=sr.ReadLine()) != null) //speichert die Zeile in dem string read. Sollte es null sein ist das Ende erreicht.
    {
    counter++; //Benutze ich immer zum zählen, wie viele Zeilen es gibt.
    }
    string[] returnstring = new string[counter];
    counter = 0;
    while((read=sr.ReadLine()) != null)
    {
    returnstring[counter] = read; //und diesmal mit speichern ;)
    counter++;
    }
    return returnstring;
    }
    }
    else
    {
    string[] returnstring = new string[0]; //Leeres Array wenn die Datei nicht existieren sollte.
    return returnstring;
    }
    }

    Können Fehler drin sein, weil ich es direkt hier geschrieben habe und es nicht auffällt wenn Klammern oder ähnliches fehlen. Sollte aber ohne Probleme korrigiert werden können.


    Die Funktion Speichern macht jedes mal eine neue Datei. Somit ist nur der Letzte gespeichert. Das musst du noch zum array ändern.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!