Hallo
gibt es eine Möglichkeit von einer IP Cam einen Live Stream in GUI anzuzeigen ?
Beiträge von emilio20
-
-
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.htmlleider könnte ich noch nicht herausfinde wie die jpg adresse des Kamerabildes ist.
-
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]
[/autoit][autoit][/autoit][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=1EndFunc
[/autoit][autoit][/autoit][autoit][/autoit] -
Hallo
[autoit][/autoit][autoit][/autoit][autoit]
habe einfach die Funktion GUISetState getauschtCase $GUI_EVENT_CLOSE
[/autoit][autoit][/autoit][autoit][/autoit]
GUISetState(@SW_HIDE, $hConfigGui)
GUISetState(@SW_SHOW, $gui1)
Case $Buttonspeichern
SaveConfigGui()
LoadConfigGui()
GUISetState(@SW_HIDE, $hConfigGui)
GUISetState(@SW_SHOW, $gui1) -
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]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <Func.au3>;********************************************GUI 1 ********************************************
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$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);*****************************************GUI Einstellung****************************************
[/autoit] [autoit][/autoit] [autoit]
$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);Zeige GUI 1 an
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetState (@sw_show,$gui1);*********************************************************************************************
[/autoit] [autoit][/autoit] [autoit]
RandPic ()
LoadConfigGui()While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$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
WEndFunc RandPic ()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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;Werte Speicherin
[/autoit] [autoit][/autoit] [autoit]
Func SaveConfigGui()
$Pfad = GUICtrlRead ($GUIPfad)
$Anzahl = GUICtrlRead ($GUIAnzahl)
_SaveConfigGui()
EndFunc;Werte Laden
[/autoit] [autoit][/autoit] [autoit][/autoit]
Func LoadConfigGui()
_LoadConfigGui()
GUICtrlSetData ($GUIPfad,$Pfad)
GUICtrlSetData ($GUIAnzahl,$Anzahl)
EndFunc
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
;Funktionen
Global $Pfad
Global $Anzahl;Funktion Bild Aufnahmen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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;Input Werte Speicherin in int
[/autoit] [autoit][/autoit] [autoit]
Func _SaveConfigGui()
$_save = $Pfad
IniWrite(@ScriptDir & "\setup.ini", "Pfad", "Adresse", $_save)
$_save = $Anzahl
IniWrite(@ScriptDir & "\setup.ini", "Bild", "Anzahl", $_save)
EndFunc;Input werte lesen aus int
[/autoit]
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 -
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 -
Hallo
gibt es die möglichkeit eine Fritz DECT 200 mit einem Autoit Script zu steuerun und den Verbrauchswert auszulesen ? -
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 SPSSpoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [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"; Globale Variablen
[/autoit] [autoit][/autoit] [autoit]
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 = 2Global $Status [20]
[/autoit] [autoit][/autoit] [autoit]Global $Run
[/autoit] [autoit][/autoit] [autoit]
Global $iRetGlobal $Buffer
[/autoit] [autoit][/autoit] [autoit];Farben
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $Gruen= 0x00FF00
Global $Weiss =0xFFFFFF#Region ### START Koda GUI section ### Form=c:\users\andreas\downloads\test1\libnodave\netzwerkanwesenheit sps.kxf
[/autoit] [autoit][/autoit] [autoit]
$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)$hListView = GUICtrlCreateListView("IP Adresse | Status IP | SPS Adresse |Status DB",10,50,490,200)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$Menue_ListView = GUICtrlCreateContextMenu($hListView)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$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 ###;*****************************************************************+Hauptprogramm**********************************************************
[/autoit] [autoit][/autoit] [autoit]
; Programm Start
;IP Adressen aus Config laden
_LoadConfigGui()AdlibRegister ( "_Schritkette",10000) ;Funktion alle 5sec aufrufen
[/autoit] [autoit][/autoit] [autoit]
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;*****************************Funktionen********************************************************
[/autoit] [autoit][/autoit] [autoit]
;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;Input Werte Speicherin in int
[/autoit] [autoit][/autoit] [autoit]
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;Input werte lesen aus int
[/autoit] [autoit][/autoit] [autoit]
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;Verbindung aufbauen
[/autoit] [autoit][/autoit] [autoit]
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;Schreiben
[/autoit]
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 -
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.0Jetzt 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.DBW1Gibt es eine Funktion wo ich nach DB. suche und den die nächsten Zahlenwerte in $DB speichere ?
-
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.
-
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>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include "LibNoDave.au3"; Globale Variablen
[/autoit] [autoit][/autoit] [autoit]
Global $Anzahl = 4 ; Anzahl der IP AbfragenGlobal $Socket_SPS ; Der Socket wird von _daveTCPConnect() beschrieben
[/autoit] [autoit][/autoit] [autoit]
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 $iRetGlobal $Buffer
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=c:\users\andreas\downloads\test1\libnodave\netzwerkanwesenheit sps.kxf
[/autoit] [autoit][/autoit] [autoit]
$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)$Radio[1] = GUICtrlCreateInput("", 208, 80, 57, 21,$ES_READONLY)
[/autoit] [autoit][/autoit] [autoit]
$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)$GUI_DB[1] = GUICtrlCreateInput("DB1", 296, 80, 25, 21,$ES_NUMBER)
[/autoit] [autoit][/autoit] [autoit]
$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)$GUI_Byte[1] = GUICtrlCreateInput("Byte1", 328, 80, 25, 21,$ES_NUMBER)
[/autoit] [autoit][/autoit] [autoit]
$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)$Label1 = GUICtrlCreateLabel("IP Adressen", 40, 56, 61, 17)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$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 ###;*****************************************************************+Hauptprogramm**********************************************************
[/autoit] [autoit][/autoit] [autoit]
; Programm Start
;IP Adressen aus Config laden
_LoadConfigGui()AdlibRegister ( "_Schritkette",10000) ;Funktion alle 5sec aufrufen
[/autoit] [autoit][/autoit] [autoit]
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;*****************************Funktionen********************************************************
[/autoit] [autoit][/autoit] [autoit]
;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;Input Werte Speicherin in int
[/autoit] [autoit][/autoit] [autoit]
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;Input werte lesen aus int
[/autoit] [autoit][/autoit] [autoit]
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;Verbindung aufbauen
[/autoit] [autoit][/autoit] [autoit]
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;Schreiben
[/autoit] [autoit][/autoit] [autoit][/autoit]
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" )
EndFuncJetzt 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]
[/autoit][autoit][/autoit][autoit][/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 -
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]
[/autoit][autoit][/autoit][autoit][/autoit]
Case $Start
Global $wert = _GUICtrlListView_GetItemTextString($hListView, 0)
GUICtrlSetData($Verbunden,$wert)Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [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"; Globale Variablen
[/autoit] [autoit][/autoit] [autoit]
Global $Anzahl = 4 ; Anzahl der IP AbfragenGlobal $Socket_SPS ; Der Socket wird von _daveTCPConnect() beschrieben
[/autoit] [autoit][/autoit] [autoit]
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 $iRetGlobal $Buffer
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=c:\users\andreas\downloads\test1\libnodave\netzwerkanwesenheit sps.kxf
[/autoit] [autoit][/autoit] [autoit]
$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)$hListView = GUICtrlCreateListView("IP Adresse | Status IP | SPS Adresse |Status DB",10,50,490,200)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$Menue_ListView = GUICtrlCreateContextMenu($hListView)
[/autoit] [autoit][/autoit] [autoit]
$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 ###Global $GUI_IP_SPS
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];*****************************************************************+Hauptprogramm**********************************************************
[/autoit] [autoit][/autoit] [autoit]
; Programm Start
;IP Adressen aus Config laden
_LoadConfigGui()AdlibRegister ( "_Schritkette",10000) ;Funktion alle 5sec aufrufen
[/autoit] [autoit][/autoit] [autoit][/autoit]
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
WEndOK habs raus
[autoit]
[/autoit]
Case $Start
$aItem = _GUICtrlListView_GetItemTextArray($hListView, 0)
$sText = ( $aItem[1]) -
Nein das meine ich nicht. Den befehl kenne ich ja
Ich mochte den wert aus Spalte 0 und Zeile 0 lesen
[autoit]
ewar so
[/autoit]
GUICtrlRead($listview,0, 0)Aber das geht nicht so
-
Hallo
[autoit]
habe ein eine ListView erstellt in dem sich verschiedene Daten befinden.
[/autoit][autoit][/autoit][autoit][/autoit]
$hListView = GUICtrlCreateListView("IP Adresse | Status IP | SPS Adresse |Status DB",10,50,490,200)Jetzt möchte ich für die weitere verarbeitung die IP Adresse aus der Listview lesen.
Mit welchen Befehl kann ich den eintrag auslesen ? -
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^ ERRORSpoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include "LibNoDave.au3"Global $IPAddress = "192.168.178.30"
[/autoit] [autoit][/autoit] [autoit]
_DaveInit()$fds = DllStructCreate($_daveOSserialType)
[/autoit] [autoit][/autoit] [autoit]$hSocket = _openSocket($IPAddress,102)
[/autoit] [autoit][/autoit] [autoit]
DllStructSetData($fds, "rfd", $hSocket)
DllStructSetData($fds, "wfd", $hSocket);MsgBox(0,"$hSocket","= "& $hSocket)
[/autoit] [autoit][/autoit] [autoit]$p_di = _daveNewInterface($fds,"IF1",0,$daveProtoISOTCP,$daveSpeed187k)
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite("$p_di = " & $p_di & @CR)
_daveInitAdapter($p_di);_daveSetTimeout($p_di, 5000000)
[/autoit] [autoit][/autoit] [autoit];$p_dc = _daveNewConnection($p_di, 2, 2, 0)
[/autoit] [autoit][/autoit] [autoit]
$p_dc = _daveNewConnection($p_di, 1, 1, 0)
ConsoleWrite("$p_dc = " & $p_dc & @CR)If ( _daveConnectPLC($p_dc) = 0 ) then
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0,"CONNECTET",";-) ")Else
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0,"dislike",_daveConnectPLC($p_dc))EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]_closeSocket($hSocket)
[/autoit] [autoit][/autoit] [autoit]
_DaveDeInit()Exit
[/autoit] [autoit][/autoit] [autoit][/autoit] -
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]
[/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]Global $Run
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; 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 ###; Programm Start
[/autoit] [autoit][/autoit] [autoit]
;IP Adressen aus Config laden
_LoadConfigGui()AdlibRegister ( "ip_Abfrage",5000) ;Funktion alle 5sec aufrufen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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; Funktiom Abfrab ob IP Online ist
[/autoit] [autoit][/autoit] [autoit]
Func ip_Abfrage()For $i = 1 TO 4
[/autoit] [autoit][/autoit] [autoit]$IP_X = GUICtrlRead ($Input[$i]) ; Lese IP aus GUI
[/autoit] [autoit][/autoit] [autoit]
$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;IP Adressen Speicherin in int
[/autoit] [autoit][/autoit] [autoit]
Func _SaveConfigGui()
For $i = 1 to 4
$_save = GUICtrlRead ($Input[$i])
IniWrite(@ScriptDir & "\setup.ini", "Adresse", "ip"&$i, $_save)
Next
EndFunc;IP Adressen lesen aus int
[/autoit] [autoit][/autoit] [autoit][/autoit]
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 -
Wenn ich es so mache funktioniert mein Programm nicht . Kannst du es mal Testen und den Code senden ?
-
Hallo
wenn ich die Funktion vor der While schleife setze wird sie nur 1 mal ausgeführt. Ich benötige eine permanente Abfrage -
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>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#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 ###; Programm Start
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
AdlibRegister ( ip_Abfrage(),5000) ;Funktion alle 5sec aufrufen
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd; Funktiom Abfrab ob IP Online ist
[/autoit] [autoit][/autoit] [autoit]
Func ip_Abfrage()For $i = 1 TO 4
[/autoit] [autoit][/autoit] [autoit][/autoit]
$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 -
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.