Aktion-Mensch Losnummern Vergleicher

  • 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>

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

    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"

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

    ;~ 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")

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

    ;~ 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)

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

    _lesen()

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

    While Sleep(1)
    WEnd

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

    ;~ 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

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

    ;~ 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

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

    ;~ 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

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

    ;~ 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

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]

    Bin gerne für Kritik und verbesserungsvorschläge zu haben :D .

    Mit freundlichen Grüßen

    Thooledo1989