tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
356
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    zecken81 zecken81 ist offline Mitglied
    Registriert seit
    May 2008
    Beiträge
    24
    Hallo Leute,

    Ich versuche schon seit Tagen vergeblich eine ganze Zeile aus einer existierenden Datei zu löschen, wenn eine bestimmte Bedingung auftritt.

    Hab hier in der Forumsuche auch einiges gefunden aber der Fehler ist immer noch da

    Mein Programmcode sieht wie folgt aus:
    if (cnt == 0) {
    string[] zeile = File.ReadAllLines(INIDatei);
    int zeile1 = zeile.Length;
    string löschen = zeile[zeile1-1];
    löschen.Remove(?)
    }
    In der INI Datei stehen in jeder Zeile 12 Zeichen die sich am Ende nur durch eine laufende Nr. unterscheiden. Wenn jetzt cnt== 0 ist wird wieder ein Eintrag gemacht und die laufende Nr. erhöht aber ich will das anschließend diese letzte Zeile wieder gelöscht wird.
    Der String löschen enthät genau die Zeichenfolge welche gelöscht werden soll.
    Die Zeile kann mal die 100. sein mal aber auch gleich die 1.
    Hab auch schon bei Remove(...) was eingegeben aber der macht nichts der löscht nie was.

    Hoffe mir kann jemand helfen.

    Viel Spaß heute beim fusi gucken
     

  2. #2
    Sparks Sparks ist offline Mitglied Silber
    Registriert seit
    May 2004
    Beiträge
    79
    Hallo Zecken81,

    es gibt natürlich viele Möglichkeiten.
    Am einfachsten zu lesen ist vielleicht:

    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    if (cnt == 0)
    {
        string[] zeile = File.ReadAllLines(INIDatei);
        string[] neuerInhalt;
        for (int i = 0; i < zeile.Length -1; i++)
        {
             neuerInhalt[i] = zeile[i];
        }
        File.WriteAllLines(INIDatei, neuerInhalt);
    }
    Gruß, Sparks
     
    Ich stehe direkt am Abgrund, aber morgen bin ich schon einen Schritt weiter. ;-)

  3. #3
    zecken81 zecken81 ist offline Mitglied
    Registriert seit
    May 2008
    Beiträge
    24
    Hey danke für die schnelle Antwort allerdings bekomme ich da einen Fehler.
    "Verwendung der nicht zugewiesenen lokalen Variablen neuerInhalt"

    Habe dann gemacht string[] neuerInhalt = null;
    bekomme dann aber die Fehlermeldung: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.


    Hast du da auch noch ein Tipp für?
     

  4. #4
    zecken81 zecken81 ist offline Mitglied
    Registriert seit
    May 2008
    Beiträge
    24
    Ok habs hinbekommen
    string[] zeile = File.ReadAllLines(INIDatei);
    int zeile1 = zeile.Length;
    string[] neu = new string[zeile1-1];

    for (int i = 0; i<zeile.Length-1;i++)
    {
    neu[i] = zeile[i];
    }
    File.WriteAllLines(INIDatei, neu);

    ciao ciao
     

  5. #5
    Sparks Sparks ist offline Mitglied Silber
    Registriert seit
    May 2004
    Beiträge
    79
    Genau (*sorry*), der Fehler war die Deklaration des neuen Arrays,
    Code csharp:
    1
    
    string[] neuerInhalt = new string[zeile.Length - 1];
    Eleganter wäre eigentlich eine Collection, was aber aufs gleiche rausläuft...
     
    Ich stehe direkt am Abgrund, aber morgen bin ich schon einen Schritt weiter. ;-)

  6. #6
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Die Schleife für's Umkopieren könnte man sich sparen:
    Code csharp:
    1
    
    Array.Copy(zeile, neuerInhalt, neuerInhalt.Length);
    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

Ähnliche Themen

  1. Zeile aus einer Datei löschen
    Von RipdEaTh im Forum Java
    Antworten: 0
    Letzter Beitrag: 20.11.06, 12:15
  2. 2 Probleme beim DataGrid. beim Löschen und Hinzufügen einer Zeile
    Von WaZZkeSS im Forum .NET Datenverwaltung
    Antworten: 2
    Letzter Beitrag: 18.06.06, 00:26
  3. Antworten: 3
    Letzter Beitrag: 29.07.04, 12:57
  4. Antworten: 3
    Letzter Beitrag: 11.08.02, 18:45
  5. n-te zeile aus einer txt datei löschen
    Von Nucleus im Forum PHP
    Antworten: 9
    Letzter Beitrag: 09.03.02, 00:00