1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. emilio20

Beiträge von emilio20

  • Webcam Bild Automatisch speichern

    • emilio20
    • 2. Mai 2014 um 22:35

    Hallo
    gibt es eine Möglichkeit von einer IP Cam einen Live Stream in GUI anzuzeigen ?

  • Webcam Bild Automatisch speichern

    • emilio20
    • 1. Mai 2014 um 19:02

    Hallo
    danke für die Antwort.
    habe es mit dem Befehl versucht. script hat auch soweit bei Webseiten funktioniert. Leider wird kein Quellcode beid der Camera angezeigt.
    Ich dachte es gibt eine Möglichkeit die universell bei cgi zu nutzen. Somit wäre es ja besser wenn ich im vorfeld herausfinde wie die jpg adresse ist.

    Als Webcam verwend ich eine
    http://www.pollin.de/shop/dt/NDE3Nz…1_Pan_Tilt.html

    leider könnte ich noch nicht herausfinde wie die jpg adresse des Kamerabildes ist.

  • Webcam Bild Automatisch speichern

    • emilio20
    • 30. April 2014 um 18:22

    Hallo
    ich habe mir ja ein Prgramm erstellt mit dem ich Bilder von einer IP Cam speichern kann.
    Jetzt wollte ich ein Bild mit der endung cgi speichern . Dies geht aber nicht. Was müsste ich in der Funktion ändern das ich jpg als auch cgi Bilder Speichern kann als jpg ?

    jpg Pfad = "http://192.168.178.24/Jpeg/CamImg*.jpg"
    cgi Pfad = http://192.168.178.29/snapshot.cgi


    [autoit]


    Func _BildAufnahmen()

    ; Neues Bild in Zwischenspeicher Speichern
    InetGet($Pfad, @ScriptDir & "\Bilder\Bild.jpg",0)
    ;Bilder verschieben
    For $i = $Anzahl to 2 Step -1
    FileDelete(@ScriptDir & "\Bilder\Bild"&$i&".jpg")
    FileMove(@ScriptDir & "\Bilder\Bild"&$i-1&".jpg",@ScriptDir & "\Bilder\Bild"&$i&".jpg")
    Next
    ; Neues Bild in Bild1 Verschieben
    FileMove(@ScriptDir & "\Bilder\Bild.jpg",@ScriptDir & "\Bilder\Bild1.jpg")
    ;Zwiachenspeicher Löschen
    FileDelete(@ScriptDir & "\Bilder\Bild.jpg")
    $NeueAufnahme=1

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

    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Bild wir im falschen GUI angezeigt

    • emilio20
    • 3. Januar 2014 um 21:38

    Hallo
    habe einfach die Funktion GUISetState getauscht

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

    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $hConfigGui)
    GUISetState(@SW_SHOW, $gui1)

    Case $Buttonspeichern
    SaveConfigGui()
    LoadConfigGui()
    GUISetState(@SW_HIDE, $hConfigGui)
    GUISetState(@SW_SHOW, $gui1)

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Bild wir im falschen GUI angezeigt

    • emilio20
    • 2. Januar 2014 um 22:50

    Hallo
    ich habe ein Programm erstellt um Bilder einer IP Cam anzuzeigen.
    Ich verwenden 2 GUI das Haupt GUI und ein GUI für einstellungen.
    Wenn ich das Programm Starte kann nich ganz normal die Bilder durchschalten. Wenn ich auf Einstellung gehe und dies wieder schließe wird das Aktuelle Bild um GUI Einstellungen angezeigt. Wie kann ich dies verhindern ?

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <Func.au3>

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

    ;********************************************GUI 1 ********************************************
    $gui1=GUICreate ("Kamerabildspeicher",500,300,500,260)
    GUISetOnEvent(-3, "_Exit")
    GUISetState (@sw_show)
    $Group = GUICtrlCreateGroup ("Bild",8,8,370,280)
    $Zeit = GUICtrlCreateLabel ("Zeit" , 15,23,180,20)
    Global $Rand = 1
    $Buttonaendern = GUICtrlCreateButton ("Nächstes Bild", 400,20,90,35)
    $Buttonvorher = GUICtrlCreateButton ("Vorheriges Bild",400,60,90,35)
    $ButtonBildAufnehmen = GUICtrlCreateButton ("Bild Aufnahmen", 400,100,90,35)
    $Buttoeinstellung = GUICtrlCreateButton ("Einstellung", 400,140,90,35)

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

    ;*****************************************GUI Einstellung****************************************
    $hConfigGui = GUICreate("Edit Connection", 300, 200)
    GUISetOnEvent(-4, "_CancelConfigGui")
    GUICtrlCreateLabel("Geben Sie die URL Adresse der Kamera an",20,10,250,20)
    GLOBAL $GUIPfad = GUICtrlCreateInput ("Datenpfad",20,30,250,20)
    GUICtrlCreateLabel("Geben Sie die Anzahl der zu Speichernden Bilder an",20,70,250,20)
    GLOBAL $GUIAnzahl = GUICtrlCreateInput ("10",20,90,100,20,$ES_NUMBER)
    $Buttonspeichern = GUICtrlCreateButton ("Speichern",100,150,100,35)

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

    ;Zeige GUI 1 an
    GUISetState (@sw_show,$gui1)

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

    ;*********************************************************************************************
    RandPic ()
    LoadConfigGui()

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

    While 1
    $msg = GUIGetMsg(1)
    Switch $msg[1] ; window-handle
    Case $gui1
    Switch $msg[0] ; event/control-handle
    Case $Buttoeinstellung
    LoadConfigGui()
    GUISetState(@SW_SHOW, $hConfigGui)
    ;GUISetState(@SW_HIDE, $gui1)
    Case $Buttonaendern
    IF $Rand > $Anzahl-1 Then
    $Rand = 1
    Else
    $Rand = $Rand +1
    EndIf
    RandPic ()


    Case $Buttonvorher
    IF $Rand < 2 Then
    $Rand = 1
    ELSE
    $Rand = $Rand -1
    EndIf
    RandPic ()


    Case $ButtonBildAufnehmen
    _BildAufnahmen()
    RandPic ()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Case $hConfigGui
    Switch $msg[0]

    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_SHOW, $gui1)
    GUISetState(@SW_HIDE, $hConfigGui)
    Case $Buttonspeichern
    SaveConfigGui()
    LoadConfigGui()
    GUISetState(@SW_SHOW, $gui1)
    GUISetState(@SW_HIDE, $hConfigGui)

    EndSwitch
    EndSwitch
    WEnd

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

    Func RandPic ()

    GUICtrlCreatePic ( @ScriptDir & "\Bilder\Bild"&$Rand&".jpg",15,24,350,250)
    Local $t = FileGetTime(@ScriptDir & "\Bilder\Bild"&$Rand&".jpg", 2)
    If Not @error Then
    Local $yyyymd = " Tag "& $t[2] & "." & $t[1]&"." & $t[0] & " Zeit: " & $t[3]& ":" & $t[4] & ":" & $t[5]
    GUICtrlSetData ($Group,"Bild"&$Rand&"."&$yyyymd)
    EndIf

    EndFunc

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

    ;Werte Speicherin
    Func SaveConfigGui()
    $Pfad = GUICtrlRead ($GUIPfad)
    $Anzahl = GUICtrlRead ($GUIAnzahl)
    _SaveConfigGui()

    EndFunc

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

    ;Werte Laden
    Func LoadConfigGui()
    _LoadConfigGui()
    GUICtrlSetData ($GUIPfad,$Pfad)
    GUICtrlSetData ($GUIAnzahl,$Anzahl)

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
    Spoiler anzeigen
    [autoit]


    ;Funktionen
    Global $Pfad
    Global $Anzahl

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

    ;Funktion Bild Aufnahmen
    Func _BildAufnahmen()
    ;Werte Aus INT Laden


    ;Bilder verschieben
    For $i = $Anzahl to 2 Step -1
    FileDelete(@ScriptDir & "\Bilder\Bild"&$i&".jpg")
    FileMove(@ScriptDir & "\Bilder\Bild"&$i-1&".jpg",@ScriptDir & "\Bilder\Bild"&$i&".jpg")
    Next
    $i=1
    ; Neues Bild Speichern
    InetGet($Pfad, @ScriptDir & "\Bilder\Bild"&$i&".jpg",1)
    EndFunc

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

    ;Input Werte Speicherin in int
    Func _SaveConfigGui()
    $_save = $Pfad
    IniWrite(@ScriptDir & "\setup.ini", "Pfad", "Adresse", $_save)
    $_save = $Anzahl
    IniWrite(@ScriptDir & "\setup.ini", "Bild", "Anzahl", $_save)

    EndFunc

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

    ;Input werte lesen aus int
    Func _LoadConfigGui()
    $Pfad = IniRead(@ScriptDir & "\setup.ini", "Pfad", "Adresse" , "http://192.168.178.24/Jpeg/CamImg*.jpg")
    $Anzahl = IniRead(@ScriptDir & "\setup.ini", "Bild", "Anzahl" , "10")

    EndFunc

    [/autoit]

    Dateien

    BilderShow.au3 3,47 kB – 343 Downloads Func.au3 934 Byte – 342 Downloads
  • Fritz!dect 200

    • emilio20
    • 25. Dezember 2013 um 00:54

    Hallo
    nein meine den Energieverbrauch den die Steckdose misst.
    es gibt was
    http://www.google.de/imgres?client=firefox-a&sa=X&rls=org.mozilla:de:official&biw=1366&bih=622&tbm=isch&tbnid=RRo7vhdIq_zDEM:&imgrefurl=http://www.ip-symcon.de/forum/threads/20752-Fritz!DECT-200-Einbindung-in-IPS/page3&docid=l3SzzxtUsM6OIM&imgurl=http://www.ip-symcon.de/forum/attachment.php%253Fattachmentid%253D20259%2526d%253D1361096245&w=1130&h=422&ei=zx66UtmLPMruswa254GoDQ&zoom=1&iact=rc&dur=1&page=1&tbnh=116&tbnw=271&start=0&ndsp=32&ved=1t:429,r:0,s:0,i:83&tx=174&ty=35

  • Fritz!dect 200

    • emilio20
    • 25. Dezember 2013 um 00:32

    Hallo
    gibt es die möglichkeit eine Fritz DECT 200 mit einem Autoit Script zu steuerun und den Verbrauchswert auszulesen ?

  • String suchen und zerlegen

    • emilio20
    • 24. Dezember 2013 um 22:56

    Hallo
    vielen dank für den Beitrag da werde ich mich morgen mal mit beschäftigen.
    Das mit der txt. Date kenne ich noch nicht. Ich beschäftige mich mit AutoIT erst seit kurzem. Werde ich auf jeden fall mal versichen.

    Noch eine Frage woher weißt du meinen Namen ?

    Der Code in#9 ist noch das alte Programm. Ich Poste noch mal das neue

    Ist aber noch nicht fertig. Es ist eine Abänderung des alten Programm. Die TCP Funktionen sind noch nicht abgeändert.
    die LibNoDave.au3 ist von Funky gibts im Forum
    LibNoDave-UDF zur Kommunikation mit Simatic SPS

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include "LibNoDave.au3"

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

    ; Globale Variablen
    Global $Anzahl ; Anzahl der IP Abfragen
    Global $GUI_IP_SPS
    Global $Socket_SPS ; Der Socket wird von _daveTCPConnect() beschrieben
    Global $di_SPS ; Das Device Interface wird von _daveTCPConnect() beschrieben
    Global $dc_SPS ; Die Device Connection wird von _daveTCPConnect() beschrieben
    Global $Name_SPS = "SPS-Name" ; Name wird bei Logging und Debugging ausgegeben
    Global $IP_SPS = ""
    Global $CPU_Rack = 0
    Global $CPU_Slot = 2

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

    Global $Status [20]

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

    Global $Run
    Global $iRet

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

    Global $Buffer

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

    ;Farben
    Global $Gruen= 0x00FF00
    Global $Weiss =0xFFFFFF

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

    #Region ### START Koda GUI section ### Form=c:\users\andreas\downloads\test1\libnodave\netzwerkanwesenheit sps.kxf
    $Form1_1 = GUICreate("Form1", 510, 445, 287, 134)
    $Menue_Main = GUICtrlCreateMenu("Menü")
    $Menue_Main_1 = GUICtrlCreateMenuItem("Erstellen", $Menue_Main)
    $Save = GUICtrlCreateMenuItem("Speichern", $Menue_Main)
    $Menue_Main_3 = GUICtrlCreateMenuItem("Löschen", $Menue_Main)
    $Menue_Main_4 = GUICtrlCreateMenuItem("Alle Löschen", $Menue_Main)
    $Menue_Main_5 = GUICtrlCreateMenuItem("Einstellung", $Menue_Main)

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

    $hListView = GUICtrlCreateListView("IP Adresse | Status IP | SPS Adresse |Status DB",10,50,490,200)

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

    $Menue_ListView = GUICtrlCreateContextMenu($hListView)
    $Menue_ListView_1 = GUICtrlCreateMenuItem("Löschen",$Menue_ListView)
    $Start = GUICtrlCreateButton("Start", 336, 272, 113, 41)
    $Stop = GUICtrlCreateButton("Stop", 336, 320, 113, 41)
    $Verbunden = GUICtrlCreateInput("Verbunden", 248, 272, 65, 21)
    $Label6 = GUICtrlCreateLabel("Anwesenheitserkennung IP Adresse" , 72, 8, 358, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    ;*****************************************************************+Hauptprogramm**********************************************************
    ; Programm Start
    ;IP Adressen aus Config laden
    _LoadConfigGui()

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

    AdlibRegister ( "_Schritkette",10000) ;Funktion alle 5sec aufrufen

    While 1
    $nMsg = GUIGetMsg()


    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit


    Case $Menue_Main_1 ; Einfügen
    $IP_Adresse = InputBox("","Bitte IP Adresse von Handy oder PC eingeben")
    $DB = InputBox("","DB Nummer von SPS eingeben")
    $Byte = InputBox("","Byte Adresse von DB eingeben")
    $Bit = InputBox("","Bit Adresse von DB eingeben")
    GUICtrlCreateListViewItem($IP_Adresse &'|'&""&'|'& "DB."&$DB&"DBX"&$Byte&"."&$Bit&'|'&""&'|',$hListView)
    Case $Menue_Main_4 ; Alles Löschen
    _GUICtrlListView_DeleteAllItems($hListView)
    Case $Menue_ListView_1
    _GUICtrlListView_DeleteItemsSelected($hListView)


    Case $Start

    $run = 1
    ;GUICtrlSetData ($runGui, "run")


    Case $Stop
    $run = 0
    ;GUICtrlSetData ($runGui, "Stop")

    Case $save
    _SaveConfigGui()


    EndSwitch
    WEnd

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

    ;*****************************Funktionen********************************************************
    ;Schritkette Programm
    Func _Schritkette()
    if $run then
    $Anzahl = _GUICtrlListView_GetItemCount($hListView)
    ip_Abfrage()
    Sleep(1000)
    ;_TCPConnect()
    ;Sleep(1000)
    ;_Schreiben()
    ;Sleep(1000)
    ;_Lesen()
    ;Sleep(1000)
    ;_TCPDisconnect()
    EndIf
    EndFunc

    ; Funktiom Abfrab ob IP Online ist
    Func ip_Abfrage()

    For $i = 1 TO $Anzahl
    $aItem =_GUICtrlListView_GetItem($hListView, $i-1,0)
    $IP_X = ( $aItem[3]) ; Lese IP aus GUI


    $iPing = Ping($IP_X,250) ;Abfrage ob IP im Netzwerk vorhanden , Online ist
    If $iPing = 0 Then
    _GUICtrlListView_SetTextBkColor($hListView, $Weiss)
    _GUICtrlListView_SetItem($hListView, "Offline", $i-1,1)

    $Status[$i] = 0
    Else
    _GUICtrlListView_SetTextBkColor($hListView, $Gruen)
    _GUICtrlListView_SetItem($hListView, "Online", $i-1,1)


    $Status[$i] = 1
    EndIf

    Next
    EndFunc

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

    ;Input Werte Speicherin in int
    Func _SaveConfigGui()
    $_save = GUICtrlRead ($GUI_IP_SPS)
    IniWrite(@ScriptDir & "\setup.ini", "Adresse", "ip_SPS", $_save)

    For $i = 1 to $Anzahl
    $_save = GUICtrlRead ($GUI_IP[$i])
    IniWrite(@ScriptDir & "\setup.ini", "Adresse", "ip"&$i, $_save)
    $_save = GUICtrlRead ($GUI_DB[$i])
    IniWrite(@ScriptDir & "\setup.ini", "Datenbaustein", "DB"&$i, $_save)
    $_save = GUICtrlRead ($GUI_Byte[$i])
    IniWrite(@ScriptDir & "\setup.ini", "Datenbaustein", "Byte"&$i, $_save)
    $_save = GUICtrlRead ($GUI_Bit[$i])
    IniWrite(@ScriptDir & "\setup.ini", "Datenbaustein", "Bit"&$i, $_save)
    Next

    EndFunc

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

    ;Input werte lesen aus int
    Func _LoadConfigGui()
    $Load = IniRead(@ScriptDir & "\setup.ini", "Adresse", "ip_SPS" , "192.168.178.")
    GUICtrlSetData ($GUI_IP_SPS,$Load)
    For $i = 1 to $Anzahl
    $Load = IniRead(@ScriptDir & "\setup.ini", "Adresse", "ip" &$i, "192.168.178.")
    GUICtrlSetData ($GUI_IP[$i],$Load)
    $Load = IniRead(@ScriptDir & "\setup.ini", "Datenbaustein", "DB"&$i, "0")
    GUICtrlSetData ($GUI_DB[$i],$Load)
    $Load = IniRead(@ScriptDir & "\setup.ini", "Datenbaustein", "Byte"&$i, "0")
    GUICtrlSetData ($GUI_Byte[$i],$Load)
    $Load = IniRead(@ScriptDir & "\setup.ini", "Datenbaustein", "Bit"&$i, "0")
    GUICtrlSetData ($GUI_Bit[$i],$Load)
    Next

    EndFunc


    ;Status löschen wenn Programm Stop
    Func _Status_reset()
    For $i = 1 to $Anzahl
    GUICtrlSetData ($Radio[$i], "" ) ; Wenn IP Offline schreibe in GUI Offline
    Next
    EndFunc

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

    ;Verbindung aufbauen
    Func _TCPConnect()
    $IP_SPS = GUICtrlRead ($GUI_IP_SPS)
    _DaveInit()
    _daveTCPConnect($IP_SPS, $Socket_SPS, $di_SPS, $dc_SPS, $CPU_Rack, $CPU_Slot, $Name_SPS)

    If @error Then
    MsgBox(16, "Error " & @error, "TCP connection parameter incorrect for " & $Name_SPS & "!")
    Exit
    Else
    GUICtrlSetData ($Verbunden, "Verbunden" )
    EndIf
    EndFunc

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

    ;Schreiben
    Func _Schreiben()
    For $i = 1 to $Anzahl

    $iRet = _daveWriteBits($dc_SPS, $daveDB, GUICtrlRead ($GUI_DB[$i]), GUICtrlRead ($GUI_Byte[$i]), GUICtrlRead ($GUI_Bit[$i]), $Status[$i])
    If @error Or $iRet <> 0 Then
    MsgBox(16, "Error " "Fehler beim Schreiben")
    Else
    GUICtrlSetData ($Verbunden, "Schreiben" )
    EndIf
    Next
    EndFunc

    ;Lesen
    Func _Lesen()
    For $i = 1 to $Anzahl
    $iRet = _daveReadBit($dc_SPS, $daveDB, GUICtrlRead ($GUI_DB[$i]), GUICtrlRead ($GUI_Byte[$i]), GUICtrlRead ($GUI_Bit[$i]) )
    If @error Then
    MsgBox(16, "Error " "Lesefehler!")
    Else
    GUICtrlSetData ($Verbunden, "Lesen" )
    EndIf
    GUICtrlSetData ($GUI_Status[$i],$iRet)
    Next
    EndFunc

    ;Verbindung beenden
    Func _TCPDisconnect()
    _daveTCPDisconnect($Socket_SPS, $di_SPS, $dc_SPS)
    GUICtrlSetData ($Verbunden, "Getrennt" )
    EndFunc

    [/autoit]
  • String suchen und zerlegen

    • emilio20
    • 24. Dezember 2013 um 17:47

    Hallo
    ich habe folgende Frage
    ich habe mir eine Listview erstellt in dem ich in eimen Feld eine SPS adresse eingeben z.b DB5.DBX6.0

    Jetzt musste ich für die weitere Verarbeitung die 5 in $DB, die 6 in $Byte und die 0 in $ Bit schreiben.
    Wie kann ich aus einem String diese werte ermitteln.?

    Wobei sich in einem weitern schritt die Struktur verändern kann.
    z.b DB5.DBW1

    Gibt es eine Funktion wo ich nach DB. suche und den die nächsten Zahlenwerte in $DB speichere ?

  • List View bestimmten Eintrag ausblenden

    • emilio20
    • 24. Dezember 2013 um 13:21

    Hallo
    ich Ignorieren sämtlicher Ratschläge? Ich habe diene Antworten gelesen und mich die letzten 5 Stunden damit beschäftigt. Leider komme ich nicht weiter.
    Ich möchte doch keine Programwunsch haben.
    Ich möchte lediglich wissen wie ich an einer bestimmte Zeile in eine bestimmte Spalte einen Eintrag bekomme ?

    Wenn das Forum nicht für hilfen da ist und man nur mit einer guten Programmierkenntniss fragen stellen dar find ich es sehr schade.

  • List View bestimmten Eintrag ausblenden

    • emilio20
    • 24. Dezember 2013 um 13:06

    Hallo

    ich komme mit dieser LisView schon wieder nicht weiter.

    Ich erkläre mal kurz um was es geht. Ich habe ein Programm erstellt mit dem ich
    Abfrage ob die IP im Netzwerk Online ist. Diesen Wert übergebe ich an eine SPS.


    Hier das Programm


    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include "LibNoDave.au3"

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

    ; Globale Variablen
    Global $Anzahl = 4 ; Anzahl der IP Abfragen

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

    Global $Socket_SPS ; Der Socket wird von _daveTCPConnect() beschrieben
    Global $di_SPS ; Das Device Interface wird von _daveTCPConnect() beschrieben
    Global $dc_SPS ; Die Device Connection wird von _daveTCPConnect() beschrieben
    Global $Name_SPS = "SPS-Name" ; Name wird bei Logging und Debugging ausgegeben
    Global $IP_SPS = ""
    Global $CPU_Rack = 0
    Global $CPU_Slot = 2
    Global $GUI_IP [$Anzahl+1]
    Global $GUI_DB [$Anzahl+1]
    Global $GUI_Byte [$Anzahl+1]
    Global $GUI_Bit [$Anzahl+1]
    Global $Radio [$Anzahl+1]
    Global $GUI_Status[$Anzahl+1]
    Global $Status [$Anzahl+1]
    Global $DB [$Anzahl+1]
    Global $DB_byte [$Anzahl+1]
    Global $Run
    Global $iRet

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

    Global $Buffer

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

    #Region ### START Koda GUI section ### Form=c:\users\andreas\downloads\test1\libnodave\netzwerkanwesenheit sps.kxf
    $Form1_1 = GUICreate("Form1", 510, 445, 266, 158)
    $GUI_IP_SPS = GUICtrlCreateInput("SPS_IP", 40, 368, 121, 21)
    $GUI_IP[1] = GUICtrlCreateInput("IP 1", 35, 80, 161, 21)
    $GUI_IP[2] = GUICtrlCreateInput("IP 2", 35, 110, 161, 21)
    $GUI_IP[3] = GUICtrlCreateInput("IP 3", 35, 140, 161, 21)
    $GUI_IP[4] = GUICtrlCreateInput("IP 4", 35, 170, 161, 21)

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

    $Radio[1] = GUICtrlCreateInput("", 208, 80, 57, 21,$ES_READONLY)
    $Radio[2] = GUICtrlCreateInput("", 208, 110, 57, 21,$ES_READONLY)
    $Radio[3] = GUICtrlCreateInput("", 208, 140, 57, 21,$ES_READONLY)
    $Radio[4] = GUICtrlCreateInput("", 208, 170, 57, 21,$ES_READONLY)

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

    $GUI_DB[1] = GUICtrlCreateInput("DB1", 296, 80, 25, 21,$ES_NUMBER)
    $GUI_DB[2] = GUICtrlCreateInput("DB2", 296, 110, 25, 21,$ES_NUMBER)
    $GUI_DB[3] = GUICtrlCreateInput("DB3", 296, 140, 25, 21,$ES_NUMBER)
    $GUI_DB[4] = GUICtrlCreateInput("DB4", 296, 170, 25, 21,$ES_NUMBER)

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

    $GUI_Byte[1] = GUICtrlCreateInput("Byte1", 328, 80, 25, 21,$ES_NUMBER)
    $GUI_Byte[2] = GUICtrlCreateInput("Byte2", 328, 110, 25, 21,$ES_NUMBER)
    $GUI_Byte[3] = GUICtrlCreateInput("Byte3", 328, 140, 25, 21,$ES_NUMBER)
    $GUI_Byte[4] = GUICtrlCreateInput("Byte4", 328, 170, 25, 21,$ES_NUMBER)

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

    $Label1 = GUICtrlCreateLabel("IP Adressen", 40, 56, 61, 17)
    $Label2 = GUICtrlCreateLabel("Status IP", 216, 56, 45, 17)
    $Label5 = GUICtrlCreateLabel("DB. Byte Bit", 296, 56, 88, 17)
    $Label3 = GUICtrlCreateLabel("IP Adresse SPS", 40, 344, 79, 17)
    $Start = GUICtrlCreateButton("Start", 336, 288, 113, 41)
    $Stop = GUICtrlCreateButton("Stop", 336, 336, 113, 41)
    $Save = GUICtrlCreateButton("Save", 336, 384, 115, 41)
    $Verbunden = GUICtrlCreateInput("", 176, 368, 65, 21)
    $runGui = GUICtrlCreateInput("", 176, 398, 65, 21)
    $GUI_Status[1] = GUICtrlCreateInput("0", 400, 80, 49, 21,$ES_READONLY)
    $GUI_Status[2] = GUICtrlCreateInput("0", 400, 110, 49, 21,$ES_READONLY)
    $GUI_Status[3] = GUICtrlCreateInput("0", 400, 140, 49, 21,$ES_READONLY)
    $GUI_Status[4] = GUICtrlCreateInput("0", 400, 170, 49, 21,$ES_READONLY)
    $Label4 = GUICtrlCreateLabel("Status DB", 400, 56, 52, 17)
    $Label6 = GUICtrlCreateLabel("Anwesenheitserkennung IP Adresse" , 72, 8, 358, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $GUI_Bit[1] = GUICtrlCreateCombo("", 360, 80, 33, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "0|1|2|3|4|5|6|7", "0")
    GUICtrlSetCursor (-1, 1)
    $GUI_Bit[2] = GUICtrlCreateCombo("", 360, 110, 33, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "0|1|2|3|4|5|6|7", "0")
    GUICtrlSetCursor (-1, 1)
    $GUI_Bit[3] = GUICtrlCreateCombo("", 360, 140, 33, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "0|1|2|3|4|5|6|7", "0")
    GUICtrlSetCursor (-1, 1)
    $GUI_Bit[4] = GUICtrlCreateCombo("", 360, 170, 33, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "0|1|2|3|4|5|6|7", "0")
    GUICtrlSetCursor (-1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    ;*****************************************************************+Hauptprogramm**********************************************************
    ; Programm Start
    ;IP Adressen aus Config laden
    _LoadConfigGui()

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

    AdlibRegister ( "_Schritkette",10000) ;Funktion alle 5sec aufrufen

    While 1
    $nMsg = GUIGetMsg()


    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit
    Case $Start
    $run = 1
    GUICtrlSetData ($runGui, "run")


    Case $Stop
    $run = 0
    GUICtrlSetData ($runGui, "Stop")

    Case $save
    _SaveConfigGui()


    EndSwitch
    WEnd

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

    ;*****************************Funktionen********************************************************
    ;Schritkette Programm
    Func _Schritkette()
    if $run then
    ip_Abfrage()
    Sleep(1000)
    _TCPConnect()
    Sleep(1000)
    _Schreiben()
    Sleep(1000)
    _Lesen()
    Sleep(1000)
    _TCPDisconnect()
    EndIf
    EndFunc

    ; Funktiom Abfrab ob IP Online ist
    Func ip_Abfrage()

    For $i = 1 TO $Anzahl
    $IP_X = GUICtrlRead ($GUI_IP[$i]) ; Lese IP aus GUI

    $iPing = Ping($IP_X,250) ;Abfrage ob IP im Netzwerk vorhanden , Online ist
    If $iPing = 0 Then
    GUICtrlSetData ($Radio[$i], "Offline") ; Wenn IP Online schreibe in GUI Online
    $Status[$i] = 0
    Else
    GUICtrlSetData ($Radio[$i], "Online" ) ; Wenn IP Offline schreibe in GUI Offline
    $Status[$i] = 1
    EndIf

    Next
    EndFunc

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

    ;Input Werte Speicherin in int
    Func _SaveConfigGui()
    $_save = GUICtrlRead ($GUI_IP_SPS)
    IniWrite(@ScriptDir & "\setup.ini", "Adresse", "ip_SPS", $_save)

    For $i = 1 to $Anzahl
    $_save = GUICtrlRead ($GUI_IP[$i])
    IniWrite(@ScriptDir & "\setup.ini", "Adresse", "ip"&$i, $_save)
    $_save = GUICtrlRead ($GUI_DB[$i])
    IniWrite(@ScriptDir & "\setup.ini", "Datenbaustein", "DB"&$i, $_save)
    $_save = GUICtrlRead ($GUI_Byte[$i])
    IniWrite(@ScriptDir & "\setup.ini", "Datenbaustein", "Byte"&$i, $_save)
    $_save = GUICtrlRead ($GUI_Bit[$i])
    IniWrite(@ScriptDir & "\setup.ini", "Datenbaustein", "Bit"&$i, $_save)
    Next

    EndFunc

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

    ;Input werte lesen aus int
    Func _LoadConfigGui()
    $Load = IniRead(@ScriptDir & "\setup.ini", "Adresse", "ip_SPS" , "192.168.178.")
    GUICtrlSetData ($GUI_IP_SPS,$Load)
    For $i = 1 to $Anzahl
    $Load = IniRead(@ScriptDir & "\setup.ini", "Adresse", "ip" &$i, "192.168.178.")
    GUICtrlSetData ($GUI_IP[$i],$Load)
    $Load = IniRead(@ScriptDir & "\setup.ini", "Datenbaustein", "DB"&$i, "0")
    GUICtrlSetData ($GUI_DB[$i],$Load)
    $Load = IniRead(@ScriptDir & "\setup.ini", "Datenbaustein", "Byte"&$i, "0")
    GUICtrlSetData ($GUI_Byte[$i],$Load)
    $Load = IniRead(@ScriptDir & "\setup.ini", "Datenbaustein", "Bit"&$i, "0")
    GUICtrlSetData ($GUI_Bit[$i],$Load)
    Next

    EndFunc


    ;Status löschen wenn Programm Stop
    Func _Status_reset()
    For $i = 1 to $Anzahl
    GUICtrlSetData ($Radio[$i], "" ) ; Wenn IP Offline schreibe in GUI Offline
    Next
    EndFunc

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

    ;Verbindung aufbauen
    Func _TCPConnect()
    $IP_SPS = GUICtrlRead ($GUI_IP_SPS)
    _DaveInit()
    _daveTCPConnect($IP_SPS, $Socket_SPS, $di_SPS, $dc_SPS, $CPU_Rack, $CPU_Slot, $Name_SPS)

    If @error Then
    MsgBox(16, "Error " & @error, "TCP connection parameter incorrect for " & $Name_SPS & "!")
    Exit
    Else
    GUICtrlSetData ($Verbunden, "Verbunden" )
    EndIf
    EndFunc

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

    ;Schreiben
    Func _Schreiben()
    For $i = 1 to $Anzahl

    $iRet = _daveWriteBits($dc_SPS, $daveDB, GUICtrlRead ($GUI_DB[$i]), GUICtrlRead ($GUI_Byte[$i]), GUICtrlRead ($GUI_Bit[$i]), $Status[$i])
    If @error Or $iRet <> 0 Then
    MsgBox(16, "Error " "Fehler beim Schreiben")
    Else
    GUICtrlSetData ($Verbunden, "Schreiben" )
    EndIf
    Next
    EndFunc

    ;Lesen
    Func _Lesen()
    For $i = 1 to $Anzahl
    $iRet = _daveReadBit($dc_SPS, $daveDB, GUICtrlRead ($GUI_DB[$i]), GUICtrlRead ($GUI_Byte[$i]), GUICtrlRead ($GUI_Bit[$i]) )
    If @error Then
    MsgBox(16, "Error " "Lesefehler!")
    Else
    GUICtrlSetData ($Verbunden, "Lesen" )
    EndIf
    GUICtrlSetData ($GUI_Status[$i],$iRet)
    Next
    EndFunc

    ;Verbindung beenden
    Func _TCPDisconnect()
    _daveTCPDisconnect($Socket_SPS, $di_SPS, $dc_SPS)
    GUICtrlSetData ($Verbunden, "Getrennt" )
    EndFunc

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


    Jetzt wollte ich die Eingabefelder in eine ListView abändern um in der Anzahl der einträge nicht beschränkt zu sein.

    Das lesen der IP aus der ListView funktioniert soweit. Abder das Schreiben in Zeile 2 ob die IP Online oder Offlin ist funktioniert nicht.

    [autoit]


    Funktiom Abfrab ob IP Online ist
    Func ip_Abfrage()

    For $i = 1 TO $Anzahl
    $aItem = _GUICtrlListView_GetItemTextArray($hListView, $i-1)
    $IP_X = ( $aItem[1]) ; Lese IP aus GUI

    $iPing = Ping($IP_X,250) ;Abfrage ob IP im Netzwerk vorhanden , Online ist
    If $iPing = 0 Then
    GUICtrlSetData($aItem[2], "Offline")
    ;GUICtrlSetData ( $Verbunden, "Offline")
    $Status[$i] = 0
    Else
    GUICtrlSetData($aItem[2], "Online")
    ;GUICtrlSetData ( $Verbunden, "Online")
    $Status[$i] = 1
    EndIf

    Next
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit]
  • List View bestimmten Eintrag ausblenden

    • emilio20
    • 23. Dezember 2013 um 20:20

    Hallo
    wenn ich es so mache erhalte ich den Inhalt der gesamten Zeile
    ich benötige aber den inhalt der Spalte 0 und Zeile 0.
    Gibt es hierzu eine Möglichkeit


    [autoit]


    Case $Start
    Global $wert = _GUICtrlListView_GetItemTextString($hListView, 0)
    GUICtrlSetData($Verbunden,$wert)

    [/autoit][autoit][/autoit][autoit][/autoit]
    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include "LibNoDave.au3"

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

    ; Globale Variablen
    Global $Anzahl = 4 ; Anzahl der IP Abfragen

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

    Global $Socket_SPS ; Der Socket wird von _daveTCPConnect() beschrieben
    Global $di_SPS ; Das Device Interface wird von _daveTCPConnect() beschrieben
    Global $dc_SPS ; Die Device Connection wird von _daveTCPConnect() beschrieben
    Global $Name_SPS = "SPS-Name" ; Name wird bei Logging und Debugging ausgegeben
    Global $IP_SPS = ""
    Global $CPU_Rack = 0
    Global $CPU_Slot = 2
    Global $GUI_IP [$Anzahl+1]
    Global $GUI_DB [$Anzahl+1]
    Global $GUI_Byte [$Anzahl+1]
    Global $GUI_Bit [$Anzahl+1]
    Global $Radio [$Anzahl+1]
    Global $GUI_Status[$Anzahl+1]
    Global $Status [$Anzahl+1]
    Global $DB [$Anzahl+1]
    Global $DB_byte [$Anzahl+1]
    Global $Run
    Global $iRet

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

    Global $Buffer

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

    #Region ### START Koda GUI section ### Form=c:\users\andreas\downloads\test1\libnodave\netzwerkanwesenheit sps.kxf
    $Form1_1 = GUICreate("Form1", 510, 445, 287, 134)
    $Menue_Main = GUICtrlCreateMenu("Menü")
    $Menue_Main_1 = GUICtrlCreateMenuItem("Erstellen", $Menue_Main)
    $Save = GUICtrlCreateMenuItem("Speichern", $Menue_Main)
    $Menue_Main_3 = GUICtrlCreateMenuItem("Löschen", $Menue_Main)
    $Menue_Main_4 = GUICtrlCreateMenuItem("Alle Löschen", $Menue_Main)
    $Menue_Main_5 = GUICtrlCreateMenuItem("Einstellung", $Menue_Main)

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

    $hListView = GUICtrlCreateListView("IP Adresse | Status IP | SPS Adresse |Status DB",10,50,490,200)

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

    $Menue_ListView = GUICtrlCreateContextMenu($hListView)
    $Menue_ListView_1 = GUICtrlCreateMenuItem("Löschen",$Menue_ListView)
    $Start = GUICtrlCreateButton("Start", 336, 272, 113, 41)
    $Stop = GUICtrlCreateButton("Stop", 336, 320, 113, 41)
    $Verbunden = GUICtrlCreateInput("Verbunden", 248, 272, 65, 21)
    $Label6 = GUICtrlCreateLabel("Anwesenheitserkennung IP Adresse" , 72, 8, 358, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Global $GUI_IP_SPS

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

    ;*****************************************************************+Hauptprogramm**********************************************************
    ; Programm Start
    ;IP Adressen aus Config laden
    _LoadConfigGui()

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

    AdlibRegister ( "_Schritkette",10000) ;Funktion alle 5sec aufrufen

    While 1
    $nMsg = GUIGetMsg()


    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit


    Case $Menue_Main_1 ; Einfügen
    $IP_Adresse = InputBox("","Bitte IP Adresse von Handy oder PC eingeben")
    $DB = InputBox("","DB Nummer von SPS eingeben")
    $Byte = InputBox("","Byte Adresse von DB eingeben")
    $Bit = InputBox("","Bit Adresse von DB eingeben")
    GUICtrlCreateListViewItem($IP_Adresse &'|'&""&'|'& "DB."&$DB&"DBX"&$Byte&"."&$Bit&'|'&""&'|',$hListView)
    Case $Menue_Main_4 ; Alles Löschen
    _GUICtrlListView_DeleteAllItems($hListView)
    Case $Menue_ListView_1
    _GUICtrlListView_DeleteItemsSelected($hListView)


    Case $Start
    Global $wert = _GUICtrlListView_GetItemTextString($hListView, 0)
    GUICtrlSetData($Verbunden,$wert)
    ;$run = 1
    ;GUICtrlSetData ($runGui, "run")


    Case $Stop
    $run = 0
    GUICtrlSetData ($runGui, "Stop")

    Case $save
    _SaveConfigGui()


    EndSwitch
    WEnd

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

    OK habs raus

    [autoit]


    Case $Start
    $aItem = _GUICtrlListView_GetItemTextArray($hListView, 0)

    $sText = ( $aItem[1])

    [/autoit]
  • List View bestimmten Eintrag ausblenden

    • emilio20
    • 23. Dezember 2013 um 19:26

    Nein das meine ich nicht. Den befehl kenne ich ja

    Ich mochte den wert aus Spalte 0 und Zeile 0 lesen
    ewar so

    [autoit]


    GUICtrlRead($listview,0, 0)

    [/autoit]

    Aber das geht nicht so

  • List View bestimmten Eintrag ausblenden

    • emilio20
    • 23. Dezember 2013 um 19:10

    Hallo
    habe ein eine ListView erstellt in dem sich verschiedene Daten befinden.

    [autoit]


    $hListView = GUICtrlCreateListView("IP Adresse | Status IP | SPS Adresse |Status DB",10,50,490,200)

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

    Jetzt möchte ich für die weitere verarbeitung die IP Adresse aus der Listview lesen.
    Mit welchen Befehl kann ich den eintrag auslesen ?

  • IP im Netzwerk abfrangen und an SPS senden

    • emilio20
    • 18. Dezember 2013 um 20:48

    Hallo
    danke für die Antwort.

    Das abfragen der IP ist soweit ok ich versuche jetzt mal eine TCP Verbinung über Libnodave aufzubauen.
    mir ist hierzu noch einiges unklar.
    Welche daten mussen in welchen ordner ?
    habe die Datei LibNoDave.au3 und die libnodave.dell im selben Ordner wie das Programm. Was fehlt noch ?

    Habe mal diese Script probiert. . Antwort in MSgBox -1 und in Autoit
    If $aRet[0] <= 0 Then SetError(1)
    If $aRet^ ERROR

    Spoiler anzeigen
    [autoit]


    #include "LibNoDave.au3"

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

    Global $IPAddress = "192.168.178.30"
    _DaveInit()

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

    $fds = DllStructCreate($_daveOSserialType)

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

    $hSocket = _openSocket($IPAddress,102)
    DllStructSetData($fds, "rfd", $hSocket)
    DllStructSetData($fds, "wfd", $hSocket)

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

    ;MsgBox(0,"$hSocket","= "& $hSocket)

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

    $p_di = _daveNewInterface($fds,"IF1",0,$daveProtoISOTCP,$daveSpeed187k)
    ConsoleWrite("$p_di = " & $p_di & @CR)
    _daveInitAdapter($p_di)

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

    ;_daveSetTimeout($p_di, 5000000)

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

    ;$p_dc = _daveNewConnection($p_di, 2, 2, 0)
    $p_dc = _daveNewConnection($p_di, 1, 1, 0)
    ConsoleWrite("$p_dc = " & $p_dc & @CR)

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

    If ( _daveConnectPLC($p_dc) = 0 ) then
    MsgBox(0,"CONNECTET",";-) ")

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

    Else
    MsgBox(0,"dislike",_daveConnectPLC($p_dc))

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

    EndIf

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

    _closeSocket($hSocket)
    _DaveDeInit()

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

    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • IP im Netzwerk abfrangen und an SPS senden

    • emilio20
    • 18. Dezember 2013 um 13:14

    Hallo
    kanst du mir das mal genauer erklären ?
    ich dachte das Prgramm lauft nur inerhaltb der While Schleife und springt bei Aufruf in die einselnen Funktionen ?
    Wie mache ich es wenn die Funktionen nur ausgefürt werden soll wenn Merker run 1 ist . Bei Stop soll die funktion nicht mehr ausgefürt werden ?

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\Andreas\Downloads\test1\LibnoDave\Netzwerkanwesenheit SPS.kxf
    ; Globale Variablen
    Global $Input[5]
    Global $Radio[5]

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

    Global $Run
    ; GUI Init
    $Form1 = GUICreate("Form1", 615, 438, 473, 180)
    $Start = GUICtrlCreateButton("Start", 360, 80, 145, 57)

    $Stop = GUICtrlCreateButton("Stop", 360, 144, 145, 57)
    $runGui = GUICtrlCreateInput("Stop" , 400, 220, 60, 21)
    $save = GUICtrlCreateButton("Save" , 480, 220, 60, 57)
    $Input[1] = GUICtrlCreateInput("192.168.178.35", 75, 80, 161, 21)
    $Input[2] = GUICtrlCreateInput("192.168.178.20", 75, 110, 161, 21)
    $Input[3] = GUICtrlCreateInput("192.168.178.53", 75, 140, 161, 21)
    $Input[4] = GUICtrlCreateInput("192.168.178.", 75, 170, 161, 21)
    $Radio[1] = GUICtrlCreateInput("", 245, 80, 113, 17)
    $Radio[2] = GUICtrlCreateInput("", 245, 110, 113, 17)
    $Radio[3] = GUICtrlCreateInput("", 245, 140, 113, 17)
    $Radio[4] = GUICtrlCreateInput("", 245, 170, 113, 17)
    $SPS_IP = GUICtrlCreateInput("192.168.178.", 384, 272, 121, 21)
    $SPS_IP_TEXT = GUICtrlCreateLabel("SPS_IP", 384, 248, 41, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    ; Programm Start
    ;IP Adressen aus Config laden
    _LoadConfigGui()

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

    AdlibRegister ( "ip_Abfrage",5000) ;Funktion alle 5sec aufrufen

    While 1
    $nMsg = GUIGetMsg()
    ;If $run = 1 Then
    ; AdlibRegister ( ip_Abfrage(),500) ;Funktion alle 5sec aufrufen

    ;EndIf


    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit
    Case $Start
    $run = 1
    GUICtrlSetData ($runGui, "run")
    Case $Stop
    $run = 0
    GUICtrlSetData ($runGui, "Stop")
    _Status_reset()
    Case $save
    _SaveConfigGui()


    EndSwitch
    WEnd

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

    ; Funktiom Abfrab ob IP Online ist
    Func ip_Abfrage()

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

    For $i = 1 TO 4

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

    $IP_X = GUICtrlRead ($Input[$i]) ; Lese IP aus GUI

    $iPing = Ping($IP_X,250) ;Abfrage ob IP im Netzwerk vorhanden , Online ist

    If $iPing = 0 Then
    GUICtrlSetData ($Radio[$i], "Offline") ; Wenn IP Online schreibe in GUI Online

    Else
    GUICtrlSetData ($Radio[$i], "Online" ) ; Wenn IP Offline schreibe in GUI Offline

    EndIf

    Next
    EndFunc

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

    ;IP Adressen Speicherin in int
    Func _SaveConfigGui()

    For $i = 1 to 4
    $_save = GUICtrlRead ($Input[$i])
    IniWrite(@ScriptDir & "\setup.ini", "Adresse", "ip"&$i, $_save)
    Next

    EndFunc

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

    ;IP Adressen lesen aus int
    Func _LoadConfigGui()

    For $i = 1 to 4
    $Load = IniRead(@ScriptDir & "\setup.ini", "Adresse","ip"&$i, "192.168.178.")
    GUICtrlSetData ($Input[$i],$Load)
    Next

    EndFunc
    ;Status löschen wenn Programm Stop
    Func _Status_reset()
    For $i = 1 to 4
    GUICtrlSetData ($Radio[$i], "" ) ; Wenn IP Offline schreibe in GUI Offline
    Next
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • IP im Netzwerk abfrangen und an SPS senden

    • emilio20
    • 18. Dezember 2013 um 00:05

    Wenn ich es so mache funktioniert mein Programm nicht . Kannst du es mal Testen und den Code senden ?

  • IP im Netzwerk abfrangen und an SPS senden

    • emilio20
    • 17. Dezember 2013 um 23:30

    Hallo
    wenn ich die Funktion vor der While schleife setze wird sie nur 1 mal ausgeführt. Ich benötige eine permanente Abfrage

  • IP im Netzwerk abfrangen und an SPS senden

    • emilio20
    • 17. Dezember 2013 um 22:37

    Hallo

    Ich wollte mehrere IP Adressen im Netzwerk abfragen und an eine SPS senden. Ich
    habe den Anfang mit der Abfrage der IP Adressen begonnen.

    Hierzu habe ich ein paar Fragen.


    Zuerst wollte ich Radio Butten verwenden um zu signalisieren ob eine IP Online
    ist. Dies hat leider nicht funktioniert.

    Kann mir jemand erklären wie dies Funktioniert?


    Wenn das Programm läuft kommt es zum Flackern zwischen Online und Offline?


    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\Andreas\Downloads\test1\LibnoDave\Netzwerkanwesenheit SPS.kxf
    ; Globale Variablen
    Global $Input[5]
    Global $Radio[5]
    ; GUI Init
    $Form1 = GUICreate("Form1", 615, 438, 473, 180)
    $Button1 = GUICtrlCreateButton("Start", 360, 80, 145, 57)
    $Button2 = GUICtrlCreateButton("Stop", 360, 144, 145, 57)
    $Input[1] = GUICtrlCreateInput("192.168.178.", 75, 80, 161, 21)
    $Input[2] = GUICtrlCreateInput("192.168.178", 75, 110, 161, 21)
    $Input[3] = GUICtrlCreateInput("192.168.178.", 75, 140, 161, 21)
    $Input[4] = GUICtrlCreateInput("192.168.178.", 75, 170, 161, 21)
    $Radio[1] = GUICtrlCreateInput("", 245, 80, 113, 17)
    $Radio[2] = GUICtrlCreateInput("", 245, 110, 113, 17)
    $Radio[3] = GUICtrlCreateInput("", 245, 140, 113, 17)
    $Radio[4] = GUICtrlCreateInput("", 245, 170, 113, 17)
    $SPS_IP = GUICtrlCreateInput("192.168.178.", 384, 272, 121, 21)
    $SPS_IP_TEXT = GUICtrlCreateLabel("SPS_IP", 384, 248, 41, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    ; Programm Start

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

    While 1
    $nMsg = GUIGetMsg()

    AdlibRegister ( ip_Abfrage(),5000) ;Funktion alle 5sec aufrufen

    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit

    EndSwitch
    WEnd

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

    ; Funktiom Abfrab ob IP Online ist
    Func ip_Abfrage()

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

    For $i = 1 TO 4
    $IP_X = GUICtrlRead ($Input[$i]) ; Lese IP aus GUI

    $iPing = Ping($IP_X,100) ;Abfrage ob IP im Netzwerk vorhanden , Online ist

    If $iPing = 0 Then
    GUICtrlSetData ($Radio[$i], "Offline") ; Wenn IP Online schreibe in GUI Online

    Else
    GUICtrlSetData ($Radio[$i], "Online") ; Wenn IP Offline schreibe in GUI Offline

    EndIf

    Next
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • emilio20
    • 16. Dezember 2013 um 20:33

    Hallo

    da ich in AutoIT noch Anfänger bin wäre mir sehr geholfen wenn mir jemand erklären
    könnte was ich zu einer Libnodave TCP Verbindung benötige.

    Wie wurde das Script über TCP aussehen?

    Das Demo Programm funktioniert bei mir, allerdings versteh ich im Script fast nichts.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™