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. Stoani

Beiträge von Stoani

  • Notification von PC an IOS - Gerät senden

    • Stoani
    • 18. Februar 2016 um 23:41

    Ich hab kurz überlegt, und mir dann gedacht, was soll man schon mit einer Email Adresse machen...

    Aber wenn du das sagst ;)

    EDIT1:

    Eine Frage hab ich noch:

    Und zwar zum Thema Smtp. Ich bekomme die _INetSmtpMailCom() Funktion für Outlook.com nicht zum laufen. Liegt es daran, dass eine TLS und keine SSL verwendet wird?! :?:
    EDIT 2:

    Hier meine Variablen für _INETSmtpMailCom()

    AutoIt
    $SmtpServer = "smtp-mail.outlook.com" 						; address for the smtp-server to use - REQUIRED
    $FromName = "XXXXXXXXXX@outlook.com"		; name from who the email was sent
    $FromAddress = "XXXXXXXXX@outlook.com" 	; address from where the mail should come
    $ToAddress = "XXXXXX@outlook.com" 					; destination address of the email - REQUIRED
    $Subject = "TEST" 									; subject from the email - can be anything you want it to be
    $Body = "TEST" 										; the messagebody from the mail - can be left blank but then you get a blank mail
    $AttachFiles = "" 									; the file(s) you want to attach seperated with a ; (Semicolon) - leave blank if not needed
    $CcAddress = "" 									; address for cc - leave blank if not needed
    $BccAddress = "" 									; address for bcc - leave blank if not needed
    $Importance = "High"								; Send message priority: "High", "Normal", "Low"
    $Username = "XXXXXXXXXX@outlook.com"		; username for the account used from where the mail gets sent - REQUIRED
    $Password = "XXXXXXXXX" 							; password for the account used from where the mail gets sent - REQUIRED
    $IPPort = 587										; port used for sending the mail
    $ssl = 1
    Alles anzeigen

    Schöne Grüße,
    Stoani

  • Notification von PC an IOS - Gerät senden

    • Stoani
    • 18. Februar 2016 um 23:20

    Hier mal eine kleine Übersicht des Scripts:

    AutoIt
    #include <_StringBetween2.au3>
    #include <_StringSplitRegExp.au3>
    #include <File.au3>
    #include <Array.au3>
    
    
    $SmtpServer = "smtp.mail.yahoo.com" ; address for the smtp-server to use - REQUIRED
    $FromName = "XXXXXXXXXX" ; name from who the email was sent
    $FromAddress = "XXXXXXXXXXXXXXXXX" ; address from where the mail should come
    $ToAddress = "XXXXXXXXXXXXXXX" ; destination address of the email - REQUIRED
    $Subject = "" ; subject from the email - can be anything you want it to be
    $Body = "" ; the messagebody from the mail - can be left blank but then you get a blank mail
    $AttachFiles = "" ; the file(s) you want to attach seperated with a ; (Semicolon) - leave blank if not needed
    $CcAddress = "" ; address for cc - leave blank if not needed
    $BccAddress = "" ; address for bcc - leave blank if not needed
    $Importance = "High" ; Send message priority: "High", "Normal", "Low"
    $Username = "XXXXXXXXXXXXXXX" ; username for the account used from where the mail gets sent - REQUIRED
    $Password = "XXXXXXXXXXXX" ; password for the account used from where the mail gets sent - REQUIRED
    $IPPort = 465 ; port used for sending the mail
    $ssl = 1
    
    
    While 1
    	_Read()
    	Sleep(5000)
    WEnd
    
    
    Func _Read()
    	$GM = "GMUNDEN"
    	$VB = "VÖCKLABRUCK"
    	_GetData($GM)
    	_GetData($VB)
    EndFunc   ;==>_Read
    
    
    
    
    
    
    Func _GetData($var1)
    	Global $String = Execute("'" & StringRegExpReplace(BinaryToString(InetRead("http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=", 1), 1), "(\\u([[:xdigit:]]{4}))", "' & ChrW(0x$2) & '") & "'") ;<======= LAUFEND
    	$StrSpl_RAW = _StringSplitRegExp($String, '"einsatz"')
    	ConsoleWrite(@CR & "Scan für Einsätze mit Stichwort: " & $var1 & " => gestartet")
    	For $a = 1 To UBound($StrSpl_RAW) - 1
    		Sleep(50)
    		ConsoleWrite(@CR & "Durchsucht: " & $a & " von " & UBound($StrSpl_RAW) - 1)
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], '"', "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], '}', "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], '{', "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], ')', "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], ';', "")
    		$StrSpl_RAW[$a] = StringRegExpReplace($StrSpl_RAW[$a], ":", "", 1)
    		$StrLen = StringLen($StrSpl_RAW[$a])
    		$LastDigit = StringMid($StrSpl_RAW[$a], $StrLen)
    		$Alpha = StringIsAlpha($LastDigit)
    		While $Alpha = 0
    			$StrSpl_RAW[$a] = StringTrimRight($StrSpl_RAW[$a], 1)
    			$StrLen = $StrLen - 1
    			$LastDigit = StringMid($StrSpl_RAW[$a], $StrLen)
    			$Alpha = StringIsAlpha($LastDigit)
    		WEnd
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], ",", ".", 5)
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], ".", ",", 4)
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], ",", ".", 3)
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], ".", ",", 2)
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "=", ":")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], ",", "|")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "wgs84:", "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], ".status:", "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "cntfeuerwehren", "anzahl")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "feuerwehren:", "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "id:", "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "default:", "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "text", "einsatzbezeichnung", 1)
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "text", "einsatzsubbezeichnung", 1)
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "text", "bezirkbezeichnung", 1)
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "estnum", "straßennummer", 1)
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "default:", "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], ":", "")
    		$StrSpl_RAW[$a] = StringReplace($StrSpl_RAW[$a], "\", "")
    		$StrSpl_RAW[$a] = StringUpper($StrSpl_RAW[$a])
    		$StrSpl_DETAIL = StringSplit($StrSpl_RAW[$a], "|", 2)
    		Select
    			Case StringRegExp($StrSpl_RAW[$a], $var1) = 1
    ;~ 				_ArrayDisplay($StrSpl_DETAIL)
    				For $d = 0 To UBound($StrSpl_DETAIL) - 1
    					$StrSpl_DETAIL[$d] = StringReplace($StrSpl_DETAIL[$d], ":", "")
    					Select
    						Case StringRegExp($StrSpl_DETAIL[$d], "NUM1") = 1
    
    
    							$NUMMER = StringReplace($StrSpl_DETAIL[$d], "NUM1", "", 1)
    							If FileExists(@ScriptDir & "\data\old\" & $NUMMER & ".txt") = 1 Then
    								ExitLoop
    							EndIf
    							ConsoleWrite(@CR & "- " & $NUMMER)
    
    
    						Case StringRegExp($StrSpl_DETAIL[$d], "EINSATZORT") = 1
    							$EINSATZORT = StringReplace($StrSpl_DETAIL[$d], "EINSATZORT", "Einsatzort: ")
    							FileWriteLine(@ScriptDir & "\data\new\" & $NUMMER & ".txt", $EINSATZORT)
    							ConsoleWrite(@CR & "- " & $EINSATZORT)
    						Case StringRegExp($StrSpl_DETAIL[$d], "EINSATZSUBBEZEICHNUNG") = 1
    							$EINSATZSUBBEZEICHNUNG = StringReplace($StrSpl_DETAIL[$d], "EINSATZSUBBEZEICHNUNG", "Info: ")
    							FileWriteLine(@ScriptDir & "\data\new\" & $NUMMER & ".txt", $EINSATZSUBBEZEICHNUNG)
    							ConsoleWrite(@CR & "- " & $EINSATZSUBBEZEICHNUNG)
    						Case StringRegExp($StrSpl_DETAIL[$d], "ADRESSE") = 1
    							$ADRESSE = StringReplace($StrSpl_DETAIL[$d], "ADRESSE", "Adresse: ")
    							FileWriteLine(@ScriptDir & "\data\new\" & $NUMMER & ".txt", $ADRESSE)
    							ConsoleWrite(@CR & "- " & $ADRESSE)
    						Case StringRegExp($StrSpl_DETAIL[$d], "FEUERWEHR") = 1
    							$FEUERWEHR = StringReplace($StrSpl_DETAIL[$d], "FEUERWEHR", "Feuerwehr: ")
    							$FEUERWEHR = StringRegExpReplace($FEUERWEHR, "\d", "")
    							FileWriteLine(@ScriptDir & "\data\new\" & $NUMMER & ".txt", $FEUERWEHR)
    							ConsoleWrite(@CR & "- " & $FEUERWEHR)
    						Case StringRegExp($StrSpl_DETAIL[$d], "ALARMSTUFE") = 1
    							$ALARMSTUFE = StringReplace($StrSpl_DETAIL[$d], "ALARMSTUFE", "Alarmstufe: ")
    							FileWriteLine(@ScriptDir & "\data\new\" & $NUMMER & ".txt", $ALARMSTUFE)
    							ConsoleWrite(@CR & "- " & $ALARMSTUFE)
    						Case StringRegExp($StrSpl_DETAIL[$d], "STARTZEIT") = 1
    							$STARTZEIT = StringReplace($StrSpl_DETAIL[$d], "STARTZEIT", "Einsatzbeginn: ")
    							FileWriteLine(@ScriptDir & "\data\new\" & $NUMMER & ".txt", $STARTZEIT)
    							ConsoleWrite(@CR & "- " & $STARTZEIT)
    						Case StringRegExp($StrSpl_DETAIL[$d], "ECOMPL") = 1
    							$INFO = StringReplace($StrSpl_DETAIL[$d], "ECOMPL", "Freitext: ")
    							FileWriteLine(@ScriptDir & "\data\new\" & $NUMMER & ".txt", $INFO)
    							ConsoleWrite(@CR & "- " & $INFO)
    					EndSelect
    
    
    
    
    				Next
    				ConsoleWrite(@CR & "- " & $a & " SUCCESS")
    				If FileExists(@ScriptDir & "\data\old\" & $NUMMER & ".txt") = 0 Then
    					ConsoleWrite(@CR & "- ############ Versendet! nr.: " & $NUMMER & " #############################")
    					Local $ReadFile = FileRead(@ScriptDir & "\data\new\" & $NUMMER & ".txt")
    ;~ 					MsgBox(0,"LFK-News",$ReadFile)
    					$Body = $ReadFile
    					$Subject = "Neuer Einsatz! Nr.: "&$NUMMER
    					Global $oMyRet[2]
    					Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
    					$rc = _INetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $AttachFiles, $CcAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl)
    					If @error Then
    						MsgBox(0, "Error sending message", "Error code:" & @error & "  Description:" & $rc)
    					EndIf
    					FileMove(@ScriptDir & "\data\new\" & $NUMMER & ".txt", @ScriptDir & "\data\old\" & $NUMMER & ".txt")
    				EndIf
    		EndSelect
    	Next
    	ConsoleWrite(@CR & "Scan für Einsätze mit Stichwort: " & $var1 & " => beendet")
    EndFunc   ;==>_GetData
    
    
    
    
    Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance = "Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
    	Local $objEmail = ObjCreate("CDO.Message")
    	$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
    	$objEmail.To = $s_ToAddress
    	Local $i_Error = 0
    	Local $i_Error_desciption = ""
    	If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
    	If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
    	$objEmail.Subject = $s_Subject
    	If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
    		$objEmail.HTMLBody = $as_Body
    	Else
    		$objEmail.Textbody = $as_Body & @CRLF
    	EndIf
    	If $s_AttachFiles <> "" Then
    		Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
    		For $x = 1 To $S_Files2Attach[0]
    			$S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
    ;~          ConsoleWrite('@@ Debug : $S_Files2Attach[$x] = ' & $S_Files2Attach[$x] & @LF & '>Error code: ' & @error & @LF) ;### Debug Console
    			If FileExists($S_Files2Attach[$x]) Then
    				ConsoleWrite('+> File attachment added: ' & $S_Files2Attach[$x] & @LF)
    				$objEmail.AddAttachment($S_Files2Attach[$x])
    			Else
    				ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
    				SetError(1)
    				Return 0
    			EndIf
    		Next
    	EndIf
    	$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    	$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
    	If Number($IPPort) = 0 Then $IPPort = 25
    	$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
    	;Authenticated SMTP
    	If $s_Username <> "" Then
    		$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    		$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
    		$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
    	EndIf
    	If $ssl Then
    		$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    	EndIf
    	;Update settings
    	$objEmail.Configuration.Fields.Update
    	; Set Email Importance
    	Switch $s_Importance
    		Case "High"
    			$objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "High"
    		Case "Normal"
    			$objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "Normal"
    		Case "Low"
    			$objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "Low"
    	EndSwitch
    	$objEmail.Fields.Update
    	; Sent the Message
    	$objEmail.Send
    	If @error Then
    		SetError(2)
    		Return $oMyRet[1]
    	EndIf
    	$objEmail = ""
    EndFunc   ;==>_INetSmtpMailCom
    ;
    ;
    ; Com Error Handler
    Func MyErrFunc()
    	$HexNumber = Hex($oMyError.number, 8)
    	$oMyRet[0] = $HexNumber
    	$oMyRet[1] = StringStripWS($oMyError.description, 3)
    	ConsoleWrite("### COM Error !  Number: " & $HexNumber & "   ScriptLine: " & $oMyError.scriptline & "   Description:" & $oMyRet[1] & @LF)
    	SetError(1); something to check for when this function returns
    	Return
    EndFunc   ;==>MyErrFunc
    Alles anzeigen


    Noch in arbeit, aber vielleicht hat jemand Verbesserungsvorschläge und außerdem gehört es sich ja wohl auch, denn eigentlich betreffenden Code zu posten, nachdem man Hilfe dafür bekommen hat ;)

    Schöne Grüße, Stoani :rock:

  • Notification von PC an IOS - Gerät senden

    • Stoani
    • 18. Februar 2016 um 16:49

    Sorry, dass ich erst jetzt antworten kann, viel um die Ohren.

    Danke erstmal für die vielen Ideen, ich werde das ganze wahrscheinlich tatsächlich über _INetSmtpMailCom() laufen lassen. Scheint stabil und zuverlässig zu laufen und funktioniert einfach.

    Als kleinen Mangel könnte man noch anführen, dass es teilweise starke Schwankungen in der Sendezeit gibt. Ab und zu nur 30sec, ein andermal mehr als 4min.

    Trotzdem danke und ab morgen dann ein schönes Wochenende!

    Schöne Grüße, Stoani

  • Notification von PC an IOS - Gerät senden

    • Stoani
    • 17. Februar 2016 um 08:48
    Zitat

    @Stoani,wenn du es schon machen willst mach es bitte vernünftig und nicht mit ImageSearch!

    Wie genau geht vernünftig mit einer Website welche ich nicht mit Control/Click, Send, etc. ansteuern kann? Die Edge Version ist soweit ich weiß noch nicht veröffentlicht.
    Ich hab in einem Forum letztens zwar etwas von einer Embeded-Version gelesen, allerdings weiß ich noch nicht, ob dass auch so funktioniert wie ich mir das vorstelle.

  • Notification von PC an IOS - Gerät senden

    • Stoani
    • 16. Februar 2016 um 22:54

    Ok, werde ich beides über Nacht durch meine Gehirnwindungen wandern lassen.

    Falls nichts so recht klappt, würde ich dennoch zu WhatsApp Web tendieren. Mit Imagesearch und einem guten Timeout bzw. Error - Handling sollte es dennoch machbar sein.

    Auf jeden Fall einmal vielen vielen Dank an alle, die sich kurz einen Moment Zeit genommen haben :)

    Schöne Grüße,
    Stoani

  • Notification von PC an IOS - Gerät senden

    • Stoani
    • 16. Februar 2016 um 22:43

    Moinsen Homer,

    naja ist halt a.) kostenpflichtig und b.) wieder eine extra App für den Endverbraucher.

    Aber danke für den Vorschlag, ich werds mir nochmal genauer anschauen.

    Schöne Grüße,
    Stoani

  • Notification von PC an IOS - Gerät senden

    • Stoani
    • 16. Februar 2016 um 22:15

    Hi alpines,

    hab mal eben gegoogelt und direkt etwas versprechendes Entdeckt.
    https://itunes.apple.com/de/app/feed-push/id338413870?mt=8

    Wie erstelle ich mit Autoit ein RSS-Feed? Ist sowas einfach eine HTML - Website oder wie muss ich mir das vorstellen?

    Spoiler anzeigen

    ja ich googel es ja schon ;)

    Danke für die flotte Antwort


    EDIT 1-2:


    Also müsste ich eine WebSite mit Autoit erstellen und eine RSS-Feed Funktion erstellen welche wiederum über einen RSS-Feed-Reader vom Smartphone aus angesteuert wird.

    Wenn ja, wie?

    Reicht eine einfache HTML - Seite mit den Datensätzen aus?
    Ein Layout brauche ich ja eigentlich nicht.


    Links, oder Pointer reichen völlig aus.

  • Notification von PC an IOS - Gerät senden

    • Stoani
    • 16. Februar 2016 um 22:10

    Hallo liebe Leute,

    leider stehe ich derzeit mal wieder komplett am Kabel und weiß überhaupt nicht mehr weiter.
    Folgendes Problem:

    Ein Programm welches Datensätze sammelt und vergleicht, soll eine Benachrichtigung an ein oder mehrere Mobilgeräte versenden.
    Meine Ansätze waren derzeit:
    - Facebook Messenger, ist allerdings etwas zu langsam und ich bekomme keine Benachrichtigung wenn ich mir "selber" etwas schicke. Zweitaccount ist zwar eine Alternative allerdings kann so etwas jeder sehen und es ist einfach umständlich wie Sau ;)
    - WhatsApp-Web, da es davon keine Internet Explorer - Version gibt und ich mit der Chrome UDF nicht besonders glücklich bin, fällt diese Option leider weg. Es ginge zwar mit MouseClick und Winmove allerdings ist das sehr unrund und fehleranfällig.
    - Gratis SMS Versand, meistens mit Captchas und daher für mich nicht möglich.
    - PushBullet, müsste auf jedem Endverbraucher Gerät installiert werden :/

    Gibt es noch andere Varianten um vom PC aus eine Benachrichtigung aufs Handy zu bekommen?
    Eine eigene App zu Programmieren wäre die eleganteste Lösung. Allerdings bin ich darin genau gar nicht bewandt und die Veröffentlichung im AppStore dürfe ziemlich schwierig sein...

    Vielleicht hat jemand einen guten Ansatz. Würde mich freuen.

    Schöne Grüße und eine angenehme restliche Arbeitswoche,
    Stoani

  • IE - Auslesen, Stringformatierung, Error - Handling

    • Stoani
    • 3. Februar 2016 um 12:43

    Nein. Auch von uns im Rettungsdienst bekommst du keine Auskunft.
    Frag mich nicht wieso.

    Gendarmerie gibt es schon lange nicht mehr. So weit in der Steinzeit leben wir auch nicht mehr ;)

    Edit1:

    Soweit so gut. Läuft wie geschmiert. Mit deinem Ansatz lässt sich wirklich so einiges Anstellen @Kanashius !

    AutoIt
    #include <array.au3>
    $oIE_getBinary = InetRead("http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=",1)
    $oIE_toString = BinaryToString($oIE_getBinary,1);	<-- Binary zu String (ANSI) Konvertierung.
    
    
    $StrRep_1 = Execute("'" & StringRegExpReplace($oIE_toString, "(\\u([[:xdigit:]]{4}))","' & ChrW(0x$2) & '") & "'");	<-- UNI-Code Schriftzeichen.
    $StrRep_2 = StringRegExpReplace($StrRep_1,'"',"*");	<-- Alle Anführungs - Zeichen ersetzen. Anführungszeichen sind verwirrend ;)
    
    
    $StrWS_1 = StringStripWS($StrRep_2,4);	<-- Alle Leerzeichen entfernen.
    
    
    #Region FileWrite;	<-- String in "String.txt" NEU abspeichern (Alte Version wird ggf. gelöscht) und neu einlesen. Erleichtert das Scripten, da nicht immer neu aus dem Netz geladen werden muss.
    FileDelete(@ScriptDir&"\Current.txt")
    FileWrite(@ScriptDir&"\Current.txt",$StrWS_1)
    $Current_String = FileRead(@ScriptDir&"\Current.txt")
    #EndRegion
    
    
    $AnzahlEinsaetze = _StringBetween2($StrWS_1,"*cnt_einsaetze*:",",*einsaetze*")
    $AnzahlFeuerwehren = _StringBetween2($StrWS_1,"*cnt_feuerwehren*:",",*cnt_einsaetze*")
    
    
    ConsoleWrite(@CR&"- Laufende Einsätze: "&$AnzahlEinsaetze&@CR)
    ConsoleWrite(@CR&"- Feuerwehren im Einsatz: "&$AnzahlFeuerwehren&@CR)
    
    
    Func _StringBetween2($s, $from, $to)
        $x = StringInStr($s, $from) + StringLen($from)
        $y = StringInStr(StringTrimLeft($s, $x), $to)
        Return StringMid($s, $x, $y)
    EndFunc  ;==>_StringBetween
    Alles anzeigen


    _StringBetween2 hab ich mir aus diesem Thread gemobst: https://www.autoitscript.com/forum/topic/89554-parsing-html-data/?do=findComment&comment=643708

    Danke an
    StrategicX


    Falls jemand Lust und Laune hat, kann er ja gern noch ein paar Pointer zum Thema 24/7 abgeben. Ich würde wahrscheinlich AdlibRegister verwenden. Vorschläge?

    Edit2:
    Noch mehr Codegeschnipsel ;)


    AutoIt
    #include <array.au3>
    #include <_StringBetween2.au3>
    
    
    
    
    ;~ $oIE_getBinary = InetRead("http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=",1)
    ;~ $oIE_toString = BinaryToString($oIE_getBinary,1);	<-- Binary zu String (ANSI) Konvertierung.
    
    
    ;~ $StrRep_1 = Execute("'" & StringRegExpReplace($oIE_toString, "(\\u([[:xdigit:]]{4}))","' & ChrW(0x$2) & '") & "'");	<-- UNI-Code Schriftzeichen.
    ;~ $StrRep_2 = StringRegExpReplace($StrRep_1,'"',"*");	<-- Alle Anführungs - Zeichen ersetzen. Anführungszeichen sind verwirrend ;)
    
    
    ;~ $StrWS_1 = StringStripWS($StrRep_2,4);	<-- Alle Leerzeichen entfernen.
    
    
    ;~ #Region FileWrite;	<-- String in "String.txt" NEU abspeichern (Alte Version wird ggf. gelöscht) und neu einlesen. Erleichtert das Scripten, da nicht immer neu aus dem Netz geladen werden muss.
    ;~ FileDelete(@ScriptDir&"\Current1.txt")
    ;~ FileWrite(@ScriptDir&"\Current1.txt",$StrWS_1)
    $StrWS_1 = FileRead(@ScriptDir&"\Current.txt")
    ;~ #EndRegion
    
    
    
    
    $AnzahlEinsaetze = _StringBetween2($StrWS_1,"*cnt_einsaetze*:",",*einsaetze*")
    If $AnzahlEinsaetze = 0 Then
    	ConsoleWrite(@CR & "- Keine Einsätze![code:1]" & @CR)
    EndIf
    
    
    $AnzahlFeuerwehren = _StringBetween2($StrWS_1,"*cnt_feuerwehren*:",",*cnt_einsaetze*")
    If $AnzahlFeuerwehren = 0 Then
    	ConsoleWrite(@CR & "- Keine Feuerwehren im Einsatz![code:2]" & @CR)
    EndIf
    
    
    _Einsatznummer()
    
    
    Func AuftragAuslesenALLES()
    
    
    EndFunc
    
    
    Func AuftragAuslesenNORMAL()
    
    
    EndFunc
    
    
    Func AuftragAuslesenWENIG()
    
    
    EndFunc
    
    
    Func _Einsatznummer()
    	#Region Variablen
    		Local $String = $StrWS_1
    	#EndRegion
    
    
    	For $a = 1 To $AnzahlEinsaetze
    
    
    		$Nr_Temp  = _StringBetween2($String,"*num1*:*","*,*einsatzort*")
    		$String = StringReplace($String,"*einsatz*:{*num1*:*","REPLACED",1)
    
    
    		If $Nr_Temp = "" Then
    			ConsoleWrite(@CR & "- Keine Einsatznummer gefunden![code:3]" & @CR)
    		EndIf
    
    
    		#Region Console
    			ConsoleWrite("- Einsatz: " & $a)
    			ConsoleWrite(" --> Nummer: " & $Nr_Temp  & @CR)
    		#EndRegion
    
    
    	Next
    EndFunc
    Alles anzeigen

    Edit3:

    Nächstes Update vom Code, hab mich nun entschieden die Daten erstmal in eine .ini - Datei zu packen. Da laufen sich nicht davon ;)
    Nur wie es mit dem auslesen wird weiß ich noch nicht so ganz. Aber wird schon klappen.


    AutoIt
    #include <array.au3>
    #include <_StringBetween2.au3>
    #include <Date.au3>
    
    
    
    
    $ini_path = @ScriptDir & "\Cache_Data.ini"
    
    
    $oIE_getBinary = InetRead("http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=", 1)
    $oIE_toString = BinaryToString($oIE_getBinary, 1);	<-- Binary zu String (ANSI) Konvertierung.
    
    
    $StrRep_1 = Execute("'" & StringRegExpReplace($oIE_toString, "(\\u([[:xdigit:]]{4}))", "' & ChrW(0x$2) & '") & "'");	<-- UNI-Code Schriftzeichen.
    $StrRep_2 = StringRegExpReplace($StrRep_1, '"', "*");	<-- Alle Anführungs - Zeichen ersetzen. Anführungszeichen sind verwirrend ;)
    
    
    $StrWS_1 = StringStripWS($StrRep_2, 4);	<-- Alle Leerzeichen entfernen.
    
    
    
    
    FileDelete(@ScriptDir & "\Current1.txt")
    FileWrite(@ScriptDir & "\Current1.txt", $StrWS_1)
    $StrWS_1 = FileRead(@ScriptDir & "\Current1.txt")
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    Global $AnzahlEinsaetze = _StringBetween2($StrWS_1, "*cnt_einsaetze*:", ",*einsaetze*")
    If $AnzahlEinsaetze = 0 Then
    	ConsoleWrite(@CR & "[code:1]" & @CR)
    EndIf
    
    
    
    
    
    
    $AnzahlFeuerwehren = _StringBetween2($StrWS_1, "*cnt_feuerwehren*:", ",*cnt_einsaetze*")
    If $AnzahlFeuerwehren = 0 Then
    	ConsoleWrite(@CR & "[code:2]" & @CR)
    EndIf
    ;____________________________________________________________________________________________________________________________________________________________________________________________________
    
    
    _UploadDatum() ; FIRST
    _Einsatzanzahl()
    _Feuerwehranzahl()
    _Nummer()
    _Ort()
    _Start()
    _Alarmstufe()
    _Einsatzart()
    _Untergruppe()
    
    
    
    
    Func _UploadDatum()
    	FileDelete($ini_path) ; Nur bei der ERSTEN Funktion!!!
    	For $a = 1 To $AnzahlEinsaetze
    		IniWrite($ini_path, "Einsatzindex: " & $a, "Uploadzeitpunkt", _Now())
    	Next
    EndFunc   ;==>_UploadDatum
    
    
    
    
    
    
    Func _Einsatzanzahl()
    	For $a = 1 To $AnzahlEinsaetze
    		IniWrite($ini_path, "Einsatzindex: " & $a, "Laufende Einsätze[GESAMT]", $AnzahlEinsaetze)
    	Next
    EndFunc   ;==>_Einsatzanzahl
    
    
    Func _Feuerwehranzahl()
    	For $a = 1 To $AnzahlEinsaetze
    		IniWrite($ini_path, "Einsatzindex: " & $a, "Feuerwehren im Einsatz[GESAMT]", $AnzahlFeuerwehren)
    	Next
    EndFunc   ;==>_Feuerwehranzahl
    
    
    Func _Nummer()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Nr_Temp = _StringBetween2($String, "*num1*:*", "*,*einsatzort*")
    		If $Nr_Temp = "" Then
    			ConsoleWrite(@CR & "[code:3]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*einsatz*:{*num1*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Einsatznummer", $Nr_Temp)
    	Next
    EndFunc   ;==>_Nummer
    
    
    Func _Ort()
    	Local $String = $StrWS_1
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Ort_Temp = _StringBetween2($String, "*einsatzort*:*", "*,*startzeit*:*")
    		If $Ort_Temp = "" Then
    			ConsoleWrite(@CR & "[code:4]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*einsatzort*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Bezirk - Ort", $Ort_Temp)
    	Next
    EndFunc   ;==>_Ort
    
    
    Func _Start()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Zeit_Temp = _StringBetween2($String, "*,*startzeit*:*", "*,*inzeit*")
    		If $Zeit_Temp = "" Then
    			ConsoleWrite(@CR & "[code:5]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*,*startzeit*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Einsatzbeginn", $Zeit_Temp)
    	Next
    EndFunc   ;==>_Start
    
    
    Func _Alarmstufe()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Stufe_Temp = _StringBetween2($String, "*alarmstufe*:", ",*einsatzart*")
    		If $Stufe_Temp = "" Then
    			ConsoleWrite(@CR & "[code:6]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*alarmstufe*:", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Alarmstufe", $Stufe_Temp)
    	Next
    EndFunc   ;==>_Alarmstufe
    
    
    
    
    
    
    Func _Einsatzart()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Art_Temp = _StringBetween2($String, "*einsatzart*:*", "*,*einsatztyp*")
    		If $Art_Temp = "" Then
    			ConsoleWrite(@CR & "[code:7]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*einsatzart*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Einsatzart", $Art_Temp)
    	Next
    EndFunc   ;==>_Alarmstufe
    
    
    
    
    
    
    Func _Untergruppe()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$SubTyp_Temp = _StringBetween2($String, "*einsatzsubtyp*:{*id*:*", "*,*text*:*")
    		If $SubTyp_Temp = "" Then
    			ConsoleWrite(@CR & "[code:6]" & @CR)
    		EndIf
    		$String = StringReplace($String, $SubTyp_Temp, "REPLACED",1)
    		$String = StringReplace($String, "*einsatzsubtyp*:{*id*:*", "REPLACED",1)
    		$SubTyp_Temp = _StringBetween2($String, ",REPLACEDREPLACED*,*text*:*", "*},*adresse*:")
    		$String = StringReplace($String, ",REPLACEDREPLACED*,*text*:*", "REPLACED",1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Untergruppe", $SubTyp_Temp)
    	Next
    	ConsoleWrite($String)
    EndFunc   ;==>_Alarmstufe
    Alles anzeigen

    Edit4:

    Hier ein Auszug der .ini - Datei:

    Code
    [Einsatzindex: 1]
    Uploadzeitpunkt=04.02.2016 14:03:16
    Laufende Einsätze[GESAMT]=4
    Feuerwehren im Einsatz[GESAMT]=5
    Einsatznummer=E160200660
    Bezirk - Ort=SD - SCHARDENBERG
    Einsatzbeginn=Thu, 04 Feb 2016 13:34:24 +0100
    Alarmstufe=1
    Einsatzart=TEE
    Untergruppe=WASSERTRANSPORT
    [Einsatzindex: 2]
    Uploadzeitpunkt=04.02.2016 14:03:16
    Laufende Einsätze[GESAMT]=4
    Feuerwehren im Einsatz[GESAMT]=5
    Einsatznummer=E160200655
    Bezirk - Ort=EF - FRAHAM
    Einsatzbeginn=Thu, 04 Feb 2016 13:14:44 +0100
    Alarmstufe=*2*
    Einsatzart=PERSON
    Untergruppe=VERKEHRSUNFALL EINGEKLEMMTE PERSON
    [Einsatzindex: 3]
    Uploadzeitpunkt=04.02.2016 14:03:16
    Laufende Einsätze[GESAMT]=4
    Feuerwehren im Einsatz[GESAMT]=5
    Einsatznummer=E160200653
    Bezirk - Ort=RO - SANKT PETER AM WIMBERG
    Einsatzbeginn=Thu, 04 Feb 2016 13:10:07 +0100
    Alarmstufe=1
    Einsatzart=TEE
    Untergruppe=FAHRZEUGBERGUNG
    [Einsatzindex: 4]
    Uploadzeitpunkt=04.02.2016 14:03:16
    Laufende Einsätze[GESAMT]=4
    Feuerwehren im Einsatz[GESAMT]=5
    Einsatznummer=E160200649
    Bezirk - Ort=SD - MÜNZKIRCHEN
    Einsatzbeginn=Thu, 04 Feb 2016 12:35:25 +0100
    Alarmstufe=1
    Einsatzart=UNWETTER
    Untergruppe=ÜBERFLUTUNG
    Alles anzeigen

    Funktionen die noch fehlen:

    • Handlung wenn keine Einsätze geladen werden können weil zum Beispiel keine vorhanden sind.

    EDIT5:

    Nochmal ein Source Update. Ich hab soweit alle relevanten Daten raus bekommen, wenn ich Zeit hab, mach ich eventuell noch die Koordinaten und andere unwichtige Daten.
    Jetzt geht es an das Aktualisieren und Verschicken der Pakete.


    AutoIt
    #include <array.au3>
    #include <_StringBetween2.au3>
    #include <Date.au3>
    
    
    
    
    $ini_path = @ScriptDir & "\Cache_Data.ini"
    
    
    $oIE_getBinary = InetRead("http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=", 1)
    $oIE_toString = BinaryToString($oIE_getBinary, 1);	<-- Binary zu String (ANSI) Konvertierung.
    
    
    $StrRep_1 = Execute("'" & StringRegExpReplace($oIE_toString, "(\\u([[:xdigit:]]{4}))", "' & ChrW(0x$2) & '") & "'");	<-- UNI-Code Schriftzeichen.
    $StrRep_2 = StringRegExpReplace($StrRep_1, '"', "*");	<-- Alle Anführungs - Zeichen ersetzen. Anführungszeichen sind verwirrend ;)
    
    
    $StrWS_1 = StringStripWS($StrRep_2, 4);	<-- Alle Leerzeichen entfernen.
    
    
    
    
    FileDelete(@ScriptDir & "\Current1.txt")
    FileWrite(@ScriptDir & "\Current1.txt", $StrWS_1)
    $StrWS_1 = FileRead(@ScriptDir & "\Current.txt")
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    Global $AnzahlEinsaetze = _StringBetween2($StrWS_1, "*cnt_einsaetze*:", ",*einsaetze*")
    If $AnzahlEinsaetze = 0 Then
    	ConsoleWrite(@CR & "[code:1]" & @CR)
    EndIf
    
    
    
    
    
    
    $AnzahlFeuerwehren = _StringBetween2($StrWS_1, "*cnt_feuerwehren*:", ",*cnt_einsaetze*")
    If $AnzahlFeuerwehren = 0 Then
    	ConsoleWrite(@CR & "[code:2]" & @CR)
    EndIf
    
    
    
    
    _UploadDatum() ; FIRST
    _Einsatzanzahl()
    _Feuerwehranzahl()
    _Nummer()
    _Ort()
    _Start()
    _Alarmstufe()
    _Einsatzart()
    _Untergruppe()
    _Adresse()
    _Gemeinde()
    _Region()
    _Feuerwehren()
    
    
    
    
    Func _UploadDatum()
    	FileDelete($ini_path) ; Nur bei der ERSTEN Funktion!!!
    	For $a = 1 To $AnzahlEinsaetze
    		IniWrite($ini_path, "Einsatzindex: " & $a, "Uploadzeitpunkt", _Now())
    	Next
    EndFunc   ;==>_UploadDatum
    
    
    Func _Einsatzanzahl()
    	For $a = 1 To $AnzahlEinsaetze
    		IniWrite($ini_path, "Einsatzindex: " & $a, "Laufende Einsätze[GESAMT]", $AnzahlEinsaetze)
    	Next
    EndFunc   ;==>_Einsatzanzahl
    
    
    Func _Feuerwehranzahl()
    	For $a = 1 To $AnzahlEinsaetze
    		IniWrite($ini_path, "Einsatzindex: " & $a, "Feuerwehren im Einsatz[GESAMT]", $AnzahlFeuerwehren)
    	Next
    EndFunc   ;==>_Feuerwehranzahl
    
    
    Func _Nummer()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Nr_Temp = _StringBetween2($String, "*num1*:*", "*,*einsatzort*")
    		If $Nr_Temp = "" Then
    			ConsoleWrite(@CR & "[code:3]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*einsatz*:{*num1*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Einsatznummer", $Nr_Temp)
    	Next
    EndFunc   ;==>_Nummer
    
    
    Func _Ort()
    	Local $String = $StrWS_1
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Ort_Temp = _StringBetween2($String, "*einsatzort*:*", "*,*startzeit*:*")
    		If $Ort_Temp = "" Then
    			ConsoleWrite(@CR & "[code:4]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*einsatzort*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Bezirk - Ort", $Ort_Temp)
    	Next
    EndFunc   ;==>_Ort
    
    
    Func _Start()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Zeit_Temp = _StringBetween2($String, "*,*startzeit*:*", "*,*inzeit*")
    		If $Zeit_Temp = "" Then
    			ConsoleWrite(@CR & "[code:5]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*,*startzeit*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Einsatzbeginn", $Zeit_Temp)
    	Next
    EndFunc   ;==>_Start
    
    
    Func _Alarmstufe()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Stufe_Temp = _StringBetween2($String, "*alarmstufe*:", ",*einsatzart*")
    		If $Stufe_Temp = "" Then
    			ConsoleWrite(@CR & "[code:6]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*alarmstufe*:", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Alarmstufe", $Stufe_Temp)
    	Next
    EndFunc   ;==>_Alarmstufe
    
    
    Func _Einsatzart()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Art_Temp = _StringBetween2($String, "*einsatzart*:*", "*,*einsatztyp*")
    		If $Art_Temp = "" Then
    			ConsoleWrite(@CR & "[code:7]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*einsatzart*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Einsatzart", $Art_Temp)
    	Next
    EndFunc   ;==>_Einsatzart
    
    
    Func _Untergruppe()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$SubTyp_Temp = _StringBetween2($String, "*einsatzsubtyp*:{*id*:*", "*,*text*:*")
    		If $SubTyp_Temp = "" Then
    			ConsoleWrite(@CR & "[code:6]" & @CR)
    		EndIf
    		$String = StringReplace($String, $SubTyp_Temp, "REPLACED", 1)
    		$String = StringReplace($String, "*einsatzsubtyp*:{*id*:*", "REPLACED", 1)
    		$SubTyp_Temp = _StringBetween2($String, ",REPLACEDREPLACED*,*text*:*", "*},*adresse*:")
    		$String = StringReplace($String, ",REPLACEDREPLACED*,*text*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Untergruppe", $SubTyp_Temp)
    	Next
    EndFunc   ;==>_Untergruppe
    
    
    Func _Adresse()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Adresse_Temp = _StringBetween2($String, "*adresse*:{*default*:*", "*,*earea*:*")
    		If $Adresse_Temp = "" Then
    			ConsoleWrite(@CR & "[code:7]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*adresse*:{*default*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Adresse", $Adresse_Temp)
    	Next
    EndFunc   ;==>_Adresse
    
    
    Func _Gemeinde()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Gemeinde_Temp = _StringBetween2($String, "*emun*:*", "*,*efeanme*:*")
    		$Length = StringLen($Gemeinde_Temp)
    
    
    		If $Length > 30 Then
    			$Gemeinde_Temp = "Keine Gemeinde Gefunden"
    			ConsoleWrite(@CR & "[code:8]" & @CR)
    		EndIf
    
    
    		$String = StringReplace($String, "*emun*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Gemeinde", $Gemeinde_Temp)
    	Next
    EndFunc   ;==>_Gemeinde
    
    
    Func _Region()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Region_Temp = _StringBetween2($String, "*,*earea*:*", "*,*emun*:*")
    		$Length = StringLen($Region_Temp)
    
    
    		If $Length > 20 Then
    			$Region_Temp = "Keine Region Gefunden"
    			ConsoleWrite(@CR & "[code:9]" & @CR)
    		ElseIf $Length < 3 Then
    			$Region_Temp = "Keine Region Gefunden"
    			ConsoleWrite(@CR & "[code:9]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*,*earea*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Region", $Region_Temp)
    	Next
    EndFunc   ;==>_Region
    
    
    Func _Feuerwehren()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$FF_Temp = _StringBetween2($String, "*},*cntfeuerwehren*:", "*}}}}")
    		$FF_Temp = StringReplace($FF_Temp, "cntfeuerwehren", "")
    		$FF_Temp = StringReplace($FF_Temp, "*", "")
    		$FF_Temp = StringReplace($FF_Temp, ":", "")
    		$FF_Temp = StringReplace($FF_Temp, "}", "")
    		$FF_Temp = StringReplace($FF_Temp, "{", "")
    		$FF_Temp = StringReplace($FF_Temp, "feuerwehren", "")
    		$FF_Temp = StringReplace($FF_Temp, "feuerwehr", "")
    		$FF_Temp = StringRegExpReplace($FF_Temp, "\d", "")
    		$FF_Temp = StringTrimLeft($FF_Temp, 1)
    		$String = StringReplace($String, "*},*cntfeuerwehren*:", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Feuerwehr", $FF_Temp)
    		ConsoleWrite(@CR & $FF_Temp & @CR)
    	Next
    EndFunc   ;==>_Feuerwehren
    Alles anzeigen

    Verbesserungsvorschläge zur Optimierung? Weniger Fehlerquellen und so.

    Nochmal die .ini-Datei:

    Code
    [Einsatzindex: 1]
    
    
    Uploadzeitpunkt=04.02.2016 15:46:32
    Laufende Einsätze[GESAMT]=4
    Feuerwehren im Einsatz[GESAMT]=6
    Einsatznummer=E160200595
    Bezirk - Ort=GM - BAD ISCHL
    Einsatzbeginn=Wed, 03 Feb 2016 18:09:37 +0100
    Alarmstufe=1
    Einsatzart=BRAND
    Untergruppe=BRANDMELDEALARM
    Adresse=GARTENSTRAßE 9
    Gemeinde=BAD ISCHL
    Region=KALTENBACH
    Feuerwehr=FF Bad Ischl,FF Pfandl
    
    
    
    
    [Einsatzindex: 2]
    
    
    Uploadzeitpunkt=04.02.2016 15:46:32
    Laufende Einsätze[GESAMT]=4
    Feuerwehren im Einsatz[GESAMT]=6
    Einsatznummer=E160200592
    Bezirk - Ort=RO - JULBACH
    Einsatzbeginn=Wed, 03 Feb 2016 17:47:58 +0100
    Alarmstufe=1
    Einsatzart=TEE
    Untergruppe=TECHNISCHER EINSATZ
    Adresse=JULBACH
    Gemeinde=JULBACH
    Region=Keine Region Gefunden
    Feuerwehr=FF Julbach
    
    
    
    
    [Einsatzindex: 3]
    
    
    Uploadzeitpunkt=04.02.2016 15:46:32
    Laufende Einsätze[GESAMT]=4
    Feuerwehren im Einsatz[GESAMT]=6
    Einsatznummer=E160200589
    Bezirk - Ort=RO - 
    Einsatzbeginn=Wed, 03 Feb 2016 16:36:55 +0100
    Alarmstufe=*2*
    Einsatzart=PERSON
    Untergruppe=VERKEHRSUNFALL EINGEKLEMMTE PERSON
    Adresse=UNTERHART 28 UNTERHART ST. MARTIN IM MÜHLKREIS 
    Gemeinde=Keine Gemeinde Gefunden
    Region=Keine Region Gefunden
    Feuerwehr=FF Plöcking,FF St. Martin im Mühlkreis
    
    
    [Einsatzindex: 4]
    
    
    
    
    Uploadzeitpunkt=04.02.2016 15:46:32
    Laufende Einsätze[GESAMT]=4
    Feuerwehren im Einsatz[GESAMT]=6
    Einsatznummer=E160200587
    Bezirk - Ort=RI - EBERSCHWANG
    Einsatzbeginn=Wed, 03 Feb 2016 16:35:06 +0100
    Alarmstufe=1
    Einsatzart=TEE
    Untergruppe=TECHNISCHER EINSATZ
    Adresse=EBERSCHWANG
    Gemeinde=EBERSCHWANG
    Region=Keine Region Gefunden
    Feuerwehr=FF Eberschwang
    Alles anzeigen

    EDIT6:


    So sieht das Ganze vor Erst einmal aus. Schluss für heute :D


    AutoIt
    #include <array.au3>
    #include <_StringBetween2.au3>
    #include <Date.au3>
    #include <IE.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    
    
    $Form1 = GUICreate("Form1", 615, 438, 429, 237)
    $Edit1 = GUICtrlCreateEdit("", 8, 8, 345, 417)
    $Button1 = GUICtrlCreateButton("Go", 360, 400, 243, 25)
    GUISetState(@SW_SHOW)
    
    
    
    
    Global $ini_path = @ScriptDir & "\Cache_Data.ini"
    Global $LineBreak = "{SHIFTDOWN}" & "{ENTER}" & "{SHIFTUP}"
    
    
    
    
    
    
    
    
    
    
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    
    
    		Case $Button1
    			AdlibRegister("_Compare",5000)
    	EndSwitch
    WEnd
    
    
    
    
    Func _Abfrage()
    
    
    $oIE_getBinary = InetRead("http://intranet.ooelfv.at/webext2/getjson.php?scope=laufend&callback=", 1)
    $oIE_toString = BinaryToString($oIE_getBinary, 1);	<-- Binary zu String (ANSI) Konvertierung.
    $StrRep_1 = Execute("'" & StringRegExpReplace($oIE_toString, "(\\u([[:xdigit:]]{4}))", "' & ChrW(0x$2) & '") & "'");	<-- UNI-Code Schriftzeichen.
    $StrRep_2 = StringRegExpReplace($StrRep_1, '"', "*");	<-- Alle Anführungs - Zeichen ersetzen. Anführungszeichen sind verwirrend ;)
    Global $StrWS_1 = StringStripWS($StrRep_2, 4);	<-- Alle Leerzeichen entfernen.
    
    
    
    
    FileDelete(@ScriptDir & "\StringNEW.txt")
    FileWrite(@ScriptDir & "\StringNEW.txt",$StrWS_1)
    Global $StrWS_1 = FileRead(@ScriptDir & "\StringNEW.txt")
    
    
    Global $AnzahlEinsaetze = _StringBetween2($StrWS_1, "*cnt_einsaetze*:", ",*einsaetze*")
    If $AnzahlEinsaetze = 0 Then
    	ConsoleWrite(@CR & "[code:1]" & @CR)
    EndIf
    Global $AnzahlFeuerwehren = _StringBetween2($StrWS_1, "*cnt_feuerwehren*:", ",*cnt_einsaetze*")
    If $AnzahlFeuerwehren = 0 Then
    	ConsoleWrite(@CR & "[code:2]" & @CR)
    EndIf
    EndFunc
    
    
    
    
    Func _Compare()
    	_Abfrage()
    
    
    	$Read_Temp_NEW = FileRead(@ScriptDir & "\StringNEW.txt")
    	$Read_Temp_OLD = FileRead(@ScriptDir & "\StringOLD.txt")
    	FileDelete(@ScriptDir & "\StringOLD.txt")
    	FileWrite(@ScriptDir & "\StringOLD.txt",$Read_Temp_OLD)
    	$StringLengthNEW = StringLen($Read_Temp_NEW)
    	$StringLengthOLD = StringLen($Read_Temp_OLD)
    
    
    If $StringLengthNEW = $StringLengthOLD Then
    	ConsoleWrite("-      Keine Veränderung"&@CR)
    	GUICtrlSetData($Edit1,"Keine Veränderung  "&_Now())
    ElseIf $StringLengthNEW > $StringLengthOLD Then
    	FileDelete(@ScriptDir & "\StringOLD.txt")
    	FileWrite(@ScriptDir & "\StringOLD.txt",$Read_Temp_NEW)
    	ConsoleWrite("-     $StringLengthOLD < $StringLengthNEW"&@CR)
    	GUICtrlSetData($Edit1,"Neuer Einsatz  "&_Now())
    	$Replaced_OLD = StringRegExpReplace($Read_Temp_NEW,$Read_Temp_OLD,"")
    	$StrWS_1 = $Replaced_OLD
    _MessageSending()
    ElseIf $StringLengthNEW < $StringLengthOLD Then
    	FileDelete(@ScriptDir & "\StringOLD.txt")
    	FileWrite(@ScriptDir & "\StringOLD.txt",$Read_Temp_NEW)
    	ConsoleWrite("-     $StringLengthOLD > $StringLengthNEW"&@CR)
    	GUICtrlSetData($Edit1,"Einsatz Ende  "&_Now())
    EndIf
    EndFunc
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    Func _MessageSending()
    	_WriteIni()
    	Global $oIE = _IECreate("https://www.messenger.com/","",1)
    	Local $oInputs = _IETagNameGetCollection($oIE, "a")
    	For $oInput In $oInputs
    		If $oInput.classname == "_30yy _2oc8" Then _IEAction($oInput, "click")
    	Next
    	Sleep(500)
    	Send("Name"&"{TAB}")
    	Local $oInputs = _IETagNameGetCollection($oIE, "div")
    	For $oInput In $oInputs
    		If $oInput.classname == "_45m_ _2vxa" Then _IEAction($oInput, "click")
    	Next
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Ini_Temp = IniReadSection($ini_path,"Einsatzindex: " & $Index_Temp)
    		For $b = 1 To 5
    		$Temp = $Ini_Temp[$b][1]
    		Sleep(100)
    		Send($Temp&$LineBreak)
    		Sleep(100)
    		Next
    	Sleep(500)
    	Send(@CR)
    	Next
    		_IEQuit($oIE)
    EndFunc
    
    
    Func _WriteIni()
    ;~ 	_UploadDatum()
    ;~ 	_Einsatzanzahl()
    ;~ 	_Feuerwehranzahl()
    	_Ort() ; First
    	_Alarmstufe()
    	_Untergruppe()
    	_Adresse()
    ;~ 	_Gemeinde()
    ;~ 	_Region()
    	_Feuerwehren()
    ;~ 	_Einsatzart()
    ;~ 	_Start()
    ;~ 	_Nummer()
    EndFunc
    
    
    Func _UploadDatum()
    	For $a = 1 To $AnzahlEinsaetze
    		IniWrite($ini_path, "Einsatzindex: " & $a, "Uploadzeitpunkt", _Now())
    	Next
    EndFunc   ;==>_UploadDatum
    
    
    Func _Einsatzanzahl()
    	For $a = 1 To $AnzahlEinsaetze
    		IniWrite($ini_path, "Einsatzindex: " & $a, "Laufende Einsätze[GESAMT]", $AnzahlEinsaetze)
    	Next
    EndFunc   ;==>_Einsatzanzahl
    
    
    Func _Feuerwehranzahl()
    	For $a = 1 To $AnzahlEinsaetze
    		IniWrite($ini_path, "Einsatzindex: " & $a, "Feuerwehren im Einsatz[GESAMT]", $AnzahlFeuerwehren)
    	Next
    EndFunc   ;==>_Feuerwehranzahl
    
    
    Func _Nummer()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Nr_Temp = _StringBetween2($String, "*num1*:*", "*,*einsatzort*")
    		If $Nr_Temp = "" Then
    			ConsoleWrite(@CR & "[code:3]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*einsatz*:{*num1*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Einsatznummer", $Nr_Temp)
    	Next
    EndFunc   ;==>_Nummer
    
    
    Func _Ort()
    	FileDelete($ini_path) ; Nur bei der ERSTEN Funktion!!!
    	Local $String = $StrWS_1
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Ort_Temp = _StringBetween2($String, "*einsatzort*:*", "*,*startzeit*:*")
    		If $Ort_Temp = "" Then
    			ConsoleWrite(@CR & "[code:4]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*einsatzort*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Bezirk - Ort", $Ort_Temp)
    	Next
    EndFunc   ;==>_Ort
    
    
    Func _Start()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Zeit_Temp = _StringBetween2($String, "*,*startzeit*:*", "*,*inzeit*")
    		If $Zeit_Temp = "" Then
    			ConsoleWrite(@CR & "[code:5]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*,*startzeit*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Einsatzbeginn", $Zeit_Temp)
    	Next
    EndFunc   ;==>_Start
    
    
    Func _Alarmstufe()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Stufe_Temp = _StringBetween2($String, "*alarmstufe*:", ",*einsatzart*")
    		If $Stufe_Temp = "" Then
    			ConsoleWrite(@CR & "[code:6]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*alarmstufe*:", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Alarmstufe", "Alarmstufe: "&$Stufe_Temp)
    	Next
    EndFunc   ;==>_Alarmstufe
    
    
    Func _Einsatzart()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Art_Temp = _StringBetween2($String, "*einsatzart*:*", "*,*einsatztyp*")
    		If $Art_Temp = "" Then
    			ConsoleWrite(@CR & "[code:7]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*einsatzart*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Einsatzart", $Art_Temp)
    	Next
    EndFunc   ;==>_Einsatzart
    
    
    Func _Untergruppe()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$SubTyp_Temp = _StringBetween2($String, "*einsatzsubtyp*:{*id*:*", "*,*text*:*")
    		If $SubTyp_Temp = "" Then
    			ConsoleWrite(@CR & "[code:6]" & @CR)
    		EndIf
    		$String = StringReplace($String, $SubTyp_Temp, "REPLACED", 1)
    		$String = StringReplace($String, "*einsatzsubtyp*:{*id*:*", "REPLACED", 1)
    		$SubTyp_Temp = _StringBetween2($String, ",REPLACEDREPLACED*,*text*:*", "*},*adresse*:")
    		$String = StringReplace($String, ",REPLACEDREPLACED*,*text*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Untergruppe", $SubTyp_Temp)
    	Next
    EndFunc   ;==>_Untergruppe
    
    
    Func _Adresse()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Adresse_Temp = _StringBetween2($String, "*adresse*:{*default*:*", "*,*earea*:*")
    		If $Adresse_Temp = "" Then
    			ConsoleWrite(@CR & "[code:7]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*adresse*:{*default*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Adresse", $Adresse_Temp)
    	Next
    EndFunc   ;==>_Adresse
    
    
    Func _Gemeinde()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Gemeinde_Temp = _StringBetween2($String, "*emun*:*", "*,*efeanme*:*")
    		$Length = StringLen($Gemeinde_Temp)
    
    
    		If $Length > 30 Then
    			$Gemeinde_Temp = " - "
    			ConsoleWrite(@CR & "[code:8]" & @CR)
    		EndIf
    
    
    		$String = StringReplace($String, "*emun*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Gemeinde", $Gemeinde_Temp)
    	Next
    EndFunc   ;==>_Gemeinde
    
    
    Func _Region()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$Region_Temp = _StringBetween2($String, "*,*earea*:*", "*,*emun*:*")
    		$Length = StringLen($Region_Temp)
    
    
    		If $Length > 20 Then
    			$Region_Temp = " - "
    			ConsoleWrite(@CR & "[code:9]" & @CR)
    		ElseIf $Length < 3 Then
    			$Region_Temp = " - "
    			ConsoleWrite(@CR & "[code:9]" & @CR)
    		EndIf
    		$String = StringReplace($String, "*,*earea*:*", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Region", $Region_Temp)
    	Next
    EndFunc   ;==>_Region
    
    
    Func _Feuerwehren()
    	Local $String = $StrWS_1
    
    
    	For $a = 1 To $AnzahlEinsaetze
    		$Index_Temp = $a
    		$FF_Temp = _StringBetween2($String, "*},*cntfeuerwehren*:", "*}}}}")
    		$FF_Temp = StringReplace($FF_Temp, "cntfeuerwehren", "")
    		$FF_Temp = StringReplace($FF_Temp, "*", "")
    		$FF_Temp = StringReplace($FF_Temp, ":", "")
    		$FF_Temp = StringReplace($FF_Temp, "}", "")
    		$FF_Temp = StringReplace($FF_Temp, "{", "")
    		$FF_Temp = StringReplace($FF_Temp, "feuerwehren", "")
    		$FF_Temp = StringReplace($FF_Temp, "feuerwehr", "")
    		$FF_Temp = StringRegExpReplace($FF_Temp, "\d", "")
    		$FF_Temp = StringTrimLeft($FF_Temp, 1)
    		$String = StringReplace($String, "*},*cntfeuerwehren*:", "REPLACED", 1)
    		IniWrite($ini_path, "Einsatzindex: " & $Index_Temp, "Feuerwehr", $FF_Temp)
    	Next
    EndFunc   ;==>_Feuerwehren
    Alles anzeigen


    Liebe Grüße,
    Stoani

  • IE - Auslesen, Stringformatierung, Error - Handling

    • Stoani
    • 3. Februar 2016 um 00:28

    Das mit VB und der Brandmeldetaste ist mir auch aufgefallen. Aber ich denke nicht, dass die wirklich so oft gedrückt wurde.


    Wenn du willst, Bert, kann ich dir gerne Aktuelle Ereignisse dokumentieren. Der Brand zum Beispiel in GM - Ebensee, Langwieserstraße 132 ist tatsächlich passiert. Ich hab früher mal in der Nähe gewohnt und ein Freund aus der Zeit hat mir bestätigt, dass das Haus gegenüber der Firma "Leirich" komplett abgebrannt ist. Kannst du mir jetzt natürlich glauben oder auch nicht. Fakt ist, ich kann dir ein dutzend Beispiele nennen, bei denen ich sogar "live" dabei war.
    Seltsam ist es schon, dass die Daten der Öffentlichkeit ohne wenn und aber zur Verfügung gestellt werden. Vor allem da sich Präzise Einsatzadressen darunter befinden...

    http://up.picr.de/24471039cy.jpg

    Bei diesem Einsatz war ich zb. das erste Rettungsmittel vor Ort und Anforderer der FF (eingekl. u. ohne. Bewusstsein)
    Kannst du mir auch wieder glauben oder auch nicht ;)

  • IE - Auslesen, Stringformatierung, Error - Handling

    • Stoani
    • 2. Februar 2016 um 23:53

    Ganz kurz noch, kennst du gutes Lesematerial zum einlesen in die Marterie?


    Edit:

    Zitat von Kanashius

    (Würde empfehlen, nicht allzuoft, um die Seite nicht allzusehr auszuwerten. Denke, alle 30 Sekunden, oder so dürfte reichen)

    Nope, war mir klar. Würde mir auch nix bringen wenn ich die Seite überstrapaziere.

  • IE - Auslesen, Stringformatierung, Error - Handling

    • Stoani
    • 2. Februar 2016 um 23:47
    AutoIt
    While 1
    	Send("Danke")
    WEnd

    Das ist ja wie Weihnachten und Ostern gemeinsam!

    Vielen Dank, werde mich morgen darauf stürzen. Deinen Post muss ich mir zwar teilweise von Google übersetzen lassen und auch parsen etc. wird zum lernen sein, aber des wird schon klappen!


    So wie du drauf bist, gehen deine Klausuren doch runter wie nix! :D

    Liebe Grüße,
    Stoani

  • IE - Auslesen, Stringformatierung, Error - Handling

    • Stoani
    • 2. Februar 2016 um 23:00
    Zitat von Raupi

    Kloppt euch nicht...

    Aber er hat angefangen :D


    Mein Hauptproblem liegt beim Auslesen von dynamischen Daten (Textzeilen) aus oben genannter Website. Kann aber auch direkt die LFK - Homepage (http://intranet.ooelfv.at/) sein. Ich hatte die Website von Martin Hochreiter nur verwendet, weil es mir damit leichter gefallen ist.

    Wenn sich nun mehrere Feuerwehren im Einsatz befinden, verändert sich schließlich die Anzahl der verwendeten Zeilen. Dies macht es mir nicht gerade leicht, nach dem "Auslesen, Abspeichern, Formatieren, Zeilen auslesen und als Paket verschicken" - System zu arbeiten wie ich es in meinem ersten Lösungsansatz versucht habe. Ich würde daher gerne wissen, wie ich diese http://up.picr.de/24469640co.png "Einsatz - Blockbauteile" im Ganzen auslesen kann, und nicht den gesamten ".innertext" um ihn danach erst recht wieder formatieren zu müssen.

    Liebe Grüße,
    Stoani

  • IE - Auslesen, Stringformatierung, Error - Handling

    • Stoani
    • 2. Februar 2016 um 21:30

    Sorry. Ich weiß ich hab eigentlich nicht das Recht dich zu berichtigen, aber verdammt nochmal das sind echte. Die Seite http://ooe.martinhochreiter.at bezieht ihre Daten von der Offiziellen LFK (LandesFeuerwehrKommando) Oberösterreich (http://intranet.ooelfv.at/) Wenn du mir das nicht glaubst, tut es mir leid.

    Das ist kein verdammtes Spiel!
    So funktioniert das nun einmal bei uns in Oberösterreich!
    Sobald die jeweiligen Feuerwehren alarmiert werden, und das werden sie vom http://www.ooelfv.at/ LFK, dann wird sofort ein Eintrag (http://intranet.ooelfv.at/) erstellt.
    Ich bin unter anderem in einer Rettungsleitstelle tätig und du wirst mir jetzt sicher nicht sagen, wie unser Feuerwehr - Alarmierungssystem funktioniert.

    Sorry für den rauen Ton aber ich fühle mich gerade echt im Recht.

    Grüße,
    Stoani

  • IE - Auslesen, Stringformatierung, Error - Handling

    • Stoani
    • 2. Februar 2016 um 21:10

    Danke für die flotte Antwort bert!

    Ich weiß zwar nicht genau was du mit Spieleautomation meinst, aber ich will damit für meinen Bezirk eine Benachrichtigungssoftware erstellen, damit meine Kollegen und ich uns schneller auf z.B. die Nachbesetzung einer Dienststelle (RK) vorbereiten können. Hat für mich nicht recht viel mit einem "Spiel" zu tun. Aber wenn du sagst, es wird nicht unterstützt, werde ich mich natürlich damit begnügen müssen.

    Liebe Grüße,
    Stoani

  • IE - Auslesen, Stringformatierung, Error - Handling

    • Stoani
    • 2. Februar 2016 um 20:57

    Hallo liebe Leute,

    zurzeit habe ich mir ein kleines Projekt in den Kopf gesetzt. Es geht um eine 24/7 Software welche Informationen von einer Website bezieht und sie mit den als letztes bezogenen Daten abgleicht. Bei einer Änderung (es geht dabei hauptsächlich um "Textblöcke") wird eine Nachricht via FB-Messenger an eine oder mehrere Personen ausgeschickt.
    Klingt für manche hier wahrscheinlich recht einfach, für mich ist es jedoch gar nicht mal so wenig Denkarbeit. So weit bin ich bisher gekommen, es ging mir allerdings mehr um Denkansätze und Tests der verschiedenen Optionen. Leider bin ich jetzt mit meinem Latein am Ende und habe keine Ahnung wie ich es anstellen könnte, dass:

    • Die Textblöcke welche ausgelesen werden in der Zeilenanzahl variieren können ohne das komplette Konzept über den Haufen zu werfen.
    • Die Software allgemein stabil und zuverlässig läuft (Error-Handling usw.) da es sich ja um eine 24/7 Applikation handeln soll.
    • Die Textblöcke einzeln ("Einsatzkennung?") ausgelesen werden und nicht der gesamte ".innertext"
    • Ich keine langen "Sleep(5000) Pausen einbauen muss, damit das Programm nicht abstürzt.

    Um euch ein bisschen mehr als einen Haufen Rechtschreib.- und Tippfehler bieten zu können, hab ich mal meine Photoshop Skillz ausgepackt und einige Screenshots der "Problemzonen" gemacht.

    Source(Annonymisiert)

    AutoIt
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #include <File.au3>
    #include <FileConstants.au3>
    
    
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 812, 728)
    $Edit1 = GUICtrlCreateEdit("", 8, 8, 796, 680)
    $Button1 = GUICtrlCreateButton("go", 8, 696, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    #Region FriendVar
    Global $Empfänger = "Hier kann ein Name stehen"
    #EndRegion FriendVar
    
    
    #Region Usefull Variables
    Global $LineBreak = "{SHIFTDOWN}" & "{ENTER}" & "{SHIFTUP}"
    Global $path = @ScriptDir & "\cache.txt"
    Global $path2 = @ScriptDir & "\cache2.txt"
    Global $a = 1
    #EndRegion Usefull Variables
    
    
    MainLoop()
    
    
    Func MainLoop()
    	While 1
    		$nMsg = GUIGetMsg()
    		Switch $nMsg
    			Case $GUI_EVENT_CLOSE
    				Exit
    			Case $Button1
    				Global $aIE = _IECreate("http://ooe.martinhochreiter.at")
    				PositionWindowLFK()
    				Sleep(1000)
    				current()
    				Sleep(5000)
    				$getid = _IEGetObjById($aIE, "current")
    				Sleep(2000)
    				GUICtrlSetData($Edit1, $getid.innertext)
    				$String = StringRegExpReplace($getid.innertext, "Laufende Einsätze", "")
    				$Text = StringAddCR(StringRegExpReplace(StringStripCR($String), '\n([\n\s]*\n)', Chr(10)))
    				$FileHandle = FileOpen($path, 2)
    				FileWrite($FileHandle, $Text)
    				FileClose($FileHandle)
    				_IEQuit($aIE)
    				GUICtrlSetData($Edit1, $Text)
    				$count = _FileCountLines($path)
    				FileDelete($path2)
    				For $y = 3 To $count
    					$text2 = FileReadLine($path, $y)
    					FileWriteLine($path2, $text2)
    				Next
    				$Text_Formatted = FileRead($path2)
    				Sleep(1000)
    				GUICtrlSetData($Edit1, $Text_Formatted)
    				Sleep(1000)
    				Global $count2 = _FileCountLines($path2)
    				Global $count2 = $count2 -1
    				Global $oIE = _IECreate("https://www.messenger.com/")
    				PositionWindowFB()
    				Sleep(500)
    				SendMessage()
    				Sleep(5000)
    				_IEQuit($oIE)
    		EndSwitch
    	WEnd
    EndFunc   ;==>MainLoop
    
    
    Func PositionWindowLFK()
    	Local $x = -1680
    	Local $y = 0
    	Local $height = 1050
    	Local $width = 1680
    	WinMove("http://ooe.martinhochreiter.at/#home - Internet Explorer", "", $x, $y, $width, $height, 1)
    EndFunc   ;==>PositionWindowLFK
    
    
    Func PositionWindowFB()
    	Local $x = -1680
    	Local $y = 0
    	Local $height = 1050
    	Local $width = 1680
    	WinMove("Messenger - Internet Explorer", "", $x, $y, $width, $height, 1)
    EndFunc   ;==>PositionWindowFB
    
    
    Func SendMessage()
    	Local $oInputs = _IETagNameGetCollection($oIE, "a")
    	For $oInput In $oInputs
    		If $oInput.classname == "_30yy _2oc8" Then _IEAction($oInput, "click")
    	Next
    	Sleep(500)
    	Send($Empfänger)
    	Sleep(100)
    	Send("{TAB}")
    	Local $oInputs = _IETagNameGetCollection($oIE, "div")
    	For $oInput In $oInputs
    		If $oInput.classname == "_45m_ _2vxa" Then _IEAction($oInput, "click")
    	Next
    	For $i = 1 To $count2 / 4
    		For $o = $a To $a + 3
    			$ReadLine = FileReadLine($path2, $o)
    			Sleep(10)
    			Send($ReadLine & $LineBreak)
    			ConsoleWrite($ReadLine & @CR)
    			Sleep(10)
    		Next
    		$a = $a + 4
    		ConsoleWrite("-------------------linebreak(enter)-------------------------------" & @CRLF);mit $linebreak erstetzen
    		Send(@CR)
    	Next
    EndFunc   ;==>SendMessage
    
    
    Func hour6()
    	Local $oInputs = _IETagNameGetCollection($aIE, "a")
    	For $oInput In $oInputs
    		If $oInput.rel == "hour6" Then _IEAction($oInput, "click")
    	Next
    EndFunc   ;==>hour6
    
    
    Func current()
    	Local $oInputs = _IETagNameGetCollection($aIE, "a")
    	For $oInput In $oInputs
    		If $oInput.rel == "current" Then _IEAction($oInput, "click")
    	Next
    EndFunc   ;==>current
    
    
    Func day()
    	Local $oInputs = _IETagNameGetCollection($aIE, "a")
    	For $oInput In $oInputs
    		If $oInput.rel == "day1" Then _IEAction($oInput, "click")
    	Next
    EndFunc   ;==>current
    Alles anzeigen


    Bei

    AutoIt
    $LineBreak = "{SHIFTDOWN}" & "{ENTER}" & "{SHIFTUP}"


    handelt es sich um den Ablauf um bei einer Messenger - Nachricht einen Zeilenumbruch zu machen, ohne die Nachricht mit "ENTER" zu verschicken.
    Ja ich weiß, der Code ist einfach nur schrecklich schlecht Organisiert. :/


    http://up.picr.de/24469638sw.jpg
    http://up.picr.de/24469639ca.png
    http://up.picr.de/24469640co.png
    http://up.picr.de/24469641kh.png
    Beim ersten Bild sieht man noch ein Problem: Wenn ich den ".innertext" auslese, schreibt er auch den kleinen farbig eingerahmten Buchstaben für die Einsatzart mit dazu. Leider hab ich keine Ahnung wie ich den da wegbekomme, da er ja ständig variiert... ?(
    Mit dem Messenger hab ich eigentlich keine Probleme, der macht mir das Leben eigentlich recht leicht ;)

    Würde mich über einige Denkansätze freuen! :thumbup:
    ____________________________________________________
    Edit 7:

    Hallo Leute!
    Die allererste Version des Notifiers ist jetzt so weit fertig!

    Punkte die noch in Arbeit sind:

    • Message über Whatsapp versenden (wenn jemand Erfahrung oder Vorschläge hat, BITTE weitersagen!)

    Source:

    Spoiler anzeigen
    AutoIt
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiEdit.au3>
    #include <_StringBetween2.au3>
    #include <_StringSplitRegExp.au3>
    #include <File.au3>
    #include<Array.au3>
    
    
    #Region GUI CREATION START
    $gui = GUICreate("LFK-NotifyMe", 1025, 766, -1, -1)
    GUISetBkColor(0xFFFFFF)
    
    
    
    
    #Region Abfrage
    $Group1 = GUICtrlCreateGroup(" Art der Abfrage ", 16, 8, 170, 185)
    GUICtrlSetFont(-1, 14, 400, 2, "Dunant")
    
    
    $Radio1 = GUICtrlCreateRadio("Laufende Einsätze", 24, 48, 150, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Radio2 = GUICtrlCreateRadio("Tagesübersicht", 24, 72, 150, 17)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Radio3 = GUICtrlCreateRadio("Rückblick 6 Stunden", 24, 96, 150, 17)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Radio4 = GUICtrlCreateRadio("Rückblick 2-Tage", 24, 120, 150, 17)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    
    
    $ComboBox_1 = GUICtrlCreateCombo("ALLE [OÖ]", 24, 152, 150, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "BRAUNAU|EFERDING|FREISTADT|GMUNDEN|GRIESKIRCHEN|KIRCHDORF|LINZ-LAND|LINZ-STADT|PERG|ROHRBACH|SCHÄRDING|STEYR-LAND|STEYR-STADT|URFAHR|VÖCKLABRUCK|WELS-LAND|WELS-STADT")
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    
    
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    #EndRegion Abfrage
    
    
    #Region Übersicht
    $Group2 = GUICtrlCreateGroup("Einsatzübersicht", 16, 256, 993, 473)
    GUICtrlSetFont(-1, 12, 400, 2, "Dunant")
    
    
    $Edit1 = GUICtrlCreateEdit("", 32, 296, 961, 417, BitOR($ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetFont(-1, 12, 400, 0, "Courier")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x434E54)
    
    
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    #EndRegion Übersicht
    
    
    #Region Aktualisierung
    $Group3 = GUICtrlCreateGroup("Aktualisierung", 200, 8, 140, 185)
    GUICtrlSetFont(-1, 14, 400, 2, "Dunant")
    
    
    $Radio5 = GUICtrlCreateRadio("15 - Sekunden", 208, 40, 115, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Radio6 = GUICtrlCreateRadio("30 - Sekunden", 208, 64, 115, 17)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Radio7 = GUICtrlCreateRadio("1 - Minute", 208, 88, 115, 17)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Radio8 = GUICtrlCreateRadio("5 - Minuten", 208, 112, 115, 17)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Radio9 = GUICtrlCreateRadio("15 - Minuten", 208, 136, 115, 17)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Radio10 = GUICtrlCreateRadio("30 - Minuten", 208, 160, 113, 17)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    
    
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    #EndRegion Aktualisierung
    
    
    #Region NotifyMe
    $Group4 = GUICtrlCreateGroup("NoitfyMe", 360, 8, 140, 89)
    GUICtrlSetFont(-1, 14, 400, 2, "Dunant")
    
    
    $Radio11 = GUICtrlCreateRadio("WhatsApp", 368, 40, 115, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Radio12 = GUICtrlCreateRadio("Messenger", 368, 64, 115, 17)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    
    
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    #EndRegion NotifyMe
    
    
    #Region Console
    $EditConsole = GUICtrlCreateEdit("", 520, 16, 489, 233, BitOR($ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
    
    
    GUICtrlSetFont(-1, 10, 400, 0, "Courier")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetBkColor(-1, 0x000000)
    #EndRegion Console
    
    
    #Region Msc
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0)
    $Progress1 = GUICtrlCreateProgress(16, 208, 486, 41)
    
    
    $Button1 = GUICtrlCreateButton("Start", 360, 112, 139, 33)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    $Button2 = GUICtrlCreateButton("Stop", 360, 160, 139, 33)
    GUICtrlSetFont(-1, 12, 400, 0, "Dunant")
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion Msc
    #EndRegion GUI CREATION START
    
    
    
    
    
    
    DirCreate(@ScriptDir&"\Versendet")
    
    
    
    
    _MainLoop();XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   MAIN LOOP  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    
    
    Func _MainLoop()
    	While 1
    		$nMsg = GUIGetMsg()
    		Switch $nMsg
    			Case $GUI_EVENT_CLOSE
    				FileDelete(@ScriptDir&"\temp.nme")
    				GUICtrlSetData($Progress1,0)
    				AdlibUnRegister("_Scan")
    				AdlibUnRegister("_Time")
    				Exit
    
    
    			Case $Button1 ; START
    				_GuiAbfrage()
    
    
    				GUICtrlSetState($Button2, $GUI_ENABLE)
    				GUICtrlSetState($Button1, $GUI_DISABLE)
    				GUICtrlSetData($Progress1,0)
    			Case $Button2 ; STOP
    				GUICtrlSetState($Button1, $GUI_ENABLE)
    				GUICtrlSetState($Button2, $GUI_DISABLE)
    				_GUICtrlEdit_AppendText($EditConsole,"Stopped, returning to main loop"&@CRLF)
    				FileDelete(@ScriptDir&"\temp.nme")
    				GUICtrlSetData($Progress1,0)
    				AdlibUnRegister("_Scan")
    				AdlibUnRegister("_Time")
    				_MainLoop()
    
    
    		EndSwitch
    	WEnd
    EndFunc   ;==>_MainLoop
    
    
    
    
    
    
    Func _Scan()
    	AdlibUnRegister("_Time")
    	AdlibUnRegister("_Scan")
    	GUICtrlSetData($Edit1,"")
    	_Update()
    	_Filtern()
    EndFunc
    
    
    Func _GuiAbfrage()
    	_GUICtrlEdit_SetText($EditConsole,"function _GuiAbfrage started"&@CRLF)
    	Global $ArrRad[13]
    	$ArrRad[0] = GUICtrlRead($Radio1)
    	$ArrRad[1] = GUICtrlRead($Radio2)
    	$ArrRad[2] = GUICtrlRead($Radio3)
    	$ArrRad[3] = GUICtrlRead($Radio4)
    	$ArrRad[4] = GUICtrlRead($ComboBox_1)
    
    
    	$ArrRad[5] = GUICtrlRead($Radio5)
    	$ArrRad[6] = GUICtrlRead($Radio6)
    	$ArrRad[7] = GUICtrlRead($Radio7)
    	$ArrRad[8] = GUICtrlRead($Radio8)
    	$ArrRad[9] = GUICtrlRead($Radio9)
    	$ArrRad[10] = GUICtrlRead($Radio10)
    
    
    	$ArrRad[11] = GUICtrlRead($Radio11)
    	$ArrRad[12] = GUICtrlRead($Radio12)
    
    
    
    
    	Select
    		Case $ArrRad[0] = 1
    			Local $QueryLink = FileReadLine(@ScriptDir & "\querylink.nme", 1)
    		Case $ArrRad[1] = 1
    			Local $QueryLink = FileReadLine(@ScriptDir & "\querylink.nme", 2)
    		Case $ArrRad[2] = 1
    			Local $QueryLink = FileReadLine(@ScriptDir & "\querylink.nme", 3)
    		Case $ArrRad[3] = 1
    			Local $QueryLink = FileReadLine(@ScriptDir & "\querylink.nme", 4)
    	EndSelect
    
    
    	Select
    		Case $ArrRad[5] = 1
    			Local $Intervall = 15000
    		Case $ArrRad[6] = 1
    			Local $Intervall = 30000
    		Case $ArrRad[7] = 1
    			Local $Intervall = 60000
    		Case $ArrRad[8] = 1
    			Local $Intervall = 300000
    		Case $ArrRad[9] = 1
    			Local $Intervall = 900000
    		Case $ArrRad[10] = 1
    			Local $Intervall = 1800000
    	EndSelect
    
    
    	Select
    		Case $ArrRad[11] = 1
    			Local $NotifyMe = "WhatsApp"
    			;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -  MISSING - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    		Case $ArrRad[12] = 1
    			Local $NotifyMe = "Messenger"
    			;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -  MISSING - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    	EndSelect
    
    
    	Global $QueryLink_Read = $QueryLink
    	Global $QueryDef_Read = $ArrRad[4]
    	Global $Intervall_Read = $Intervall
    	Global $NotifyMe_Read = $NotifyMe
    
    
    	_GUICtrlEdit_AppendText($EditConsole, "querylink: " & $QueryLink_Read & @CRLF & "querydef: " & $QueryDef_Read & @CRLF & "int: " & $Intervall_Read & @CRLF & "nfmy: " & $NotifyMe_Read & @CRLF)
    	_GUICtrlEdit_AppendText($EditConsole,"function _GuiAbfrage ended"&@CRLF)
    	_Scan()
    EndFunc   ;==>_GuiAbfrage
    
    
    Func _Update()
    
    
    	_GUICtrlEdit_SetText($EditConsole,"function _Update started"&@CRLF)
    	FileDelete(@ScriptDir&"\temp.nme")
    	Global $String = Execute("'" & StringRegExpReplace(BinaryToString(InetRead($QueryLink_Read, 1), 1), "(\\u([[:xdigit:]]{4}))", "' & ChrW(0x$2) & '") & "'")
    	$StrSpl = _StringSplitRegExp($String, '"einsatz"')
    
    
    	For $i = 1 To UBound($StrSpl) - 1
    		$StrSpl[$i] = StringReplace($StrSpl[$i], '"', "")
    		$StrSpl[$i] = StringReplace($StrSpl[$i], '}', "")
    		$StrSpl[$i] = StringReplace($StrSpl[$i], '{', "")
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ')', "")
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ';', "")
    		$StrSpl[$i] = StringRegExpReplace($StrSpl[$i], ":", "", 1)
    		$StrLen = StringLen($StrSpl[$i])
    		$LastDigit = StringMid($StrSpl[$i], $StrLen)
    		$Alpha = StringIsAlpha($LastDigit)
    		While $Alpha = 0
    			$StrSpl[$i] = StringTrimRight($StrSpl[$i], 1)
    			$StrLen = $StrLen - 1
    			$LastDigit = StringMid($StrSpl[$i], $StrLen)
    			$Alpha = StringIsAlpha($LastDigit)
    		WEnd
    ;~ 				;Komma im Datum entfernen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ",", ".", 5)
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ".", ",", 4)
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ",", ".", 3)
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ".", ",", 2)
    ;~ 				;Komma im Datum entfernen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ":", "=")
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "=", ":", 8)
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ":", "=", 6)
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "=", ":", 5)
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ":", "=", 3)
    ;~ 				;Alle , austauschen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], ",", "|")
    ;~ 				;wgs84= löschen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "wgs84=", "")
    ;~ 				;feuerwehr= löschen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "feuerwehr=", "")
    ;~ 				;cntfeuerwehren ersetzen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "cntfeuerwehren", "anzahl")
    ;~ 				;feuerwehren= löschen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "feuerwehren=", "")
    ;~ 				;id= löschen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "id=", "")
    ;~ 				;default= löschen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "default=", "")
    ;~ 				;text ersetzen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "text", "einsatzbezeichnung", 1)
    ;~ 				;text ersetzen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "text", "einsatzsubbezeichnung", 1)
    ;~ 				;text ersetzen
    		$StrSpl[$i] = StringReplace($StrSpl[$i], "text", "bezirkbezeichnung", 1)
    ;~ 				;alles CAPS
    		$StrSpl[$i] = StringUpper($StrSpl[$i])
    		_GUICtrlEdit_AppendText($EditConsole,"data: "&$i&"/"&UBound($StrSpl) - 1&" loaded"&@CRLF)
    
    
    		$percent = Round(($i / (UBound($StrSpl) - 1)) * 100,0)
    		GUICtrlSetData($Progress1,$percent)
    		Sleep(10)
    
    
    		FileWriteLine(@ScriptDir&"\temp.nme",$StrSpl[$i])
    	Next
    	_GUICtrlEdit_AppendText($EditConsole,"______________________"&@CRLF)
    	_GUICtrlEdit_AppendText($EditConsole,"function _Update ended"&@CRLF)
    EndFunc   ;==>_Update
    
    
    Func _Filtern()
    	_GUICtrlEdit_AppendText($EditConsole,"function _Filtern started"&@CRLF)
    	$LineCount = _FileCountLines(@ScriptDir&"\temp.nme")
    	For $a = 1 To $LineCount
    		$Temp = FileReadLine(@ScriptDir&"\temp.nme",$a)
    		If	StringRegExp($Temp,$QueryDef_Read) = 1 Then
    			Global $TempSp = StringSplit($Temp,"|",2)
    			If FileExists(@ScriptDir&"\Versendet\"&StringReplace($TempSp[0],"NUM1=","")&".lfk") = 0 Then
    				_GUICtrlEdit_AppendText($EditConsole,"data not found -> must be new"&@CRLF)
    
    
    				;XXXX VERSENDEN
    				_GUICtrlEdit_AppendText($Edit1,"XXXXXXXXXXXXXXXXXXXXXXXXXXX VERSENDET XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "&@CRLF)
    				;XXXX VERSENDEN
    
    
    
    
    				FileWrite(@ScriptDir&"\Versendet\"&StringReplace($TempSp[0],"NUM1=","")&".lfk",$Temp)
    			EndIf
    		ElseIf $QueryDef_Read = "ALLE [OÖ]" Then
    			Global $TempSp = StringSplit($Temp,"|",2)
    			If FileExists(@ScriptDir&"\Versendet\"&StringReplace($TempSp[0],"NUM1=","")&".lfk") = 0 Then
    				_GUICtrlEdit_AppendText($EditConsole,"data not found -> must be new"&@CRLF)
    
    
    				;XXXX VERSENDEN
    				_GUICtrlEdit_AppendText($Edit1,"XXXXXXXXXXXXXXXXXXXXXXXXXXX VERSENDET XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "&@CRLF)
    				;XXXX VERSENDEN
    
    
    
    
    				FileWrite(@ScriptDir&"\Versendet\"&StringReplace($TempSp[0],"NUM1=","")&".lfk",$Temp)
    			EndIf
    		EndIf
    		$percent = Round(($a / $LineCount) * 100,0)
    		GUICtrlSetData($Progress1,$percent)
    		Sleep(10)
    		_GUICtrlEdit_AppendText($Edit1,"Abfrage für "&$QueryDef_Read&": "&@CRLF)
    			For $b = 0 To  UBound($TempSp) -1
    				_GUICtrlEdit_AppendText($Edit1,$TempSp[$b]&@CRLF)
    			Next
    		_GUICtrlEdit_AppendText($Edit1,""&@CRLF)
    	Next
    		_GUICtrlEdit_AppendText($EditConsole,"function _Filtern ended"&@CRLF)
    
    
    			_GUICtrlEdit_SetText($EditConsole,$Intervall_Read/1000&@CRLF)
    			AdlibRegister("_Time",1000)
    			AdlibRegister("_Scan",$Intervall_Read)
    EndFunc
    
    
    Func _Time()
    	$read = GUICtrlRead($EditConsole)
    	$c = $read - 1
    	_GUICtrlEdit_SetText($EditConsole,$c&" Sekunden bis zum nächsten Update!"&@CRLF)
    EndFunc
    Alles anzeigen

    Bei meinem letzten Post kann man den Entstehungsprozess ein bisschen mitverfolgen.
    Nochmals Vielen Dank an Kanashius!
    ____________________________________________________

    Liebe Grüße,
    Stoani

  • Daten speichern in einer versteckten Editbox?

    • Stoani
    • 11. Januar 2012 um 01:29
    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Include <GuiListView.au3>

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

    Opt("GUIResizeMode",$GUI_DOCKALL)
    $Form1 = GUICreate("Form1", 300, 171, 656, 147)
    $Input1 = GUICtrlCreateInput("", 8, 8, 121, 21)
    $Auslesen = GUICtrlCreateButton("Read", 136, 8, 75, 25)
    $ListView1 = GUICtrlCreateListView("", 8, 40, 210, 46)
    $List1 = GUICtrlCreateListView("", 8, 104, 210, 54, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE,$LVS_EX_CHECKBOXES))
    $Showall = GUICtrlCreateButton("Show", 216, 8, 75, 25)
    GUISetState(@SW_SHOW)
    GUICtrlSetState($List1,$GUI_HIDE)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Showall
    GUICtrlSetState($List1,$GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]

    schau dir hier mal die auskommentierte Zeile(29) an:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Include <GuiListView.au3>
    Opt("GUIResizeMode",$GUI_DOCKALL)
    $Form1 = GUICreate("Form1", 398, 199, 192, 124)
    $Itemname = GUICtrlCreateLabel("Irgendetwas", 8, 8, 50, 17)
    $Input1 = GUICtrlCreateInput("", 72, 8, 225, 21)
    $Auslesen = GUICtrlCreateButton("Auslesen", 312, 8, 75, 25)
    $Zuletztausgelesene = GUICtrlCreateLabel("Test :", 8, 64, 96, 17)
    $ListView1 = GUICtrlCreateListView("Test |Test", 112, 56, 250, 54)
    $Showall = GUICtrlCreateButton("Show", 312, 160, 75, 25)
    $DieValvuevoneeee = GUICtrlCreateLabel("Test", 8, 120, 375, 17)
    $List1 = GUICtrlCreateListView("eee", 8, 152, 66, 14, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE,$LVS_EX_CHECKBOXES))
    GUICtrlSetState($List1,$GUI_HIDE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Showall
    WinMove("Form1", "", 192, 124, 398, 413)
    $Test = GUICtrlCreateLabel("Testüberschrift", 16, 208, 34, 17)
    ;~ $List1 = GUICtrlSetPos($List1, 17, 232, 250, 150)
    GUICtrlSetState($List1,$GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]
  • Daten speichern in einer versteckten Editbox?

    • Stoani
    • 11. Januar 2012 um 00:57

    Etwa so:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 265, 233, 276, 367)
    $get = GUICtrlCreateButton("Einfügen", 8, 8, 75, 25)
    $Ipb1 = GUICtrlCreateInput("Text1", 8, 40, 105, 21)
    $hide = GUICtrlCreateButton("Hide", 120, 8, 51, 25)
    $show = GUICtrlCreateButton("Show", 208, 8, 51, 25)
    $LV = GUICtrlCreateListView("Spalte1|Spalte2", 8, 72, 250, 150)
    $Ipb2 = GUICtrlCreateInput("Text2", 160, 40, 97, 21)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $get
    $read1 = GUICtrlRead($Ipb1)
    $read2 = GUICtrlRead($Ipb2)
    GUICtrlCreateListViewItem($read1&"|"&$read2,$LV)
    Case $hide
    GUICtrlSetState($LV, $GUI_HIDE)
    Case $show
    GUICtrlSetState($LV, $GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]


    oder so?

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

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 439, 444, 276, 367)
    $get = GUICtrlCreateButton("Einfügen", 264, 200, 171, 25)

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

    $hide = GUICtrlCreateButton("Hide", 264, 400, 35, 25)
    $show = GUICtrlCreateButton("Show", 264, 368, 35, 25)
    $LV = GUICtrlCreateListView("Spalte1|Spalte2|Spalte3|Spalte4|Spalte5|Spalte6|Spalte7|Spalte8", 8, 8, 250, 422)
    $ipb1 = GUICtrlCreateInput("1", 264, 8, 169, 21)
    $ipb2 = GUICtrlCreateInput("2", 264, 32, 169, 21)
    $ipb3 = GUICtrlCreateInput("3", 264, 56, 169, 21)
    $ipb4 = GUICtrlCreateInput("4", 264, 80, 169, 21)
    $ipb5 = GUICtrlCreateInput("5", 264, 104, 169, 21)
    $ipb6 = GUICtrlCreateInput("6", 264, 128, 169, 21)
    $ipb7 = GUICtrlCreateInput("7", 264, 152, 169, 21)
    $ipb8 = GUICtrlCreateInput("8", 264, 176, 169, 21)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $get
    $read1 = GUICtrlRead($Ipb1)
    $read2 = GUICtrlRead($Ipb2)
    $read3 = GUICtrlRead($Ipb3)
    $read4 = GUICtrlRead($Ipb4)
    $read5 = GUICtrlRead($Ipb5)
    $read6 = GUICtrlRead($Ipb6)
    $read7 = GUICtrlRead($Ipb7)
    $read8 = GUICtrlRead($Ipb8)
    GUICtrlCreateListViewItem($read1&"|"&$read2&"|"&$read3&"|"&$read4&"|"&$read5&"|"&$read6&"|"&$read7&"|"&$read8,$LV)
    Case $hide
    GUICtrlSetState($LV, $GUI_HIDE)
    Case $show
    GUICtrlSetState($LV, $GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]
  • Daten speichern in einer versteckten Editbox?

    • Stoani
    • 11. Januar 2012 um 00:50

    Kannst du bitte einfach dein Skript posten? Ich hab keine Lust darauf 9 Skripte zu schreiben die nur vielleicht passen...

    Es nimmt dir schon keiner weg.

  • Daten speichern in einer versteckten Editbox?

    • Stoani
    • 11. Januar 2012 um 00:31

    Meinst du sowas?

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Include <GuiEdit.au3>

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

    $mGUI = GUICreate("TestGUI", 205, 172, 276, 367)
    $Edit_1 = GUICtrlCreateEdit("", 8, 8, 185, 89, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetState(-1, $GUI_HIDE)
    $get = GUICtrlCreateButton("Einfügen", 8, 104, 75, 25)
    $Input1 = GUICtrlCreateInput("Input1", 16, 136, 177, 21)
    $hide = GUICtrlCreateButton("Hide", 88, 104, 51, 25)
    $show = GUICtrlCreateButton("Show", 144, 104, 51, 25)
    GUISetState(@SW_SHOW)

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

    $hEdit = GUICtrlGetHandle($Edit_1)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $get
    $read = GUICtrlRead($Input1)
    _GUICtrlEdit_AppendText($hEdit,$read&@CRLF)
    Case $hide
    GUICtrlSetState($Edit_1, $GUI_HIDE)
    Case $show
    GUICtrlSetState($Edit_1, $GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]


    Was hast du denn mit den Werten vor? Willst du sie dir nur ansehen oder willst du sie weiterverarbeiten? xD

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™