TStringList Delete(int)



  • Ürgentwie will es nbei mir nicht so wie ich will.

    also ich hab schon versucht den fehler zu finden, aber ürgentwie find ich ihn nicht <<

    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
    if ( Servers->ItemIndex != -1 ){
            ServerList->Delete(((Servers->ItemIndex)*2));
            // Debug ShowMessage(((AnsiString)((Servers->ItemIndex)*2)) + ServerList->Strings[((Servers->ItemIndex)*2)]);
            ServerList->Delete((((Servers->ItemIndex)*2)+1));
            // Debug ShowMessage(((AnsiString)(((Servers->ItemIndex)*2)+1))  + ServerList->Strings[(((Servers->ItemIndex)*2)+1)]);
            ServerList->SaveToFile("ServerList.txt");
            }
    }
    

    es soll halt je nach stelle die man gerade in der TComboBox Servers ausgewählt hat 2 unterinander stehende einträge löschen

    und das kann man ja so errechnen ( wenns von 0 anfängt )...

    erste stelle = stelle in COmbo Box * 2
    zweite stelle = stelle in (Combo Box * 2 )+1 // das geht so habs überprüft ^^

    und eigentlich kriegts auch die richtigen werte. nur es kommt das falsche raus. er löscht die 0te und die 2te zeile bei 0.

    Edit:

    AHHH

    ich kapiers ich kapiers ^^ der index ändert sich ja während der bearbeitung. Sorry ^^



  • Wenn du den ersten Eintrag gelöscht hast rücken die anderen nach. Somit löscht du dann den übernächsten Eintrag. Lass einfach die +1 weg.



  • Danke ^^ habs auch gerade kapiert.


Anmelden zum Antworten