Hallo zusammen,
aus gegebenem Anlass habe ich ein Tool geschrieben was bis zu 12 Lose der Aktion-Mensch Lotterie mit den aktuell im Internet veröffentlichen Ziehungen vergleicht.
[autoit]
#include <GUIConstantsEX.au3>
#include <StaticConstants.au3>
#include <WinHttp.au3>
Local $y_index=10, $y_read=10, $y_vergleich=10
Local $label_index[12], $label_read, $label_read2[12], $label_vergleich[12], $textgroup[12]
$textgroup[0] = "Rang 1"
$textgroup[1] = "Rang 2"
$textgroup[2] = "Rang 2"
$textgroup[3] = "Rang 3"
$textgroup[4] = "Rang 3"
$textgroup[5] = "Rang 3"
$textgroup[6] = "Rang 3"
$textgroup[7] = "Rang 4"
$textgroup[8] = "Rang 5"
$textgroup[9] = "Rang 6"
$textgroup[10] = "Rang 7"
$textgroup[11] = "Rang 8"
;~ Gui erstellen
Opt("GUIOnEventMode",1)
$gui=GUICreate("Aktion-Mensch vergleicher", 255,300)
For $i = 0 To 11
$label_index[$i]=GUICtrlCreateLabel($i+1&".", 10, $y_index, 15, 20, $SS_RIGHT)
$y_index=$y_index+20
Next
$input=GUICtrlCreateInput("", 10, $y_index, 100, 20)
$y_index=$y_index+20
$vergleich=GUICtrlCreateButton("Vergleichen", 10, $y_index, 75, 20)
$add=GUICtrlCreateButton("Hinzufügen", 90, $y_index, 75, 20)
$delete=GUICtrlCreateButton("Löschen", 170, $y_index, 75, 20)
GUICtrlSetOnEvent($vergleich, "_vergleich")
GUICtrlSetOnEvent($add, "_add")
GUICtrlSetOnEvent($delete, "_delete")
GUIsetstate(@sw_show)
GUISetOnEvent($GUI_EVENT_CLOSE,"_Exit")
;~ Daten von Host abrufen
$host = ("www.aktion-mensch.de")
$agent = _WinHttpOpen("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0")
$connect = _WinHttpConnect($agent, $host)
$request = _WinHttpSimpleRequest($connect, "GET", "/co/am/pls/lotterie/am.controller?psession=C63E2553093E7CAD03FCE5A8C55E80E0&p_rubrik=service&p_seite=service_gewinnzahlen", "HTTP/1.1", $host)
_WinHttpCloseHandle($connect)
_WinHttpCloseHandle($agent)
$gezogen = StringRegExp($request, '>(\d+?)<', 3)
_lesen()
[/autoit][autoit][/autoit][autoit]While Sleep(1)
WEnd
;~ Vergleich zwischen gezogenen Losnummern und gespeicherten Losen
Func _vergleich()
For $i = 1 To $label_read[0][0]
for $ia = 0 to UBound($gezogen) - 1
$result = StringCompare($gezogen[$ia], StringRight($label_read[$i][0], Stringlen($gezogen[$ia])))
If $result = 0 Then
$text = $textgroup[$ia]
ExitLoop
EndIf
If $ia = UBound($gezogen) - 1 Then
$text = "Verloren"
EndIf
Next
$label_vergleich[$i-1]=GUICtrlCreateLabel($text, 110, $y_vergleich, 75, 20, $SS_CENTER)
$y_vergleich=$y_vergleich+20
Next
$y_vergleich=10
EndFunc
;~ Hinzufügen von Losen in die INI
Func _add()
$input_read=GUICtrlRead($input)
If StringLen($input_read) = 12 Then
IniWrite(@ScriptDir&"\Aktion_mensch_lose.ini", "sektion1", $input_read, "0")
Else
MsgBox(0, "Fehler", "Die Losnummer ist zu lang oder zu kurz")
EndIf
_lesen()
EndFunc
;~ Löschen von Losen aus der INI
Func _delete()
If FileExists(@ScriptDir&"\Aktion_mensch_lose.ini") Then
IniDelete(@ScriptDir&"\Aktion_mensch_lose.ini", "sektion1", GUICtrlRead($input))
_lesen()
EndIf
EndFunc
;~ Auslesen der Lose aus der INI
Func _lesen()
For $i = 0 To UBound($label_vergleich)-1
GUICtrlDelete($label_vergleich[$i])
Next
If FileExists(@ScriptDir&"\Aktion_mensch_lose.ini") Then
$label_read=IniReadSection(@ScriptDir&"\Aktion_mensch_lose.ini", "sektion1")
For $i = 0 To UBound($label_read2)-1
GUICtrlDelete($label_read2[$i])
Next
If IsArray($label_read) Then
For $i = 1 To $label_read[0][0]
$label_read2[$i-1]=GUICtrlCreateLabel($label_read[$i][0], 30, $y_read, 75, 20, $SS_CENTER)
$y_read=$y_read+20
Next
$y_read=10
EndIf
EndIf
EndFunc
Func _Exit()
Exit
EndFunc
Bin gerne für Kritik und verbesserungsvorschläge zu haben .
Mit freundlichen Grüßen
Thooledo1989