Brauch eine Funktion um ListView Items auszulesen

  • Hey Community,
    ich bräuchte eine Funktion um ListViewItems auszulesen!
    Mit GuiCtrlRead geht das schlecht und in der UDF habe ich nichts gefunden!
    Danke.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <GuiListView.au3>
    #NoTrayIcon
    ;~ _GUICtrlListView_GetItemCount($hWnd)
    $count = 1
    $count2 = 0
    $Form1 = GUICreate("PinG TooL | Check your Ping", 313, 233, 193, 125)
    $ListView1 = GUICtrlCreateListView("Seite |Status |Ping ", 104, 0, 208, 232)
    $Button1 = GUICtrlCreateButton("Add Site", 22, 4, 59, 21, 0)
    $Button2 = GUICtrlCreateButton("Delete Site", 22, 28, 59, 21, 0)
    $sekunden = GUICtrlCreateCombo("", 52, 212, 53, 25)
    GUICtrlSetData(-1, "1 sec|5 secs|10 secs|15 secs|20 secs|25 secs|30 secs")
    $Label1 = GUICtrlCreateLabel("Ping every", 0, 215, 50, 17)
    GUICtrlSetData($sekunden, "5 secs")
    GUISetState(@SW_SHOW)
    $string = StringSplit(GUICtrlRead($sekunden), " ")
    AdlibEnable("_Ping", $string[1] * 1000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $seite = InputBox("Add new site", "Insert the site you wanna add to the List." & @CRLF & "Example: http://www.autoit.de")
    $seite2 = Ping($seite)
    If $seite2 = 0 Then
    $iMsgBoxAnswer = MsgBox(36, "Attention", "Die von ihnen eingegebene Seite kann zur Zeit nicht angepingt werden!" & @CRLF & "Möchten Sie diese Seite trotzdem in die Liste aufnehmen?")
    If $iMsgBoxAnswer = 6 Then
    _GUICtrlListView_AddItem($ListView1, $seite)
    Else
    EndIf
    Else
    $count = _GUICtrlListView_GetItemCount($ListView1)
    _GUICtrlListView_AddItem($ListView1, $seite)
    _GUICtrlListView_SetItemText($ListView1, $count, "Connecting", 1)
    _GUICtrlListView_SetItemText($ListView1, $count, "0", 2)
    EndIf
    EndSwitch

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

    WEnd

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

    Func _Ping()
    ;~ For $i = 1 To _GUICtrlListView_GetItemCount($ListView1) Step +1
    ;~ MsgBox (0,"",$i)
    ;~ Next
    EndFunc ;==>_Ping

    [/autoit]

    3 Mal editiert, zuletzt von r1fLeX (4. Januar 2009 um 19:30)

  • [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $seite = InputBox("Add new site", "Insert the site you wanna add to the List." & @CRLF & "Example: http://www.autoit.de")
    $seite2 = Ping($seite)
    If $seite2 = 0 Then
    $iMsgBoxAnswer = MsgBox(36, "Attention", "Die von ihnen eingegebene Seite kann zur Zeit nicht angepingt werden!" & @CRLF & "Möchten Sie diese Seite trotzdem in die Liste aufnehmen?")
    If $iMsgBoxAnswer = 6 Then
    _GUICtrlListView_AddItem($ListView1, $seite)
    Else
    EndIf
    Else
    $count = _GUICtrlListView_GetItemCount($ListView1)
    _GUICtrlListView_AddItem($ListView1, $seite)
    _GUICtrlListView_SetItemText($ListView1, $count, "Connecting", 1)
    _GUICtrlListView_SetItemText($ListView1, $count, "0", 2)
    EndIf
    EndSwitch

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

    WEnd

    [/autoit]
  • Danke!
    Aber mit diesem Code wird immer nur dsa unterste aktualisiert?!

    [autoit]


    #include <GUIConstants.au3>
    #include <GuiListView.au3>
    #NoTrayIcon
    ;~ _GUICtrlListView_GetItemCount($hWnd)
    $count = 1
    $count2 = 0
    $Form1 = GUICreate("PinG TooL | Check your Ping", 313, 233, 193, 125)
    $ListView1 = GUICtrlCreateListView("Seite |Status |Ping ", 104, 0, 208, 232)
    $Button1 = GUICtrlCreateButton("Add Site", 22, 4, 59, 21, 0)
    $Button2 = GUICtrlCreateButton("Delete Site", 22, 28, 59, 21, 0)
    $sekunden = GUICtrlCreateCombo("", 52, 212, 53, 25)
    GUICtrlSetData(-1, "1 sec|5 secs|10 secs|15 secs|20 secs|25 secs|30 secs")
    $Label1 = GUICtrlCreateLabel("Ping every", 0, 215, 50, 17)
    GUICtrlSetData($sekunden, "5 secs")
    GUISetState(@SW_SHOW)
    $string = StringSplit(GUICtrlRead($sekunden), " ")
    AdlibEnable("_Ping", $string[1] * 1000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $seite = InputBox("Add new site", "Insert the site you wanna add to the List." & @CRLF & "Example: http://www.autoit.de")
    $seite2 = Ping($seite)
    If $seite2 = 0 Then
    $iMsgBoxAnswer = MsgBox(36, "Attention", "Die von ihnen eingegebene Seite kann zur Zeit nicht angepingt werden!" & @CRLF & "Möchten Sie diese Seite trotzdem in die Liste aufnehmen?")
    If $iMsgBoxAnswer = 6 Then
    _GUICtrlListView_AddItem($ListView1, $seite)
    Else
    EndIf
    Else
    $count = _GUICtrlListView_GetItemCount($ListView1)
    _GUICtrlListView_AddItem($ListView1, $seite)
    _GUICtrlListView_SetItemText($ListView1, $count, "Connecting", 1)
    _GUICtrlListView_SetItemText($ListView1, $count, "0", 2)
    EndIf
    EndSwitch

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

    WEnd
    Func _Ping()

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

    For $i = 1 To _GUICtrlListView_GetItemCount($ListView1) Step +1
    $ping = Ping(_GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), $i - 1))
    $count = _GUICtrlListView_GetItemCount($ListView1) -1
    _GUICtrlListView_SetItemText($ListView1, $count, "Connecting", 1)
    _GUICtrlListView_SetItemText($ListView1, $count, $ping, 2)
    Next

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

    EndFunc ;==>_Ping

    [/autoit]

    Einmal editiert, zuletzt von r1fLeX (4. Januar 2009 um 16:04)

    • Offizieller Beitrag

    Probier es mal so :

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GuiListView.au3>
    #NoTrayIcon
    ;~ _GUICtrlListView_GetItemCount($hWnd)
    $count = 1
    $count2 = 0
    $Form1 = GUICreate("PinG TooL | Check your Ping", 313, 233, 193, 125)
    $ListView1 = GUICtrlCreateListView("Seite |Status |Ping ", 104, 0, 208, 232)
    $Button1 = GUICtrlCreateButton("Add Site", 22, 4, 59, 21, 0)
    $Button2 = GUICtrlCreateButton("Delete Site", 22, 28, 59, 21, 0)
    $sekunden = GUICtrlCreateCombo("", 52, 212, 53, 25)
    GUICtrlSetData(-1, "1 sec|5 secs|10 secs|15 secs|20 secs|25 secs|30 secs")
    $Label1 = GUICtrlCreateLabel("Ping every", 0, 215, 50, 17)
    GUICtrlSetData($sekunden, "5 secs")
    GUISetState(@SW_SHOW)
    $string = StringSplit(GUICtrlRead($sekunden), " ")
    AdlibEnable("_Ping", $string[1] * 1000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $seite = InputBox("Add new site", "Insert the site you wanna add to the List." & @CRLF & "Example: http://www.autoit.de")
    $seite2 = Ping($seite)
    If $seite2 = 0 Then
    $iMsgBoxAnswer = MsgBox(36, "Attention", "Die von ihnen eingegebene Seite kann zur Zeit nicht angepingt werden!" & @CRLF & "Möchten Sie diese Seite trotzdem in die Liste aufnehmen?")
    If $iMsgBoxAnswer = 6 Then
    _GUICtrlListView_AddItem($ListView1, $seite)
    Else
    EndIf
    Else
    $count = _GUICtrlListView_GetItemCount($ListView1)
    _GUICtrlListView_AddItem($ListView1, $seite)
    _GUICtrlListView_SetItemText($ListView1, $count, "Connecting", 1)
    _GUICtrlListView_SetItemText($ListView1, $count, "0", 2)
    EndIf
    EndSwitch

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

    WEnd
    Func _Ping()

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

    For $i = 0 To _GUICtrlListView_GetItemCount($ListView1) - 1
    $ping = Ping(_GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), $i))
    _GUICtrlListView_SetItemText($ListView1, $i , "Connecting", 1)
    _GUICtrlListView_SetItemText($ListView1, $i , $ping, 2)
    Next

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

    EndFunc ;==>_Ping

    [/autoit]

    Und zur Anmerkung : Deine Combobox wird nur 1 mal am Scriptanfang abgefragt. Wenn du also die Abfragezeit änderst dann geschieht gar nichts.

    • Offizieller Beitrag

    Und was soll das dann ergeben Deepred ? Zähl mal die ( Klammern und die ) Klammern . Merkst du was ?

    Edit : Toll ich antworte auf einen gelöschten Thread. Tolle Suppe . :cursing:

  • Hey ,
    danke Raupi!
    Hab das GuictrlRead für Combo total vergessen danke ;).
    So , nun klappt alles wunderbar bis auf das sich die items nicht löschen lassen!
    habe 2 Möglichkeiten versucht wie man im Code sieht (1 davon ist auskommentiert.

    [autoit]


    #include <GUIConstants.au3>
    #include <GuiListView.au3>
    #NoTrayIcon
    ;~ _GUICtrlListView_GetItemCount($hWnd)
    $count = 1
    $count2 = 0
    $Form1 = GUICreate("PinG TooL | Check your Ping", 313, 233, 193, 125)
    $ListView1 = GUICtrlCreateListView("Seite |Status |Ping ", 104, 0, 208, 232)
    $Button1 = GUICtrlCreateButton("Add Site", 22, 4, 59, 21, 0)
    $Button2 = GUICtrlCreateButton("Delete Site", 22, 28, 59, 21, 0)
    $Button3 = GUICtrlCreateButton("Credits", 22, 53, 59, 21, 0)
    $sekunden = GUICtrlCreateCombo("", 52, 212, 53, 25)
    GUICtrlSetData(-1, "1 sec|5 secs|10 secs|15 secs|20 secs|25 secs|30 secs")
    $Label1 = GUICtrlCreateLabel("Ping every", 0, 215, 50, 17)
    GUICtrlSetData($sekunden, "5 secs")
    GUISetState(@SW_SHOW)
    $string = StringSplit(GUICtrlRead($sekunden), " ")
    AdlibEnable("_Ping", $string[1] * 1000)

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

    While 1
    _GUICtrlListView_GetItemSelected($ListView1, 0)

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $seite = InputBox("Add new site", "Insert the site you wanna add to the List." & @CRLF & "Example: http://www.autoit.de")
    $seite2 = Ping($seite)
    If $seite2 = 0 Then
    $iMsgBoxAnswer = MsgBox(36, "Attention", "Die von ihnen eingegebene Seite kann zur Zeit nicht angepingt werden!" & @CRLF & "Möchten Sie diese Seite trotzdem in die Liste aufnehmen?")
    If $iMsgBoxAnswer = 6 Then
    _GUICtrlListView_AddItem($ListView1, $seite)
    Else
    EndIf
    Else
    $count = _GUICtrlListView_GetItemCount($ListView1)
    _GUICtrlListView_AddItem($ListView1, $seite)
    _GUICtrlListView_SetItemText($ListView1, $count, "Connecting", 1)
    _GUICtrlListView_SetItemText($ListView1, $count, "0", 2)
    EndIf
    Case $Button2
    For $i = 1 To _GUICtrlListView_GetItemCount($ListView1) Step +1
    $check = _GUICtrlListView_GetItemSelected($ListView1, $i)
    If $check = True Then
    _GUICtrlListView_DeleteItem($ListView1, $i)
    EndIf
    Next
    ;~ _GUICtrlListView_DeleteItemsSelected($ListView1)
    EndSwitch

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

    WEnd
    Func _Ping()

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

    For $i = 0 To _GUICtrlListView_GetItemCount($ListView1) - 1
    $ping = Ping(_GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), $i), 4000)
    If $ping = 0 Then
    If @error = 1 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "Offline", 1)
    ElseIf @error = 2 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "N/A", 1)
    ElseIf @error = 3 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "Adresse?!", 1)
    ElseIf @error = 4 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "Problem", 1)

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

    EndIf
    Else
    _GUICtrlListView_SetItemText($ListView1, $i, "Ready", 1)
    _GUICtrlListView_SetItemText($ListView1, $i, $ping, 2)
    EndIf
    Next
    $string = StringSplit(GUICtrlRead($sekunden), " ")
    EndFunc ;==>_Ping

    [/autoit]
    • Offizieller Beitrag

    Ich habe das mal für dich abgeändert .

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GuiListView.au3>
    #NoTrayIcon
    $count = 1
    $Form1 = GUICreate("PinG TooL | Check your Ping", 313, 233, 193, 125)
    $ListView1 = GUICtrlCreateListView("Seite |Status |Ping ", 104, 0, 208, 232)
    $Button1 = GUICtrlCreateButton("Add Site", 22, 4, 59, 21, 0)
    $Button2 = GUICtrlCreateButton("Delete Site", 22, 28, 59, 21, 0)
    $Button3 = GUICtrlCreateButton("Credits", 22, 53, 59, 21, 0)
    $sekunden = GUICtrlCreateCombo("", 52, 212, 53, 25)
    GUICtrlSetData(-1, "1 sec|5 secs|10 secs|15 secs|20 secs|25 secs|30 secs")
    $Label1 = GUICtrlCreateLabel("Ping every", 0, 215, 50, 17)
    GUICtrlSetData($sekunden, "5 secs")
    GUISetState(@SW_SHOW)
    $string = StringSplit(GUICtrlRead($sekunden), " ")
    AdlibEnable("_Ping", $string[1] * 1000)

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

    While 1
    _GUICtrlListView_GetItemSelected($ListView1, 0)

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $seite = InputBox("Add new site", "Insert the site you wanna add to the List." & @CRLF & "Example: http://www.autoit.de")
    $seite2 = Ping($seite)
    If $seite2 = 0 Then
    $iMsgBoxAnswer = MsgBox(36, "Attention", "Die von ihnen eingegebene Seite kann zur Zeit nicht angepingt werden!" & @CRLF & "Möchten Sie diese Seite trotzdem in die Liste aufnehmen?")
    If $iMsgBoxAnswer = 6 Then
    _GUICtrlListView_AddItem($ListView1, $seite)
    Else
    EndIf
    Else
    $count = _GUICtrlListView_GetItemCount($ListView1)
    _GUICtrlListView_AddItem($ListView1, $seite)
    _GUICtrlListView_SetItemText($ListView1, $count, "Connecting", 1)
    _GUICtrlListView_SetItemText($ListView1, $count, "0", 2)
    EndIf
    Case $Button2
    For $i = 0 To _GUICtrlListView_GetItemCount($ListView1) - 1
    $check = _GUICtrlListView_GetItemFocused($ListView1, $i)
    If $check Then
    ; Items created using UDF function(s), pass the handle to the control
    _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView1), $i)
    EndIf
    Next
    _GUICtrlListView_DeleteItemsSelected($ListView1)
    EndSwitch

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

    WEnd
    Func _Ping()
    For $i = 0 To _GUICtrlListView_GetItemCount($ListView1) - 1
    $ping = Ping(_GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), $i), 4000)
    If not $ping Then
    If @error = 1 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "Offline", 1)
    ElseIf @error = 2 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "N/A", 1)
    ElseIf @error = 3 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "Adresse?!", 1)
    ElseIf @error = 4 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "Problem", 1)

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

    EndIf
    Else
    _GUICtrlListView_SetItemText($ListView1, $i, "Ready", 1)
    _GUICtrlListView_SetItemText($ListView1, $i, $ping, 2)
    EndIf
    Next
    $string = StringSplit(GUICtrlRead($sekunden), " ")
    EndFunc ;==>_Ping

    [/autoit]

    Zur Erklärung: Wenn du einen Eintrag in der Listview anklickt ist es nicht Checked sondern Focused. Wenn du Einträge in das Listview mit Funktionen der UDF hinzufügst(Bsp.: _GUICtrlListView_AddItem) , mußt du beim löschen eines Eintrages (_GUICtrlListView_DeleteItem) nicht die ControlId sondern den ControlHandle benutzen .

    Falsch :

    [autoit]

    _GUICtrlListView_DeleteItem($ListView1), $i)

    [/autoit]


    Richtig:

    [autoit]

    _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView1), $i)

    [/autoit]

    Edit: Nochmal den Code angepaßt.
    Das :

    [autoit]

    If $check = True Then
    If $Ping = 0 Then

    [/autoit]


    kann man noch mit dem

    [autoit]

    If $check Then
    If Not $ping Then

    [/autoit]


    ersetzen , ist auch schneller .

  • Wunderbar!!!
    Danke vielmals ;)
    Nun hab ich noch ein Bug(?!) festgestellt...
    Ich hab grad mal testweise ein paar Seiten eingefügt klappt auch alles nur Laggt das Programm sehr kann man da was machen?

    • Offizieller Beitrag

    Hab das Script nochmal umgeschrieben .

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    Opt("GUIOnEventMode", 1)
    Opt('MustDeclareVars', 1)
    #NoTrayIcon

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

    Global $count = 1, $string[1], $Check, $Seite, $Seite2, $Ping
    Global $Form1 = GUICreate("PinG TooL | Check your Ping", 313, 233, 193, 125)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Ende")
    Global $ListView1 = GUICtrlCreateListView("Seite |Status |Ping ", 104, 0, 208, 232)
    Global $Button1 = GUICtrlCreateButton("Add Site", 22, 4, 59, 21, 0)
    GUICtrlSetOnEvent(-1, "AddSite")
    Global $Button2 = GUICtrlCreateButton("Delete Site", 22, 28, 59, 21, 0)
    GUICtrlSetOnEvent(-1, "DeleteSite")
    Global $Button3 = GUICtrlCreateButton("Credits", 22, 53, 59, 21, 0)
    Global $sekunden = GUICtrlCreateCombo("", 52, 212, 53, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetOnEvent(-1, "_Combo")
    GUICtrlSetData(-1, "1 sec|5 secs|10 secs|15 secs|20 secs|25 secs|30 secs", "5 secs")
    GUICtrlCreateLabel("Ping every", 0, 215, 50, 17)
    GUISetState(@SW_SHOW)
    $string = StringSplit(GUICtrlRead($sekunden), " ")
    AdlibEnable("_Ping", $string[1] * 1000)

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

    While 1
    Sleep(10)
    WEnd

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

    Func DeleteSite()
    For $i = 0 To _GUICtrlListView_GetItemCount($ListView1) - 1
    $Check = _GUICtrlListView_GetItemFocused($ListView1, $i)
    If $Check Then
    ; Items created using UDF function(s), pass the handle to the control
    _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView1), $i)
    EndIf
    Next
    _GUICtrlListView_DeleteItemsSelected($ListView1)
    EndFunc ;==>DeleteSite

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

    Func Ende()
    Exit
    EndFunc ;==>Ende

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

    Func AddSite()
    Local $iMsgBoxAnswer
    $Seite = InputBox("Add new site", "Insert the site you wanna add to the List." & @CRLF & "Example: http://www.autoit.de")
    If Not @error Then
    $Seite2 = Ping($Seite)
    If $Seite2 = 0 Then
    $iMsgBoxAnswer = MsgBox(36, "Attention", "Die von ihnen eingegebene Seite kann zur Zeit nicht angepingt werden!" & @CRLF & "Möchten Sie diese Seite trotzdem in die Liste aufnehmen?")
    If $iMsgBoxAnswer = 6 Then
    _GUICtrlListView_AddItem($ListView1, $Seite)
    Else
    EndIf
    Else
    $count = _GUICtrlListView_GetItemCount($ListView1)
    _GUICtrlListView_AddItem($ListView1, $Seite)
    _GUICtrlListView_SetItemText($ListView1, $count, "Connecting", 1)
    _GUICtrlListView_SetItemText($ListView1, $count, "0", 2)
    EndIf
    EndIf
    EndFunc ;==>AddSite

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

    Func _Combo()
    AdlibDisable()
    $string = StringSplit(GUICtrlRead($sekunden), " ")
    AdlibEnable("_Ping", $string[1] * 1000)
    EndFunc ;==>_Combo

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

    Func _Ping()
    For $i = 0 To _GUICtrlListView_GetItemCount($ListView1) - 1
    $Ping = Ping(_GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), $i), 4000)
    If Not $Ping Then
    If @error = 1 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "Offline", 1)
    ElseIf @error = 2 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "N/A", 1)
    ElseIf @error = 3 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "Adresse?!", 1)
    ElseIf @error = 4 Then
    _GUICtrlListView_SetItemText($ListView1, $i, "Problem", 1)
    EndIf
    Else
    _GUICtrlListView_SetItemText($ListView1, $i, "Ready", 1)
    _GUICtrlListView_SetItemText($ListView1, $i, $Ping, 2)
    EndIf
    Next
    EndFunc ;==>_Ping

    [/autoit]

    Es arbeitet jetzt im GuiOnEventMode, dabei laggt es nicht mehr. Hab auch gleich das Problem mit der Combobox gelöst.
    So jetzt kannst du ja mal etwas an deinem Script arbeiten. Bau noch eine Speicheroption ein, dann muß man nicht laufend alles neu eingeben .