Ping Tool

  • Hey,

    so bin ja dabei mehr selber zu machen und zu lesen aber leider hänge ich wieder an einer stelle ;(
    würde mich freuen wenn mir jemand sagen würde wo ich den fehler mache und was falsch ist....
    was das ziel ist?
    einen Hostnamen anklicken und ping auf den rechner siehe func _pingitem dort ist auch der fehler???
    Was ist der fehler kein sichtbarer ich sehe meine msgbox nicht mit dem antwortzeiten, wie gesagt erst pc liste laden:
    so sieht die txt aus
    pc1
    pc2
    pc3
    Falls jemand noch eine idee hat zu ping all nehme ich auch gerne an:

    >>> später will ich wenn online in listview2, wenn offline in listview2 schreiben , wer aber jetzt schon ein tipps hat nehme ich gerne an;-)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <array.au3>
    #Include <File.au3>
    #Include <GuiListView.au3>

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

    Local $ad, $array1, $x = 0

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Ping Tool", 700, 510, 257, 323)
    $ListView1 = GUICtrlCreateListView("Hostname", 24, 48, 170, 342)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 160) ; setzt die 1. Spalte des Listviews auf 160 Pixel Breite
    $ListView2 = GUICtrlCreateListView("Online", 224, 48, 170, 342)
    $ListView3 = GUICtrlCreateListView("Offline", 424, 48, 186, 342)
    $Button1 = GUICtrlCreateButton("PC`s Laden", 24, 400, 60, 25, 0)
    $Button2 = GUICtrlCreateButton("Check", 24, 432, 50, 25, 0)
    $Button2 = GUICtrlCreateButton("Check All", 75, 432, 50, 25, 0)
    $Button4 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $Button5 = GUICtrlCreateButton("export2", 336, 400, 59, 25, 0)
    $Button6 = GUICtrlCreateButton("export3", 552, 400, 59, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _insert()
    Case $Button2
    _pingitem()

    EndSwitch
    WEnd

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

    Func _insert()
    $string = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    $array = StringSplit(FileRead($string),@CR)
    For $i = 0 To UBound($array) - 1
    GUICtrlCreateListViewItem($array[$i], $ListView1)
    Next
    EndFunc

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

    Func _pingall()

    EndFunc

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

    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    $var = Ping($ListViewText[1],250)

    If $var Then
    Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    Else
    Msgbox(0,"Status","Es ist ein Fehler mit der Nummer " & @error & " aufgetreten.")
    EndIf
    EndFunc

    [/autoit]

    Edit:
    Freuu................
    habe mein problem jetrzt selbst gelöst ;)
    so jetzt brauche ich noch tipps damit ich bei online oder offline ein item in listview2 oder listview3 zu erzeugen mit dem item namen

    danke

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <array.au3>
    #Include <File.au3>
    #Include <GuiListView.au3>

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

    Local $ad, $array1, $x = 0

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Ping Tool", 700, 510, 257, 323)
    $ListView1 = GUICtrlCreateListView("Hostname", 24, 48, 170, 342)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 160) ; setzt die 1. Spalte des Listviews auf 160 Pixel Breite
    $ListView2 = GUICtrlCreateListView("Online", 224, 48, 170, 342)
    $ListView3 = GUICtrlCreateListView("Offline", 424, 48, 186, 342)
    $Button1 = GUICtrlCreateButton("PC`s Laden", 24, 400, 60, 25, 0)
    $Button2 = GUICtrlCreateButton("Check", 24, 432, 50, 25, 0)
    $Button3 = GUICtrlCreateButton("Check All", 75, 432, 50, 25, 0)
    $Button4 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $Button5 = GUICtrlCreateButton("export2", 336, 400, 59, 25, 0)
    $Button6 = GUICtrlCreateButton("export3", 552, 400, 59, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _insert()
    Case $Button2
    _pingitem()

    EndSwitch
    WEnd

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

    Func _insert()
    $string = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    $array = StringSplit(FileRead($string),@CR)
    For $i = 0 To UBound($array) - 1
    GUICtrlCreateListViewItem($array[$i], $ListView1)
    Next
    EndFunc

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

    Func _pingall()

    EndFunc

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

    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)

    If $var Then
    Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    Else
    Msgbox(0,"Status","Es ist ein Fehler mit der Nummer " & @error & " aufgetreten.")
    EndIf
    EndFunc

    [/autoit]

    bernd670: Beiträge zusammengefasst!

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    6 Mal editiert, zuletzt von subzero007 (25. Juni 2009 um 13:37)

  • Hey,

    ich verstehe nicht so genau was du vor hast.
    Was mir aufgefallen ist:

    _GUICtrlListView_GetItemTextArray($listview1) hier sollte das Handle verwendet werden.

    [autoit]


    Gloabl $ListView1 = GUICtrlCreateListView("Hostname", 24, 48, 170, 342)
    Global $hLVHandle = GUICtrlGetHandle($ListView1)
    _GUICtrlListView_GetItemTextArray($hlvhandle)

    [/autoit]
  • Wieso Handle? was macht das? es funtioniert zur zeit oder habe ich einen denkfehler?
    Ich will jetzt wenn mein Ping erfolgreich war in listview2 schreiben wenn nicht in die liestview3 schreiben eine idee?

    Edit:
    Bin jetzt ein Tick weite,
    aber ordnet nicht alle in die richtige listview und machmal klappt es kommischer weisse eine idee?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <array.au3>
    #Include <File.au3>
    #Include <GuiListView.au3>

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

    Local $ad, $array1, $x = 0

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Ping Tool", 700, 510, 257, 323)
    $ListView1 = GUICtrlCreateListView("Hostname", 24, 48, 170, 342)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 160) ; setzt die 1. Spalte des Listviews auf 160 Pixel Breite
    $ListView2 = GUICtrlCreateListView("Online", 224, 48, 170, 342)
    $ListView3 = GUICtrlCreateListView("Offline", 424, 48, 186, 342)
    $Button1 = GUICtrlCreateButton("PC`s Laden", 24, 400, 60, 25, 0)
    $Button2 = GUICtrlCreateButton("Check", 24, 432, 50, 25, 0)
    $Button3 = GUICtrlCreateButton("Check All", 75, 432, 50, 25, 0)
    $Button4 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $Button5 = GUICtrlCreateButton("export2", 336, 400, 59, 25, 0)
    $Button6 = GUICtrlCreateButton("export3", 552, 400, 59, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _insert()
    Case $Button2
    _pingitem()

    EndSwitch
    WEnd

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

    Func _insert()
    $string = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    $array = StringSplit(FileRead($string),@CR)
    For $i = 0 To UBound($array) - 1
    GUICtrlCreateListViewItem($array[$i], $ListView1)
    Next
    EndFunc

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

    Func _pingall()

    EndFunc

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

    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)

    If $var Then
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    EndIf
    EndFunc

    [/autoit]

    bernd670: Beiträge zusammengefasst!

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    Einmal editiert, zuletzt von bernd670 (13. Juni 2009 um 19:15)

  • Die Listview UDF erfordert eigentlich das Handle, in der Hilfe ists aber auch anders erklärt. Sehr seltsam :D

    Zu deinem Problem - wieso nicht einfach so?

    [autoit]


    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)

    If $var Then
    GUICtrlCreateListViewItem($ListViewText[1], $listview2)
    Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    Else
    GUICtrlCreateListViewItem($ListViewText[1], $listview3)
    Msgbox(0,"Status","Es ist ein Fehler mit der Nummer " & @error & " aufgetreten.")
    EndIf
    EndFunc

    [/autoit]

    So ganz sinnvoll ists natürlich noch nicht.

    Du hast ein Listview1 mit PC IP's und du möchtest das markierte Item (bzw. die IP) pingen und das Ergebnis je nachdem in Listview2 oder Listview3 speichern?

  • Hallo subzero007,

    versuchs mal so:

    [autoit]


    Func _pingitem()
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    ;consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    If $var Then
    GUICtrlCreateListViewItem($ListViewText[1] & " online Antwortzeit: " & $var , $ListView2)
    ;Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    Else
    GUICtrlCreateListViewItem($ListViewText[1] & " offline Fehler: " & @error , $ListView3)
    ;Msgbox(0,"Status","Es ist ein Fehler mit der Nummer " & @error & " aufgetreten.")
    EndIf
    EndFunc

    [/autoit]


    Online im Forum erstellt, muss aber trotzdem klappen.

    Edit: Nuts war schneller

    mfg (Auto)Bert

  • Hey,

    habe es jetzt so gelösst ;)
    bin stolz auf mich alles fast alleine gelöst ;)
    so jetzt noch eine frage??
    wie alle pc per ping testen die ich lade also nicht nur die ich makiere??

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <array.au3>
    #Include <File.au3>
    #Include <GuiListView.au3>

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

    Local $ad, $array1, $x = 0

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Ping Tool", 700, 510, 257, 323)
    $ListView1 = GUICtrlCreateListView("Hostname", 24, 48, 170, 342)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 160) ; setzt die 1. Spalte des Listviews auf 160 Pixel Breite
    $ListView2 = GUICtrlCreateListView("Online", 224, 48, 170, 342)
    $ListView3 = GUICtrlCreateListView("Offline", 424, 48, 186, 342)
    $Button1 = GUICtrlCreateButton("PC`s Laden", 24, 400, 60, 25, 0)
    $Button2 = GUICtrlCreateButton("Check", 24, 432, 50, 25, 0)
    $Button3 = GUICtrlCreateButton("Check All", 75, 432, 50, 25, 0)
    $Button4 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $Button5 = GUICtrlCreateButton("export2", 336, 400, 59, 25, 0)
    $Button6 = GUICtrlCreateButton("export3", 552, 400, 59, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _insert()
    Case $Button2
    _pingitem()

    EndSwitch
    WEnd

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

    Func _insert()
    $string = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    $array = StringSplit(FileRead($string),@CR)
    For $i = 0 To UBound($array) - 1
    GUICtrlCreateListViewItem($array[$i], $ListView1)
    Next
    EndFunc

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

    Func _pingall()

    EndFunc

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

    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    EndSwitch
    EndFunc

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

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • Mit _GUICtrlListView_GetItemCount die Anzahl bestimmen und danach in einer Schleife deine Funktion von ersten bis zum letzten Item durchgehen ( zweiten Parameter bei _GUICtrlListView_GetItemTextArray beachten).

  • Ok jetzt häne ich und habe es nicht verstanden????
    kannst du mir helfen?
    Ich mache mal den anfang du kannst ja helfen wenn ich hänge??
    ist das ok?

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • versuchs mal so (Achtung ungetestet):

    [autoit]


    Func _pingall()
    local $icount = _GUICtrlListView_GetItemCount($ListView1)
    for $i = 0 to $icount -1
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1, $i)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    EndSwitch
    next
    EndFunc

    [/autoit]
  • Hey,

    so sieht mein Code jetzt aus!!
    leider landet jetzt alles in Offline? wieso? ja ich habe es mit dem dos ping getestet rechner ist per ping erreichbar!! Wo ist mein denkfehler?
    in die listview mir in die erste zeile die anzahl der zeilen geschrieben wie kann ich das unterbinden ?
    eigentlich ist das ja eine schöne sache die anzahl zu wissen man könnte ja den wert in ein label schreiben aber wie?
    Mit GUICtrlSetData würde das ja gehen aber wie nehme ich den wert da raus lösche ihn aus der listview und trage es in den label eine??


    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <array.au3>
    #Include <File.au3>
    #Include <GuiListView.au3>

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

    Local $ad, $array1, $x = 0

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Ping Tool", 700, 510, 257, 323)
    $ListView1 = GUICtrlCreateListView("Hostname", 24, 48, 170, 342)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 160) ; setzt die 1. Spalte des Listviews auf 160 Pixel Breite
    $ListView2 = GUICtrlCreateListView("Online", 224, 48, 170, 342)
    $ListView3 = GUICtrlCreateListView("Offline", 424, 48, 186, 342)
    $Button1 = GUICtrlCreateButton("PC`s Laden", 24, 400, 60, 25, 0)
    $Button2 = GUICtrlCreateButton("Check", 24, 432, 50, 25, 0)
    $Button3 = GUICtrlCreateButton("Check All", 75, 432, 50, 25, 0)
    $Button4 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $Button5 = GUICtrlCreateButton("export2", 336, 400, 59, 25, 0)
    $Button6 = GUICtrlCreateButton("export3", 552, 400, 59, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _insert()
    Case $Button2
    _pingitem()
    case $Button3
    _pingall()

    EndSwitch
    WEnd

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

    Func _insert()
    $string = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    $array = StringSplit(FileRead($string),@CR)
    For $i = 0 To UBound($array) - 1
    GUICtrlCreateListViewItem($array[$i], $ListView1)
    Next
    EndFunc

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

    Func _pingall()
    local $icount = _GUICtrlListView_GetItemCount($ListView1)
    for $i = 0 to $icount -1
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1, $i)
    ;consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    EndSwitch
    next
    EndFunc

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

    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    EndSwitch
    EndFunc

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

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • inhalt der pc.txt

    Pc1
    pc2
    pc3
    pc4
    pc5
    pc6
    pc7
    pc8

    Edit1:
    Hey,

    bin jetzt bei meiner export funtion


    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <array.au3>
    #Include <File.au3>
    #Include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>

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

    Local $ad, $array1, $x = 0

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Ping Tool", 700, 510, 257, 323)
    $ListView1 = GUICtrlCreateListView("Hostname", 24, 48, 170, 342)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 160) ; setzt die 1. Spalte des Listviews auf 160 Pixel Breite
    $ListView2 = GUICtrlCreateListView("Online", 224, 48, 170, 342)
    $ListView3 = GUICtrlCreateListView("Offline", 424, 48, 186, 342)
    $Button1 = GUICtrlCreateButton("PC`s Laden", 24, 400, 60, 25, 0)
    $Button2 = GUICtrlCreateButton("Check", 24, 432, 50, 25, 0)
    $Button3 = GUICtrlCreateButton("Check All", 75, 432, 50, 25, 0)
    $Button4 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $Button5 = GUICtrlCreateButton("export2", 336, 400, 59, 25, 0)
    $Button6 = GUICtrlCreateButton("export3", 552, 400, 59, 25, 0)
    $Button7 = GUICtrlCreateButton("Clear Host", 80, 20, 59, 25, 0)
    $Button8 = GUICtrlCreateButton("Clear Online", 270, 20, 65, 25, 0)
    $Button9 = GUICtrlCreateButton("Clear Offline", 490, 20, 65, 25, 0)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _insert()
    Case $Button2
    _pingitem()
    case $Button3
    _pingall()
    Case $Button4
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, '(*.txt)')
    $hWnd = $listview1
    FileWrite($path , _GUICtrlListView_Export($hWnd, 1, ',')


    EndSwitch
    WEnd

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

    Func _insert()
    $string = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    _GUICtrlListView_DeleteAllItems($ListView1)
    _GUICtrlListView_DeleteAllItems($ListView2)
    _GUICtrlListView_DeleteAllItems($ListView3)
    $array = StringSplit(FileRead($string),@CR)
    For $i = 0 To UBound($array) - 1
    GUICtrlCreateListViewItem($array[$i], $ListView1)
    Next
    EndFunc

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

    Func _pingall()
    _GUICtrlListView_DeleteAllItems($ListView2)
    _GUICtrlListView_DeleteAllItems($ListView3)
    local $icount = _GUICtrlListView_GetItemCount($ListView1)
    for $i = 0 to $icount -1
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1, $i)
    ;consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    EndSwitch
    next
    EndFunc

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

    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    EndSwitch
    EndFunc

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

    Func _GUICtrlListView_Export($hWnd, $exType=0, $Delim=Default) ; $exType=0 Array / $exType=1 String
    If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
    Local $row = _GUICtrlListView_GetItemCount($hWnd)
    If $exType Then
    If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
    Local $sOut = ''
    For $i = 0 To $row -1
    $sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
    Next
    If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
    Return $sOut
    EndIf
    Local $col = _GUICtrlListView_GetColumnCount($hWnd)
    Local $aOut[$row][$col]
    If $col = 1 Then
    ReDim $aOut[$row]
    For $i = 0 To UBound($aOut) -1
    $aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
    Next
    Return $aOut
    EndIf
    For $i = 0 To UBound($aOut) -1
    For $j = 0 To UBound($aOut, 2) -1
    $aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
    Next
    Next
    Return $aOut
    EndFunc

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


    ich vermute den fehler bzw. ich weiss das der fehler zeile 44 - 47 ist kan den fehler leider nicht finden kann mir jemand helfen?

    Spoiler anzeigen
    [autoit]

    Case $Button4
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, '(*.txt)')
    $hWnd = $listview1
    FileWrite($path , _GUICtrlListView_Export($hWnd, 1, ',')

    [/autoit]

    Meinen Ping fehler habe ich immernoch ;)

    Edit2:
    habe jetzt nur noch folgende fehler:
    ping_tool\v07.au3(53,59) : ERROR: syntax error
    FileWrite($path, _GUICtrlListView_Export($hWnd, 1, ',')
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    ping_tool\v07.au3(39,12) : ERROR: _insert(): undefined function.
    _insert()
    ~~~~~~~~^
    und mein Pingfehler das in die falsche listview schreibt also mein "denkfehler" den habe ich immernoch???

    Würde mich freuen wenn mir jemand sagen würde was ich falsch gemacht habe

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <array.au3>
    #Include <File.au3>
    #Include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>

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

    Local $ad, $array1, $x = 0

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Ping Tool", 700, 510, 257, 323)
    $ListView1 = GUICtrlCreateListView("Hostname", 24, 48, 170, 342)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 160) ; setzt die 1. Spalte des Listviews auf 160 Pixel Breite
    $ListView2 = GUICtrlCreateListView("Online", 224, 48, 170, 342)
    $ListView3 = GUICtrlCreateListView("Offline", 424, 48, 186, 342)
    $Button1 = GUICtrlCreateButton("PC`s Laden", 24, 400, 60, 25, 0)
    $Button2 = GUICtrlCreateButton("Check", 24, 432, 50, 25, 0)
    $Button3 = GUICtrlCreateButton("Check All", 75, 432, 50, 25, 0)
    $Button4 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $Button5 = GUICtrlCreateButton("export2", 336, 400, 59, 25, 0)
    $Button6 = GUICtrlCreateButton("export3", 552, 400, 59, 25, 0)
    $Button7 = GUICtrlCreateButton("Clear Host", 80, 20, 59, 25, 0)
    $Button8 = GUICtrlCreateButton("Clear Online", 270, 20, 65, 25, 0)
    $Button9 = GUICtrlCreateButton("Clear Offline", 490, 20, 65, 25, 0)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _insert()
    Case $Button2
    _pingitem()
    case $Button3
    _pingall()
    Case $Button4
    _export()

    EndSwitch
    WEnd

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

    Func _export()
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, '(*.txt)')
    $hWnd = $listview1
    FileWrite($path, _GUICtrlListView_Export($hWnd, 1, ',')

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

    EndFunc

    Func _insert()
    $string = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    _GUICtrlListView_DeleteAllItems($ListView1)
    _GUICtrlListView_DeleteAllItems($ListView2)
    _GUICtrlListView_DeleteAllItems($ListView3)
    $array = StringSplit(FileRead($string),@CR)
    For $i = 0 To UBound($array) - 1
    GUICtrlCreateListViewItem($array[$i], $ListView1)
    Next
    EndFunc

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

    Func _pingall()
    _GUICtrlListView_DeleteAllItems($ListView2)
    _GUICtrlListView_DeleteAllItems($ListView3)
    local $icount = _GUICtrlListView_GetItemCount($ListView1)
    for $i = 0 to $icount -1
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1, $i)
    ;consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    EndSwitch
    next
    EndFunc

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

    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    EndSwitch
    EndFunc

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

    Func _GUICtrlListView_Export($hWnd, $exType=0, $Delim=Default) ; $exType=0 Array / $exType=1 String
    If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
    Local $row = _GUICtrlListView_GetItemCount($hWnd)
    If $exType Then
    If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
    Local $sOut = ''
    For $i = 0 To $row -1
    $sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
    Next
    If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
    Return $sOut
    EndIf
    Local $col = _GUICtrlListView_GetColumnCount($hWnd)
    Local $aOut[$row][$col]
    If $col = 1 Then
    ReDim $aOut[$row]
    For $i = 0 To UBound($aOut) -1
    $aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
    Next
    Return $aOut
    EndIf
    For $i = 0 To UBound($aOut) -1
    For $j = 0 To UBound($aOut, 2) -1
    $aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
    Next
    Next
    Return $aOut
    EndFunc

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

    Edit3:
    Keiner eine idee???

    bernd670: Beiträge zusammengefasst!

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    3 Mal editiert, zuletzt von bernd670 (13. Juni 2009 um 19:19)

  • Hey,

    ich versuche mir ja mühe zu geben aber was ist hier falsch ich kriege es nicht raus??

    [autoit]

    Func _export()
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, '(*.txt)')
    $hWnd = $listview1
    FileWrite($path, _GUICtrlListView_Export ($hWnd, 1, ',')

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

    EndFunc

    [/autoit]


    aber auch so wie in der hilfe beschrieben geht es nicht

    [autoit]

    Func _export()
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, '(*.txt)')
    $hWnd = $listview1
    FileWrite($path, _GUICtrlListView_Export $hWnd, 1, ',')

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

    EndFunc

    [/autoit]

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    Einmal editiert, zuletzt von subzero007 (4. Juni 2009 um 09:39)

  • ja habe ich bin schon gross kann zählen sind 3 ;)
    kannst du mir sagen was falsch ist?

    wenn ich dann draus dies mache:
    FileWrite($path, _GUICtrlListView_Export $hWnd, 1, ',')

    kriege ich folgende fehler meldung??
    ping_tool\v09.au3(53,45) : ERROR: syntax error
    FileWrite($path, _GUICtrlListView_Export $hWnd
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    ping_tool\v09.au3(53,58) : ERROR: FileWrite() [built-in] called with wrong number of args.
    FileWrite($path, _GUICtrlListView_Export $hWnd, 1, ',')
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    ping_tool\v09.au3 - 2 error(s), 0 warning(s)

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • also wenn überhaupt, dann so :)

    [autoit]


    FileWrite($path, _GUICtrlListView_Export($hWnd, 1, ','))

    [/autoit]
  • joo... ist mir auch gerade aufgefallen ;)
    so sieht jetzt meine fuktion jetzt aus aber wenn ich dann auf speichern gehe stürtzt es ab müss noch wohl was falsch sein??
    kriege folgenden fehler
    ping_tool\v09.au3 (57) : ==> Invalid file filter given.:
    das ist meine zeile 57:
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, '*.csv')


    [autoit]


    Func _export()

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

    $hWnd = $listview1
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, '*.txt')
    If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
    FileWrite($path, _GUICtrlListView_Export($hWnd, 1, ','))

    EndFunc

    [/autoit]

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • steht doch alles da -> Invalid file filter given

    [autoit]

    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, "CSV Datei (*.csv)")

    [/autoit]
  • ok zwei letzte fragen habe ich noch?
    die datei die erzeugt wird hat keine endung
    also wenn ich speichere gebe ich an z.b. test gehe dann auf >speicher
    dann erstellt er mir eine datei test ohne datei eindung also das .csv fehlt?
    oder geht das nicht muss, ich dann die endung mit angeben?

    und das letzte wo habe ich hier einen denkfehler oder syntaxfehler es landet alles in $listview3 eine idee?

    [autoit]


    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    EndSwitch
    EndFunc

    [/autoit]

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    Einmal editiert, zuletzt von subzero007 (4. Juni 2009 um 10:47)