ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
356
356
EMPFEHLEN
-
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
-
Hallo Zecken81,
es gibt natürlich viele Möglichkeiten.
Am einfachsten zu lesen ist vielleicht:
Gruß, SparksCode 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); }
Ich stehe direkt am Abgrund, aber morgen bin ich schon einen Schritt weiter. ;-)
-
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?
-
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
-
Genau (*sorry*), der Fehler war die Deklaration des neuen Arrays,
Eleganter wäre eigentlich eine Collection, was aber aufs gleiche rausläuft...Code csharp:1
string[] neuerInhalt = new string[zeile.Length - 1];
Ich stehe direkt am Abgrund, aber morgen bin ich schon einen Schritt weiter. ;-)
-
Die Schleife für's Umkopieren könnte man sich sparen:
GrußCode csharp:1
Array.Copy(zeile, neuerInhalt, neuerInhalt.Length);
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
Ähnliche Themen
-
Zeile aus einer Datei löschen
Von RipdEaTh im Forum JavaAntworten: 0Letzter Beitrag: 20.11.06, 12:15 -
2 Probleme beim DataGrid. beim Löschen und Hinzufügen einer Zeile
Von WaZZkeSS im Forum .NET DatenverwaltungAntworten: 2Letzter Beitrag: 18.06.06, 00:26 -
Fehler beim adden/löschen einer Zeile in einer Tabelle
Von skynic im Forum PHPAntworten: 3Letzter Beitrag: 29.07.04, 12:57 -
Einlesen und Löschen einer Zeile aus einer Datei
Von Alex2xm im Forum PHPAntworten: 3Letzter Beitrag: 11.08.02, 18:45 -
n-te zeile aus einer txt datei löschen
Von Nucleus im Forum PHPAntworten: 9Letzter Beitrag: 09.03.02, 00:00





Zitieren
Login





