ListBox-Hilfe benötigt



  • Ja dort hab ich eh auch schon nachgeschaut aber ich werd daraus nicht schlau.. sry 😕



  • Warum nich?



  • weil ich nich weiß was ich nun tun soll -.-



  • Ist dir denn klar, was die Member-Funktion ItemIndex() macht?



  • Hallo

    TListBox::ItemIndex ist doch keine Funktion, sondern eine Eigenschaft.

    Letztendlich kann man die beiden Probleme auf je einen Einzeile reduzieren
    1.

    Label1->Caption = ListBox1->Items->Strings[ListBox1->ItemIndex].Length();
    
    ListBox1->Items->Delete(ListBox1->ItemIndex);
    

    Natürlich sollte vorher auf jedenfall geprüft werden ob überhaupt etwas ausgewählt ist (ItemIndex != -1)

    bis bald
    akari



  • akari schrieb:

    TListBox::ItemIndex ist doch keine Funktion, sondern eine Eigenschaft.

    Huuups. 🙄



  • Danke
    1. ist abgehackt. gelöst. Danke akari!

    2. Ja es geht SCHON, aber wie vorher.
    Alles was über dem markierten Eintrag ist, wird auch mitgelöscht.
    Da muss man glaub ich die for-Schleife anders machen..
    Aber ich hab keine Ahnung wie...

    MFG

    void __fastcall TForm1::ListBox1KeyDown(TObject *Sender, WORD &Key,
          TShiftState Shift)
    {
    int i;
    
    if (Key==46)
     {
         ListBox1->ItemIndex != -1;
         for (i=0;i<ListBox1->Items->Count;i++)
         {
           ListBox1->Items->Delete(ListBox1->ItemIndex);
         }
    
     }
    }
    

    edit:
    ok habs selber geschafft.
    Lösung:

    void __fastcall TForm1::ListBox1KeyDown(TObject *Sender, WORD &Key,
          TShiftState Shift)
    {
    int i;
    
    if (Key==46)
    {
    for (i=ListBox1->Items->Count-1;i>=0;i--)
    {
     if (ListBox1->Selected[i]==true)
      {
       ListBox1->Items->Delete(i);
      }
     }
    }
    }
    


  • Hallo

    2. Ja es geht SCHON, aber wie vorher.
    Alles was über dem markierten Eintrag ist, wird auch mitgelöscht.

    Kann gar nicht sein. Der Quellcode von mir löscht maximal 1 Eintrag.

    Da muss man glaub ich die for-Schleife anders machen..

    Wenn du den ausgewählten Eintrag löschen willst brauchst du keine Schleife.

    bis bald
    akari



  • akari schrieb:

    Kann gar nicht sein. Der Quellcode von mir löscht maximal 1 Eintrag.

    Wenn du den ausgewählten Eintrag löschen willst brauchst du keine Schleife.

    ich wollte ja nicht nur EINEN eintrag löschen sondern mehrere markierte



  • Hallo

    Anfangspost schrieb:

    2. Ich möchte einen markierten Eintrag per ENTFERNEN-Taste löschen!

    🙄
    Dann solltest du deine Fragen auch dementsprechend stellen!
    Und wenn du jetzt noch sagst nach welchem Muster die zu löschenden Einträge gefunden werden sollen könnte dir auch jemand helfen.

    bis bald
    akari



  • sry 😞


Anmelden zum Antworten