Hm... hat folgendes geschrieben : |
Hm, hab's so probiert aber es geht immernoch nicht: |
Das ist keine richtige Problembeschreibung: Woran merkst du, dass es nicht geht? Wird nichts geschrieben, wird etwas falsches geschrieben?
Zu den Fehlern und ungünstigen Verfahren im einzelnen:
Der Pfad ist nicht auf diese Weise zusammenzusetzen. Da du ihn außerdem später nochmals brauchst, ist eine eigene Variable sinnvoll:
C#-Quelltext
1:
| string carlistFilename = Path.Combine(Application.StartupPath, "carlist.txt"); |
Die folgenden Zeilen sind zusammenzuziehen. Es ist nicht sinnvoll, zuerst ein Array für 32 Elemente zu erzeugen, wenn anschließend automatisch eines für 4, 28 oder 317 Elemente entsteht. Lass das doch den Rechner selbst bestimmen:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| string[] Pfade = new string[32]; Pfade = File.ReadAllLines(Application.StartupPath + "carlist.txt");
string[] carlist = File.ReadAllLines(carlistFilename); |
Du hast dabei übrigens auch noch das Problem, dass Speicherplatz für 32 Strings reserviert wird, aber kein einziger String erstellt wird - auch kein leerer. Deshalb geht deine Abfrage mit Equals( "") ins Leere; sie wird vermutlich niemals mit true beantwortet.
Es gibt keinen Grund, eine for-Schleife mit genau 32 Elementen zu verwenden. Dafür gibt es schließlich foreach:
C#-Quelltext
1:
| foreach(string carname in carlist) { ... } |
Strings können mit "==" verglichen werden. Für leere Zeilen ist eine spezielle Methode vorgesehen:
C#-Quelltext
1: 2: 3: 4:
| if( !String.IsNullOrEmpty(carname) && (carname == saveFileDialog1.FileName) ) { IsAvailable = true; break; } |
Warum nimmst du nicht den von mir vorgeschlagenen Befehl zum Speichern?
C#-Quelltext
1: 2: 3:
| if ( !IsAvailable) { File.AppendAllText(carlistFilename, saveFileDialog1.FileName + Environment.NewLine); } |
So, auf ein Neues. Jürgen
PS 1. Zum Markieren von Code gibt es die Auswahl C#, bitte benutze sie auch.
PS 2. Wie du siehst, empfehle ich englische Bezeichner. Spätestens wenn die IDE einen EventHandler wie MyButtonClick erstellt, gäbe es andernfalls schlimmen denglischen Mischmasch.