Ping Tool

  • [autoit]

    FileSaveDialog

    [/autoit]

    liefert dir ja nur einen pfad zurück... woher soll

    [autoit]

    FileWrite

    [/autoit]

    denn wissen, was für eine dateiendung die datei haben soll???

  • ok das habe ich verstanden;-)

    kannst du mir nochhier helfen dann wird auch dieses thema geschlossen es landet alles in Offline "$listview3" obwohl wenn offline es in Online landen sollte "$listview2" 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."

  • wow, werd aus deinem satz nicht schlau :D

    Zitat

    es landet alles in Offline "$listview3" obwohl wenn offline es in Online landen sollte "$listview2"

    wtf?

  • Wenn ich einen rechner anpinge der Online ist landet er in $listview3
    wenn ich einen rechner anpinge der offline ist landet er in $listview3

    unter dos ping habe ich es geprüft,
    die rechner sind online aber landen trotzdem in meiner $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]


    kannst du mir einen kleinen tipp geben wie ich die dateiendung mitgebe habe kein beispiel gefunden

    [autoit]

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

    [/autoit]

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

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

  • schon besser, danke :)

    also wenn alle online-hosts in die $listView2 und alle offline-hosts in die $listView3 sollen (stimmt doch oder?) dann müsste die funktion so aussehen (hab die funktion noch ein bisschen formatiert bezüglich lesbarkeit)

    [autoit]


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

    [/autoit]

    EDIT: zur dateiendung....

    [autoit]

    FileWrite($path & ".csv", _GUICtrlListView_Export($hWnd, 1, ','))

    [/autoit]

    ungetestet!

  • super das mit der dateiendung klappt aber mein listview problem besteht immernoch, jetzt umgekehrt;-)

    alle clients landen in Online obwohl vielle auch offline sind ;(

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

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

  • Der genaue Error code ist egal?

    [autoit]

    Func _pingitem()
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    ;consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    if $var = 0 then
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3) ;für offline
    Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2) ;für jeden Rückgabewert ohne @error (online)
    endif
    EndFunc

    [/autoit]

    Wenn das nicht hilft muss du genau den Rückgabewert der Ping() Funktion untersuchen (z.B. per msgbox).

  • nuts
    jetzt landen alle in Offline ???

    Habe noch etwas;-)
    In der Listview in der erste zeile,
    erscheint die anzahl an zeilen"Pc's" wie kriege ich diesen wert in ein Label rein?
    Mit GUICtrlSetData das weiss ich mitlerweile aber wie lösche ich diessen wert oder kann man das viel elegantzer lössen?
    z.b die anzahl an clients hier reinschreiben $ListView2 = GUICtrlCreateListView("Online %anzahl Client&", 224, 48, 170, 342)
    /\/\ /\

    Eine idee?

    Edit:
    Habe es mal so getestet Kriege bei allen den Offline wert zurück?
    Unter dos sind die rechner Online, eine idee?

    [autoit]

    Func _pingitem()
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    ;consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    if $var = 0 then
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3) ;für offline
    Msgbox(0,"Status","Offline, Antwortzeit war:" & $var)
    Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2) ;für jeden Rückgabewert ohne @error (online)
    Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    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:20)

  • stehen die pc-namen auch richtig in dem array ($ListViewText)

    [autoit]


    Func _pingitem()
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    _ArrayDisplay($ListViewText)
    ;consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    if $var = 0 then
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3) ;für offline
    Msgbox(0,"Status","Offline, Antwortzeit war:" & $var)
    Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2) ;für jeden Rückgabewert ohne @error (online)
    Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    endif
    EndFunc

    [/autoit]
  • Kriege folgende listview autoit.de/wcf/attachment/5014/ scheint doch mein Item zu laufen oder?
    Mit der ip landet auch alles in offline könnt ihr das script mal bei euch testen?
    127.0.0.1 zeigt er auch offline an ?? eine idee?
    hier die msg zu 127.0.0.1 autoit.de/wcf/attachment/5015/


    [autoit]

    Func _pingitem()
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    _ArrayDisplay($ListViewText)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    if $var = 0 then
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3) ;für offline
    Msgbox(0,"Status","Offline, Antwortzeit war:" & $var)
    Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2) ;für jeden Rückgabewert ohne @error (online)
    Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    endif
    EndFunc

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

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

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

    2 Mal editiert, zuletzt von subzero007 (4. Juni 2009 um 13:55)

  • Aus der Hilfe:

    [autoit]

    $var = Ping("127.0.0.1",250)
    If $var Then; also possible: If @error = 0 Then ...
    Msgbox(0,"Status","Online, roundtrip was:" & $var)
    Else
    Msgbox(0,"Status","An error occured with number: " & @error)
    EndIf

    [/autoit]

    Ergibt bei mir das erwartete Ergebnis ("online")!

    In deinem Array ist $ListViewText[1] = "test"
    Ein ping auf "test" führt wohl zu offline ... (logisch) 8)

  • das habe ich auch bereits getestet,
    kann es sein das meine liste die ich in liestview reinlade leerzeichen nach dem Pc namen hat, daher der fehler auftretten tut?
    In der txt habe keine leerzeichen aber kann es sein das mein item leerzeichen hat hinter dem Hostname?
    wie kann ich das prüfen?

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

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

  • Möglich ist vieles. :rolleyes:

    Deine _Insert Funktion ist mir eh unklar (kenne aber auch die .txt nicht PC1, PC2, PC3 usw. wird ja wohl nicht drin stehen - sonst wundert mich das Ergebnis nicht!)

    hier mal eine Funktion aus Oscars Listview Beispiel zum einlesen

    [autoit]

    Func Load() ; Datenbank-Datei laden
    _GUICtrlListView_DeleteAllItems($hLVHandle) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
    Local $sItem
    Local $hFile = FileOpen($sDBFile, 0) ; Datei zum lesen öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($hLVHandle) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $hListView) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($hLVHandle) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    EndIf
    EndFunc ;==>Load

    [/autoit]

    P.S. etwas mehr Mitarbeit bitte. :P
    Wenn Ping("127.0.0.1") erfolgreich ist, dann trage doch mal nur 127.0.0.1 in deine .txt Datei ein und teste dein Skript!
    Sollte dann Ping($ListViewText[1]) nicht funktionieren liegt doch der Schluss nahe, dass etwas mit $ListViewText[1] nicht stimmt!

  • daher bin ich ja auf den schluss gekommen das mein item falsch ist
    den die 127.0.0.1 sagt er auch fehler 4

    Edit:
    Was mache ich falsch ??

    [autoit]

    Func Load() ; Datenbank-Datei laden
    _GUICtrlListView_DeleteAllItems($listview1) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
    Local $sItem
    $hFile = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    ;Local $hFile = FileOpen($sDBFile, 0) ; Datei zum lesen öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($listview1) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $listview1) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($listview1) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    EndIf
    EndFunc ;==>Load

    [/autoit]

    aktueller code

    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
    _Load()
    Case $Button2
    _pingitem()
    case $Button3
    _pingall()
    Case $Button4
    _export()

    EndSwitch
    WEnd

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

    Func _export()

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

    EndFunc

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

    Func Load() ; Datenbank-Datei laden
    _GUICtrlListView_DeleteAllItems($listview1) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
    Local $sItem
    $hFile = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    ;Local $hFile = FileOpen($sDBFile, 0) ; Datei zum lesen öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($listview1) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $listview1) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($listview1) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    EndIf
    EndFunc ;==>Load

    [/autoit] [autoit][/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][/autoit] [autoit]

    Func _Load() ; Datenbank-Datei laden

    _GUICtrlListView_DeleteAllItems($listview1) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
    $string = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4 )
    FileOpen($string, 0) ; Datei zum lesen öffnen
    If $string <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($listview1) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($string) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $ListView1) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($listview1) ; Listview wieder freigeben
    FileClose($string) ; Datei schließen
    EndIf
    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)
    consolewrite (Ping($ListViewText[1],250))
    $var = Ping($ListViewText[1],250)
    If $var Then; Es geht auch If @error = 0 Then ...
    Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    Else
    Msgbox(0,"Status","Es ist ein Fehler mit der Nummer " & @error & " aufgetreten.")
    EndIf

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

    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] [autoit][/autoit] [autoit][/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:22)

  • 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
    _Load()
    Case $Button2
    _pingitem()
    Case $Button3
    _pingall()
    Case $Button4
    _export()

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

    EndSwitch
    WEnd

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

    Func _export()

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

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

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

    EndFunc ;==>_export

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

    Func _Load() ; Datenbank-Datei laden
    _GUICtrlListView_DeleteAllItems($ListView1) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
    Local $sItem
    $FileOpenDialog = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4)
    Local $hFile = FileOpen($FileOpenDialog, 0) ; Datei zum lesen öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($ListView1) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $ListView1) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($ListView1) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    EndIf
    EndFunc ;==>_Load

    [/autoit] [autoit][/autoit] [autoit][/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 ;==>_insert

    [/autoit] [autoit][/autoit] [autoit][/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)
    If $var Then; Es geht auch If @error = 0 Then ...
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)

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

    Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)

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

    EndIf
    Next
    EndFunc ;==>_pingall

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

    Func _pingitem()

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

    $ListViewText = _GUICtrlListView_GetItemTextArray($ListView1)
    ;consolewrite($ListViewText[1]&@CRLF)
    ConsoleWrite(Ping($ListViewText[1], 250))
    $var = Ping($ListViewText[1], 250)
    If $var Then; Es geht auch If @error = 0 Then ...
    MsgBox(0, "Status", "Online, Antwortzeit war:" & $var)
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)

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

    Else
    MsgBox(0, "Status", "Es ist ein Fehler mit der Nummer " & @error & " aufgetreten.")
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)

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

    EndIf

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

    EndFunc ;==>_pingitem

    [/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 ;==>_GUICtrlListView_Export

    [/autoit]

    So.
    und jetzt mach dir eine .txt Datei mit folgendem Inhalt

    Code
    127.0.0.1
    test

    Bei 127.0.0.1 kommts ins Listview online und bei test ins Listview offline.

  • Es läuft danke für deine hilfe.............................
    eine aller letzte frage habe ich noch wollte in einem label die anzahl der clients schreiben
    hast du eine idee wie ich die clients in der listview zählen kann und die anzahl in ein label packen kann?

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

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

  • Hey,
    bin jetzt endgültig fertig Funktioniert auch:
    will aber 2 kleine sachen einbauen vielleicht hat jemand da eine idee?

    1. Stop Botton falls ich eine längere liste von rechner pinge will ich auch abrechen können ohne die Gui abzuschiessen zu müssen?
    2. hat jemand eine idee wie ich ein Schnelleren Ping hinkriege wo ich die rechner schneller Prüfen kann?

    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)
    GUICtrlSendMsg($ListView2, $LVM_SETCOLUMNWIDTH, 0, 160)
    $ListView3 = GUICtrlCreateListView("Offline", 424, 48, 186, 342)
    GUICtrlSendMsg($ListView3, $LVM_SETCOLUMNWIDTH, 0, 160)
    $hostladen = GUICtrlCreateButton("PC`s Laden", 24, 400, 60, 25, 0)
    $check = GUICtrlCreateButton("Check", 24, 432, 50, 25, 0)
    $stop = GUICtrlCreateButton("Stop", 24, 460, 50, 25, 0)

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

    $checkall = GUICtrlCreateButton("Check All", 75, 432, 50, 25, 0)
    $export1 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $export2 = GUICtrlCreateButton("export2", 336, 400, 59, 25, 0)
    $export3 = GUICtrlCreateButton("export3", 552, 400, 59, 25, 0)
    $chost = GUICtrlCreateButton("Clear Host", 80, 20, 59, 25, 0)

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

    $countoffline = GUICtrlCreateLabel("", 575, 20, 65, 25)
    $conline = GUICtrlCreateButton("Clear Online", 270, 20, 65, 25, 0)
    $countonline = GUICtrlCreateLabel("", 360, 20, 65, 25)

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

    $coffline = GUICtrlCreateButton("Clear Offline", 490, 20, 65, 25, 0)
    $counthost = GUICtrlCreateLabel("", 160, 20, 65, 25)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hostladen
    _Load()
    Case $check

    _pingitem()
    case $checkall
    _pingall()
    Case $coffline
    _GUICtrlListView_DeleteAllItems($ListView3)
    Case $conline
    _GUICtrlListView_DeleteAllItems($ListView2)
    Case $chost

    _GUICtrlListView_DeleteAllItems($ListView1)

    case $export1
    _export1()
    case $export2
    _export2()
    case $export3
    _export2()

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

    EndSwitch
    WEnd

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

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

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

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

    EndFunc

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

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

    ;FileWrite($path, _GUICtrlListView_Export ($hWnd, 1, ',')
    $hWnd = $listview2
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, "CSV Datei (*.csv)")
    If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
    FileWrite($path & ".csv", _GUICtrlListView_Export($hWnd, 1, ','))

    EndFunc

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

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

    ;FileWrite($path, _GUICtrlListView_Export ($hWnd, 1, ',')
    $hWnd = $listview3
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, "CSV Datei (*.csv)")
    If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
    FileWrite($path & ".csv", _GUICtrlListView_Export($hWnd, 1, ','))

    EndFunc


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


    Func _Load() ; Datenbank-Datei laden
    _GUICtrlListView_DeleteAllItems($ListView1) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
    _count()
    Local $sItem
    $FileOpenDialog = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4)
    Local $hFile = FileOpen($FileOpenDialog, 0) ; Datei zum lesen öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($ListView1) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $ListView1) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($ListView1) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    _count()
    EndIf
    EndFunc ;==>_Load

    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()
    _count()
    _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)
    _count()
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    _count()
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    _count()
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    _count()
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    _count()
    EndSwitch
    next
    EndFunc

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

    Func _pingitem()
    _count()
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],100)
    If $var Then
    GUICtrlCreateListViewItem($ListViewText[1] & " online Antwortzeit: " & $var , $ListView2)
    _count()
    ;Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    Else
    GUICtrlCreateListViewItem($ListViewText[1] & " offline Fehler: " & @error , $ListView3)
    _count()
    ;Msgbox(0,"Status","Es ist ein Fehler mit der Nummer " & @error & " aufgetreten.")
    EndIf
    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]

    Func _count()
    $lv1count = _GUICtrlListView_GetItemCount($ListView1)
    $lv2count = _GUICtrlListView_GetItemCount($ListView2)
    $lv3count = _GUICtrlListView_GetItemCount($ListView3)
    GUICtrlSetData($counthost, $lv1count)
    GUICtrlSetData($countonline, $lv2count)
    GUICtrlSetData($countoffline, $lv3count)

    EndFunc

    [/autoit]

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

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

  • Punkt1: Mit solchen Problemen habe ich regelmäßig auch zu kämpfen.
    Ob sich das mit autoit überhaupt so ganz optimal lösen lässt? Schließlich wird eben Zeile für Zeile das Skript interpretiert.
    Hier mal eine Möglichkeit.

    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>
    #include <WindowsConstants.au3>

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

    Local $ad, $array1, $x = 0
    global $dummy = 0 ;um die Pingall Schleife zu verlassen wird dieser Wert später auf 1 gesetzt (s. WM_Command & _Pingall )
    #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)
    GUICtrlSendMsg($ListView2, $LVM_SETCOLUMNWIDTH, 0, 160)
    $ListView3 = GUICtrlCreateListView("Offline", 424, 48, 186, 342)
    GUICtrlSendMsg($ListView3, $LVM_SETCOLUMNWIDTH, 0, 160)
    $hostladen = GUICtrlCreateButton("PC`s Laden", 24, 400, 60, 25, 0)
    $check = GUICtrlCreateButton("Check", 24, 432, 50, 25, 0)
    $stop = GUICtrlCreateButton("Stop", 24, 460, 50, 25, 0)

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

    $checkall = GUICtrlCreateButton("Check All", 75, 432, 50, 25, 0)
    $export1 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $export2 = GUICtrlCreateButton("export2", 336, 400, 59, 25, 0)
    $export3 = GUICtrlCreateButton("export3", 552, 400, 59, 25, 0)
    $chost = GUICtrlCreateButton("Clear Host", 80, 20, 59, 25, 0)

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

    $countoffline = GUICtrlCreateLabel("", 575, 20, 65, 25)
    $conline = GUICtrlCreateButton("Clear Online", 270, 20, 65, 25, 0)
    $countonline = GUICtrlCreateLabel("", 360, 20, 65, 25)

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

    $coffline = GUICtrlCreateButton("Clear Offline", 490, 20, 65, 25, 0)
    $counthost = GUICtrlCreateLabel("", 160, 20, 65, 25)

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

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hostladen
    _Load()
    Case $check

    _pingitem()
    case $checkall
    _pingall()
    Case $coffline
    _GUICtrlListView_DeleteAllItems($ListView3)
    Case $conline
    _GUICtrlListView_DeleteAllItems($ListView2)
    Case $chost

    _GUICtrlListView_DeleteAllItems($ListView1)

    case $export1
    _export1()
    case $export2
    _export2()
    case $export3
    _export2()

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

    EndSwitch
    WEnd

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

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

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

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

    EndFunc

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

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

    ;FileWrite($path, _GUICtrlListView_Export ($hWnd, 1, ',')
    $hWnd = $listview2
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, "CSV Datei (*.csv)")
    If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
    FileWrite($path & ".csv", _GUICtrlListView_Export($hWnd, 1, ','))

    EndFunc

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

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

    ;FileWrite($path, _GUICtrlListView_Export ($hWnd, 1, ',')
    $hWnd = $listview3
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, "CSV Datei (*.csv)")
    If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
    FileWrite($path & ".csv", _GUICtrlListView_Export($hWnd, 1, ','))

    EndFunc

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


    Func _Load() ; Datenbank-Datei laden
    _GUICtrlListView_DeleteAllItems($ListView1) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
    _count()
    Local $sItem
    $FileOpenDialog = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4)
    Local $hFile = FileOpen($FileOpenDialog, 0) ; Datei zum lesen öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($ListView1) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $ListView1) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($ListView1) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    _count()
    EndIf
    EndFunc ;==>_Load

    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()
    _count()
    _GUICtrlListView_DeleteAllItems($ListView2)
    _GUICtrlListView_DeleteAllItems($ListView3)
    local $icount = _GUICtrlListView_GetItemCount($ListView1)
    for $i = 0 to $icount -1
    if $dummy = 1 then
    $dummy = 0
    return
    endif
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1, $i)
    ;consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],250)
    Switch @error
    Case 1
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    _count()
    Case 2
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    _count()
    Case 3
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    _count()
    Case 4
    GUICtrlCreateListViewItem($ListViewText[1], $ListView3)
    _count()
    case Else
    GUICtrlCreateListViewItem($ListViewText[1], $ListView2)
    _count()
    EndSwitch
    next
    EndFunc

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

    Func _pingitem()
    _count()
    $ListViewText = _GUICtrlListView_GetItemTextArray($listview1)
    consolewrite($ListViewText[1]&@CRLF)
    $var = Ping($ListViewText[1],100)
    If $var Then
    GUICtrlCreateListViewItem($ListViewText[1] & " online Antwortzeit: " & $var , $ListView2)
    _count()
    ;Msgbox(0,"Status","Online, Antwortzeit war:" & $var)
    Else
    GUICtrlCreateListViewItem($ListViewText[1] & " offline Fehler: " & @error , $ListView3)
    _count()
    ;Msgbox(0,"Status","Es ist ein Fehler mit der Nummer " & @error & " aufgetreten.")
    EndIf
    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]

    Func _count()
    $lv1count = _GUICtrlListView_GetItemCount($ListView1)
    $lv2count = _GUICtrlListView_GetItemCount($ListView2)
    $lv3count = _GUICtrlListView_GetItemCount($ListView3)
    GUICtrlSetData($counthost, $lv1count)
    GUICtrlSetData($countonline, $lv2count)
    GUICtrlSetData($countoffline, $lv3count)

    EndFunc

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
    If Not IsHWnd($stop) Then $hWndbutton = GUICtrlGetHandle($stop)
    $hWndFrom = $ilParam
    Switch $hWndFrom
    Case $stop, $hWndbutton
    $dummy = 1
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND (Bugfix - http://www.autoit.de)

    [/autoit]

    Punkt2: Ist dabei nicht Windows die eigentliche Bremse?