Einzelnen Eintrag in der Liste entfernen.

  • Guten Abend!

    ich hab mal wieder nen Problem und es den ganzen tag nicht geschafft, es zu lösen...

    deswegen seid ihr mal dran!

    Folgendes:

    mein Programm:

    [autoit]

    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Form1", 323, 131, 192, 114) ;Erstelle Fenster mit Titel "Form1" und den werten der X und Y achse

    [/autoit][autoit][/autoit][autoit]

    $Combo1 = GUICtrlCreateCombo("item1", 40, 56, 193, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL)) ;erstellt eine Liste, mit dem ersten Wert "item1", es wird die Variable $Combo1 verwendet
    GUICtrlSetData(-1, "item2|item3", "item1") ; Fügt andere Einträge des letzt aufgerufenen Objekts (durch die -1) hinzu und setzt den standart "item1"

    [/autoit][autoit][/autoit][autoit]

    $Button1 = GUICtrlCreateButton ("Show!", 40,90, 193, 25) ;erstelle Button mit dem Inhalt "show"

    [/autoit][autoit][/autoit][autoit]

    $Button2 = GUICtrlCreateButton("Add-IP", 240, 56, 73, 17, $WS_GROUP)

    [/autoit][autoit][/autoit][autoit]

    $Button3 = GUICtrlCreateButton("lösche Liste", 240, 90, 73, 25, $WS_GROUP)

    [/autoit][autoit][/autoit][autoit]

    GUISetState(@SW_SHOW) ;Zeige erstellte Objekte an

    [/autoit][autoit][/autoit][autoit]

    While 1 ;Fensterschleife
    $nMsg = GUIGetMsg() ;Neue ereignisse werde in $nMsg gespeichert
    Switch $nMsg ;Wenn neues Ereignis
    Case $GUI_EVENT_CLOSE ;Im Falle eines schließen des Fensters
    Exit ;Verlasse Programm
    Case $Button1 ;Im Falle, dass der Button gedrückt wird
    MsgBox (0, "titel", GUICtrlRead ($Combo1)) ;Nachricht mit dem Auslesen aus der Variable $Combo1
    Case $Button2
    GUISetState (@SW_DISABLE, $Form1) ;Deaktiviert das Hauptfenster
    $eingabe = InputBox("Test", "Bitte geben Sie ein oder zwei Zeichen ein.", "", " M15") ; Erzeugt eine InputBox, wobei nichts vorgegeben ist (") die Eingabe maximal 15 haben muss (M15) -) Keine Eingabe mit click auf OK-) Geht nicht weiter
    if $eingabe > "0" Then ;wenn eingabe Größer null, dann ...
    GUICtrlSetData($Combo1, $eingabe, $eingabe) ; Fügt andere Einträge des Objekts $Combo1 hinzu und setzt den standart $eingabe
    GUISetState (@SW_ENABLE, $Form1) ;Aktiviert das Hauptfenster wieder
    WinActivate($Form1) ;Holt das Fenster in den Vordergrund
    Else ;sonst
    GUISetState (@SW_ENABLE, $Form1) ;Aktiviert das Hauptfenster wieder
    WinActivate($Form1) ;Holt das Fenster in den Vordergrund
    EndIf
    Case $Button3
    GUICtrlSetData ($Combo1, "") ;Lösche die Liste des Elements $Combo1
    EndSwitch ;Ende des Switches
    WEnd ;SchleifenEnde

    [/autoit]

    und nun will ich anstatt die ganze liste, einen einzelnen schon markierten wert löschen, und ich weiß einfach nich wie...

    kann mir jemand helfen??

    Einmal editiert, zuletzt von Mr_gitarre (24. März 2010 um 18:43)

  • [autoit]

    Case $Button3
    $nummer = _GUICtrlComboBox_GetCurSel($Combo1) ;ERmittelt den markierten String
    _GUICtrlComboBox_DeleteString($Combo1, $nummer);löscht markierten String

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • ok, verständlich aber funktioniert nicht... 8|
    mein Programm:

    [autoit]

    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Form1", 323, 131, 192, 114) ;Erstelle Fenster mit Titel "Form1" und den werten der X und Y achse

    [/autoit][autoit][/autoit][autoit]

    $Combo1 = GUICtrlCreateCombo("item1", 40, 56, 193, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL)) ;erstellt eine Liste, mit dem ersten Wert "item1", es wird die Variable $Combo1 verwendet
    GUICtrlSetData(-1, "item2|item3", "item1") ; Fügt andere Einträge des letzt aufgerufenen Objekts (durch die -1) hinzu und setzt den standart "item1"

    [/autoit][autoit][/autoit][autoit]

    $Button1 = GUICtrlCreateButton ("Show!", 40,90, 193, 25) ;erstelle Button mit dem Inhalt "show"

    [/autoit][autoit][/autoit][autoit]

    $Button2 = GUICtrlCreateButton("Add-IP", 240, 56, 73, 17, $WS_GROUP)

    [/autoit][autoit][/autoit][autoit]

    $Button3 = GUICtrlCreateButton("lösche Liste", 240, 90, 73, 25, $WS_GROUP)

    [/autoit][autoit][/autoit][autoit]

    GUISetState(@SW_SHOW) ;Zeige erstellte Objekte an

    [/autoit][autoit][/autoit][autoit]

    While 1 ;Fensterschleife
    $nMsg = GUIGetMsg() ;Neue ereignisse werde in $nMsg gespeichert
    Switch $nMsg ;Wenn neues Ereignis
    Case $GUI_EVENT_CLOSE ;Im Falle eines schließen des Fensters
    Exit ;Verlasse Programm
    Case $Button1 ;Im Falle, dass der Button gedrückt wird
    MsgBox (0, "titel", GUICtrlRead ($Combo1)) ;Nachricht mit dem Auslesen aus der Variable $Combo1
    Case $Button2
    GUISetState (@SW_DISABLE, $Form1) ;Deaktiviert das Hauptfenster
    $eingabe = InputBox("Test", "Bitte geben Sie ein oder zwei Zeichen ein.", "", " M15") ; Erzeugt eine InputBox, wobei nichts vorgegeben ist (") die Eingabe maximal 15 haben muss (M15) -) Keine Eingabe mit click auf OK-) Geht nicht weiter
    if $eingabe > "0" Then ;wenn eingabe Größer null, dann ...
    GUICtrlSetData($Combo1, $eingabe, $eingabe) ; Fügt andere Einträge des Objekts $Combo1 hinzu und setzt den standart $eingabe
    GUISetState (@SW_ENABLE, $Form1) ;Aktiviert das Hauptfenster wieder
    WinActivate($Form1) ;Holt das Fenster in den Vordergrund
    Else ;sonst
    GUISetState (@SW_ENABLE, $Form1) ;Aktiviert das Hauptfenster wieder
    WinActivate($Form1) ;Holt das Fenster in den Vordergrund
    EndIf
    Case $Button3
    $nummer = _GUICtrlComboBox_GetCurSel($Combo1) ;ERmittelt den markierten String
    _GUICtrlComboBox_DeleteString($Combo1, $nummer) ;löscht markierten String
    EndSwitch ;Ende des Switches
    WEnd ;SchleifenEnde

    [/autoit]
  • Oh, soory da fehlt noch

    [autoit]

    #Include <GuiComboBox.au3>

    [/autoit]

    am anfang.. .

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • ok: hab

    #include <GUIComboBox.au3>

    vergessen...

    das funktioniert... aber zeitlich total versetzt, gibt es einen schnelleren weg?

    ps: dank dir für deine antwort

  • Meinst du etwa so?

    [autoit]

    $nummer = _GUICtrlComboBox_GetCurSel($Combo1) ;Lösche die Liste des Elements $Combo1
    _GUICtrlComboBox_DeleteString($Combo1, $nummer)
    _GUICtrlComboBox_SetCurSel($Combo1,0)

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • ok, genial...!!

    und wie zum teufel hast du das gemacht!

    kannst du mir das erklären, warum...? weshalb..?? weswegen...????????

  • hab gefunden warum!

    er wird einfach ins Nirvana geschickt, das mag der überhaupt nich, deswegen sagen wir ihm, was er zu nehmen hat, richtig??

  • Klick am besten mal auf die Befehle in der Box von meinem letzten Post, dann kommt dort die Erklärung...
    Diese Befehle stehen auch alle in der Hilfe drin, wenn du es trotzdem nicht verstehst, kannst du gerne nochmal nachfragen ^^

    edit: Genau, der letzte Befehl markiert einfach den ersten eintrag

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"