Brauche bitte dringend Hilfe!!



  • Hey Leute!

    In der Schule habe ich den Auftrag bekommen einen Highscore für mein Spiel zu schreiben.
    Nun habe ich folgende Fehlermeldung bekommen:

    Eine nicht behandelte Ausnahme des Typs "System.IndexOutOfRangeException" ist in Moorhuhn.exe aufgetreten.
    Zusätzliche Informationen: Der Index war außerhalb des Arraybereichs.<

    Hier noch das "Geschriebene" von meinem Highscore- Programm:

    if(String::IsNullOrEmpty(this->textBox1->Text))
    {
    MessageBox::Show ("Bitte schreiben sie ihren Namen in das Textfeld");
    }

    else
    {
    array<String> Zeile = gcnew array<String^> (12);

    String^ Dateiname = "C:\\Dokumente und Einstellungen\\bbischoff\\Eigene Dateien\\Visual Studio 2005\\Projects\\Moorhuhn\\highscore.txt";

    StreamReader^ din = gcnew StreamReader(Dateiname);

    h = 0;

    while ((Zeile[h] = din->ReadLine()) != nullptr)
    {
    h++;
    }

    din->Close();

    v = h;

    StreamWriter^ dim = gcnew StreamWriter(Dateiname);

    int count = 0;

    for (h=0 ; h <= v ; h++)
    {
    dim->WriteLine(Zeile[h]);
    }
    dim->Close();
    }

    Danke gleich im Vorraus
    LG



  • Sry hab ins falsche Formum geschrieben!!!
    gehört ins Visual C++
    thx
    LG



  • Mach das einlesen so:

    System::Collections::Generic::List<String^> zeilen;
    
    String ^s;
    while(while (s = din->ReadLine()) != nullptr) 
    { 
      zeilen.Add(s);
    }
    

    Sonst legst Du Dich ja auf max. 12 Einträge fest...

    Und das rausschreiben so:

    for each(String ^s in zeilen) 
    { 
     dim->WriteLine(s); 
    }
    


  • Hab das Programm umgeschrieben und es funktioniert!
    Wollte mich nur noch mal bedanken und hoffe, dass ich mich wieder melden darf, wenn ich Fragen oder Probleme mit Visual C++ haben sollte!?!?!

    Danke

    LG


Anmelden zum Antworten