2016-06-28 21 views
0

So kommt die Liste in meiner Combobox aus einer Textdatei. Das Programm ermöglicht dem Benutzer, ein Element aus der Combobox auszuwählen. Das ausgewählte Objekt sollte ebenfalls aus der Combobox und aus der Textdatei entfernt werden, indem Sie auf eine Schaltfläche klicken.Wie lösche ich ausgewählte Artikel aus einem Kombinationsfeld in der Textdatei

Dieser Code ermöglicht das Programm die Elemente aus der Textdatei zu meiner Combobox zu bekommen:

string location = @"C:\\Users\\LMCPENA98\\Desktop\\COE114LPROJECT_MILLENNIUM_PAWS\\MillenniumPaws\\MillenniumPaws\\bin\\Debug\\Files.txt"; 
string[] temp = File.ReadAllLines(location); 
int[] TagNumber = new int[temp.Length]; 
string[] Breed = new string[temp.Length]; 
string[] Name = new string[temp.Length]; 
decimal[] Price = new decimal[temp.Length]; 
//Getting all the values i the text file 
for (int i = 0; i < TagNumber.Length; i++) 
{ 
TagNumber[i] = int.Parse(temp[i].Substring(0, temp[i].IndexOf("-"))); 
Breed[i] = temp[i].Substring(0, temp[i].IndexOf("+")); 
Breed[i] = Breed[i].Substring(Breed[i].LastIndexOf("-") + 1); 
Name[i] = temp[i].Substring(0, temp[i].IndexOf("=")); 
Name[i] = Name[i].Substring(Name[i].LastIndexOf("+") + 1); 
Price[i] = decimal.Parse(temp[i].Substring(temp[i].LastIndexOf("=") + 1)); 
} 

Pound p; 
for (int i = 0; i < Breed.Length; i++) 
{ 
if (Breed[i] == cmbBx_breed.Text) 
{ 
    p = new Pound(TagNumber[i], Name[i], Price[i]); 
    cmbBx_opts.Items.Add(p.GetEntry()); 
    } 
} 
} 
else 
{ 
cmbBx_breed.Text = null; 
} 

Dies ist, wie ich das Programm bin zu lassen weiß, ich bin ein Element fertig Auswahl:

private void btn_buy_Click(object sender, EventArgs e) 
{ 
    new MessageBox_TYBuying().Show(); 
    cmbBx_opts.Items.Remove(cmbBx_opts.SelectedItem); 
} 

Wenn ich mit der Programmierung beginne, wird das ausgewählte Element in der Combobox jetzt entfernt, aber nicht in der Textdatei. Wie mache ich es??

+0

Warum nicht eine .json-Datei oder .xml-Datei verwenden? Weit besser und weniger kompliziert zu bedienen .. – Furtiro

+0

Meine Gruppe und ich weiß nicht, wie Sie diese Arten von Dateien noch verwenden –

Antwort

0

Es gibt keine "Zeile aus einer Textdatei entfernen". Alles, was Sie tun können, ist:

Ansatz 1)
Öffnen Sie die ursprüngliche Datei und lesen Sie alle Zeilen in eine List<string>. Dann iteriere über alle diese Listeneinträge und entferne denjenigen, der entfernt werden soll. Schreiben Sie dann alle Listeneinträge zurück in die Datei.

Vorgehensweise 2)
Benennen Sie die Originaldatei in eine "Backup" -Datei um. Öffnen Sie die Sicherungsdatei zum Lesen und eine neue Datei mit dem ursprünglichen Dateinamen zum Schreiben. Lesen Sie die Sicherungsdatei Zeile für Zeile. Schreiben Sie jede Zeile in die Ausgabedatei, abgesehen von der Zeile, die Sie entfernen möchten.