Google Wetter API | GUI mit 4 Städten

  • Hatte aus Langeweile mal ein kleines wettertool gebastelt was mir das wetter meiner 4 wichtigsten orte ausgibt.
    unsortiert und beta ist es noch.

    [Blockierte Grafik: http://www9.picfront.org/picture/PUt3AYDQY/thb/wedda.JPG]

    vll kann es ja wer gebrauchen.
    Alter Code
    -----------------------------------------------
    Wetter UDF:

    Spoiler anzeigen
    [autoit]

    #include <INet.au3>
    #include <Misc.au3>
    #include <string.au3>
    #include <array.au3>

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

    Func _getXML_Weather_data($pcode)

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

    $Postcode = $pcode

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

    $Api = "http://www.google.com/ig/api?weather=" & $Postcode & '&hl=de'
    $XML_Source = _INetGetSource($Api)
    $City = _StringBetween($XML_Source, '<city data="', '"/>')
    $Wstatus = _StringBetween($XML_Source, '<condition data="', '"/>')
    $Temp = _StringBetween($XML_Source, '<temp_c data="', '"/>')
    $Wind = _StringBetween($XML_Source, '<wind_condition data="', '"/>')
    $Humidity = _StringBetween($XML_Source, '<humidity data="', '"/>')
    ;MsgBox(0,"","" & $XML_Source)

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

    Local $MyWeather[5]

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

    $MyWeather[0] = $City[0]
    $MyWeather[1] = $Wstatus[0]
    $MyWeather[2] = $Temp[0] & " °C"
    $MyWeather[3] = $Wind[0]
    $MyWeather[4] = $Humidity[0]

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

    for $i = 0 to UBound($MyWeather) -1
    ConsoleWrite($MyWeather[$i] & @CRLF)
    Next

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

    Return ($MyWeather)

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

    EndFunc ;==>_getXML_Weather_data

    [/autoit]

    Wetter GUI:

    Spoiler anzeigen
    [autoit]

    #include <udf_wetter.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ;Opt("WinTitleMatchMode", 2)

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

    #Region ### START Koda GUI section ### Form=

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

    #Region --- CodeWizard generated code Start ---
    $Form2 = GUICreate("Wetter 2.0 Beta |", 391, 288, 196, 250)
    If Not IsDeclared('Snow_2') Then Local $Snow_2 = 0xeee9e9
    If Not IsDeclared('Cornflower_Blue') Then Local $Cornflower_Blue = 0x000000
    If Not IsDeclared('Royal_Blue_3') Then Local $Royal_Blue_3 = 0xCD0000
    GUISetBkColor($Royal_Blue_3)
    $Group1 = GUICtrlCreateGroup("Group1", 4, 8, 185, 129)
    $Edit1 = GUICtrlCreateEdit("", 8, 24, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit1, $Cornflower_Blue)
    GUICtrlSetColor($Edit1, $Snow_2)
    GUICtrlSetColor($Group1, $Snow_2)
    $Group2 = GUICtrlCreateGroup("Group2", 200, 8, 185, 129)
    $Edit2 = GUICtrlCreateEdit("", 204, 24, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit2, $Cornflower_Blue)
    GUICtrlSetColor($Edit2, $Snow_2)
    GUICtrlSetColor($Group2, $Snow_2)
    $Group3 = GUICtrlCreateGroup("Group3", 4, 148, 185, 129)
    $Edit3 = GUICtrlCreateEdit("", 8, 164, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit3, $Cornflower_Blue)
    GUICtrlSetColor($Edit3, $Snow_2)
    GUICtrlSetColor($Group3, $Snow_2)
    $Group4 = GUICtrlCreateGroup("Group4", 200, 148, 185, 129)
    $Edit4 = GUICtrlCreateEdit("", 204, 164, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit4, $Cornflower_Blue)
    GUICtrlSetColor($Edit4, $Snow_2)
    GUICtrlSetColor($Group4, $Snow_2)
    GUISetState(@SW_SHOW)

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

    #EndRegion ### END Koda GUI section ###

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

    ;<Solingen
    $Sg_Pcode = 42655
    $Solingen = _getXML_Weather_data($Sg_Pcode)
    If IsArray($Solingen) Then
    GUICtrlSetData($Group1, $Solingen[0])
    GUICtrlSetData($Edit1, $Solingen[1] & @CRLF & $Solingen[2] & @CRLF & $Solingen[3] & @CRLF & $Solingen[4] & @CRLF)
    Else
    Local $Mydummy[5]

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

    $Mydummy[0] = "Stadt: N/A"
    $Mydummy[1] = "WetterStatus: N/A"
    $Mydummy[2] = "Temperatur: N/A"
    $Mydummy[3] = "Wind: N/A"
    $Mydummy[4] = "Luftfeuchtigkeit: N/A"

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

    GUICtrlSetData($Group1, $Mydummy[0])
    GUICtrlSetData($Edit1, $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf

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

    ;Solingen>

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

    Sleep(Random(50, 100))

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

    ;<Wuppertal
    $wu_Pcode = 42117
    $Wuppertal = _getXML_Weather_data($wu_Pcode)
    If IsArray($Wuppertal) Then
    GUICtrlSetData($Group2, $Wuppertal[0])
    GUICtrlSetData($Edit2, $Wuppertal[1] & @CRLF & $Wuppertal[2] & @CRLF & $Wuppertal[3] & @CRLF & $Wuppertal[4] & @CRLF)
    Else
    Local $Mydummy[5]

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

    $Mydummy[0] = "Stadt: N/A"
    $Mydummy[1] = "WetterStatus: N/A"
    $Mydummy[2] = "Temperatur: N/A"
    $Mydummy[3] = "Wind: N/A"
    $Mydummy[4] = "Luftfeuchtigkeit: N/A"

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

    GUICtrlSetData($Group2, $Mydummy[0])
    GUICtrlSetData($Edit1, $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf

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

    ;Wuppertal>

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

    Sleep(Random(50, 100))

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

    ;<Novi Vinodolski
    $nv_Pcode = "Novi Vinodolski"
    $Novi_Vinodolski = _getXML_Weather_data($nv_Pcode)
    If IsArray($Novi_Vinodolski) Then
    GUICtrlSetData($Group3, StringTrimRight($Novi_Vinodolski[0], 33))
    GUICtrlSetData($Edit3, $Novi_Vinodolski[1] & @CRLF & $Novi_Vinodolski[2] & @CRLF & $Novi_Vinodolski[3] & @CRLF & $Novi_Vinodolski[4] & @CRLF)
    Else
    Local $Mydummy[5]

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

    $Mydummy[0] = "Stadt: N/A"
    $Mydummy[1] = "WetterStatus: N/A"
    $Mydummy[2] = "Temperatur: N/A"
    $Mydummy[3] = "Wind: N/A"
    $Mydummy[4] = "Luftfeuchtigkeit: N/A"

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

    GUICtrlSetData($Group3, $Mydummy[0])
    GUICtrlSetData($Edit1, $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf
    ;Novi Vinodolski>

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

    Sleep(Random(50, 100))

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

    ;<Saltum/Lökken
    $lo_Pcode = "Saltum"
    $loekken = _getXML_Weather_data($lo_Pcode)
    If IsArray($loekken) Then
    GUICtrlSetData($Group4, "Lökken")
    GUICtrlSetData($Edit4, $loekken[1] & @CRLF & $loekken[2] & @CRLF & $loekken[3] & @CRLF & $loekken[4] & @CRLF)
    Else
    Local $Mydummy[5]

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

    $Mydummy[0] = "Stadt: N/A"
    $Mydummy[1] = "WetterStatus: N/A"
    $Mydummy[2] = "Temperatur: N/A"
    $Mydummy[3] = "Wind: N/A"
    $Mydummy[4] = "Luftfeuchtigkeit: N/A"

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

    GUICtrlSetData($Group4, $Mydummy[0])
    GUICtrlSetData($Edit1, $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf

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

    While 1

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

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

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

    EndSwitch

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

    $TimerStart = TimerInit()

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

    Do
    $TimerDiff = TimerDiff($TimerStart)
    Sleep(50)

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

    Until $TimerDiff > Random(120000, 180000)
    ;GUICtrlSetData($Form2, "Wetter 0.2 Beta " & @HOUR & ":" & @MIN & ":" & @SEC)

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

    ;<Solingen
    $Sg_Pcode = 42655
    $Solingen = _getXML_Weather_data($Sg_Pcode)
    If IsArray($Solingen) Then
    GUICtrlSetData($Group1, $Solingen[0])
    GUICtrlSetData($Edit1, $Solingen[1] & @CRLF & $Solingen[2] & @CRLF & $Solingen[3] & @CRLF & $Solingen[4] & @CRLF)
    Else
    Local $Mydummy[5]

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

    $Mydummy[0] = "Stadt: N/A"
    $Mydummy[1] = "WetterStatus: N/A"
    $Mydummy[2] = "Temperatur: N/A"
    $Mydummy[3] = "Wind: N/A"
    $Mydummy[4] = "Luftfeuchtigkeit: N/A"

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

    GUICtrlSetData($Group1, $Mydummy[0])
    GUICtrlSetData($Edit1, $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf

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

    ;Solingen>

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

    Sleep(Random(50, 100))

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

    ;<Wuppertal
    $wu_Pcode = 42117
    $Wuppertal = _getXML_Weather_data($wu_Pcode)
    If IsArray($Wuppertal) Then
    GUICtrlSetData($Group2, $Wuppertal[0])
    GUICtrlSetData($Edit2, $Wuppertal[1] & @CRLF & $Wuppertal[2] & @CRLF & $Wuppertal[3] & @CRLF & $Wuppertal[4] & @CRLF)
    Else
    Local $Mydummy[5]

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

    $Mydummy[0] = "Stadt: N/A"
    $Mydummy[1] = "WetterStatus: N/A"
    $Mydummy[2] = "Temperatur: N/A"
    $Mydummy[3] = "Wind: N/A"
    $Mydummy[4] = "Luftfeuchtigkeit: N/A"

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

    GUICtrlSetData($Group2, $Mydummy[0])
    GUICtrlSetData($Edit1, $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf

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

    ;Wuppertal>

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

    Sleep(Random(50, 100))

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

    ;<Novi Vinodolski
    $nv_Pcode = "Novi Vinodolski"
    $Novi_Vinodolski = _getXML_Weather_data($nv_Pcode)
    If IsArray($Novi_Vinodolski) Then
    GUICtrlSetData($Group3, StringTrimRight($Novi_Vinodolski[0], 33))
    GUICtrlSetData($Edit3, $Novi_Vinodolski[1] & @CRLF & $Novi_Vinodolski[2] & @CRLF & $Novi_Vinodolski[3] & @CRLF & $Novi_Vinodolski[4] & @CRLF)
    Else
    Local $Mydummy[5]

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

    $Mydummy[0] = "Stadt: N/A"
    $Mydummy[1] = "WetterStatus: N/A"
    $Mydummy[2] = "Temperatur: N/A"
    $Mydummy[3] = "Wind: N/A"
    $Mydummy[4] = "Luftfeuchtigkeit: N/A"

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

    GUICtrlSetData($Group3, $Mydummy[0])
    GUICtrlSetData($Edit1, $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf
    ;Novi Vinodolski>

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

    Sleep(Random(50, 100))

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

    ;<Saltum/Lökken
    $lo_Pcode = "Saltum"
    $loekken = _getXML_Weather_data($lo_Pcode)
    If IsArray($loekken) Then
    GUICtrlSetData($Group4, "Lökken")
    GUICtrlSetData($Edit4, $loekken[1] & @CRLF & $loekken[2] & @CRLF & $loekken[3] & @CRLF & $loekken[4] & @CRLF)
    Else
    Local $Mydummy[5]

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

    $Mydummy[0] = "Stadt: N/A"
    $Mydummy[1] = "WetterStatus: N/A"
    $Mydummy[2] = "Temperatur: N/A"
    $Mydummy[3] = "Wind: N/A"
    $Mydummy[4] = "Luftfeuchtigkeit: N/A"

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

    GUICtrlSetData($Group4, $Mydummy[0])
    GUICtrlSetData($Edit1, $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf

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

    WinSetTitle("Wetter 2.0 Beta |", "", "Wetter 2.0 Beta | Letzte Akt.: " & @HOUR & ":" & @MIN & ":" & @SEC)

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

    WEnd

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


    -----------------------------------------------

    Alter kürzerer Code

    Wetter UDF

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <INet.au3>
    #include <string.au3>

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

    Func _getXML_Weather_data($pcode)

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

    $Postcode = $pcode

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

    $Api = "http://www.google.com/ig/api?weather=" & $Postcode & '&hl=de'
    $XML_Source = _INetGetSource($Api)
    $City = _StringBetween($XML_Source, '<city data="', '"/>')
    $Wstatus = _StringBetween($XML_Source, '<condition data="', '"/>')
    $Temp = _StringBetween($XML_Source, '<temp_c data="', '"/>')
    $Wind = _StringBetween($XML_Source, '<wind_condition data="', '"/>')
    $Humidity = _StringBetween($XML_Source, '<humidity data="', '"/>')

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

    If IsArray($City) Then

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

    Local $MyWeather[5] = [$City[0], $Wstatus[0], $Temp[0] & " °C", $Wind[0], $Humidity[0]]

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

    Return ($MyWeather)

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

    Else

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

    Local $MyWeather[5] = ["Stadt: N/A", "WetterStatus: N/A", "Temperatur: N/A", "Wind: N/A", "Luftfeuchtigkeit: N/A"]

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

    Return ($MyWeather)
    EndIf
    EndFunc ;==>_getXML_Weather_data

    [/autoit]

    Wetter GUI

    Spoiler anzeigen
    [autoit]

    #include <udf_wetter.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ;Opt("WinTitleMatchMode", 2)

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

    #Region ### START Koda GUI section ### Form=

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

    #Region --- CodeWizard generated code Start ---
    $Form2 = GUICreate("Wetter 2.0 Beta |", 391, 288, 196, 250)
    If Not IsDeclared('Snow_2') Then Local $Snow_2 = 0xeee9e9
    If Not IsDeclared('Cornflower_Blue') Then Local $Cornflower_Blue = 0x000000
    If Not IsDeclared('Royal_Blue_3') Then Local $Royal_Blue_3 = 0xCD0000
    GUISetBkColor($Royal_Blue_3)
    $Group1 = GUICtrlCreateGroup("Group1", 4, 8, 185, 129)
    $Edit1 = GUICtrlCreateEdit("", 8, 24, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit1, $Cornflower_Blue)
    GUICtrlSetColor($Edit1, $Snow_2)
    GUICtrlSetColor($Group1, $Snow_2)
    $Group2 = GUICtrlCreateGroup("Group2", 200, 8, 185, 129)
    $Edit2 = GUICtrlCreateEdit("", 204, 24, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit2, $Cornflower_Blue)
    GUICtrlSetColor($Edit2, $Snow_2)
    GUICtrlSetColor($Group2, $Snow_2)
    $Group3 = GUICtrlCreateGroup("Group3", 4, 148, 185, 129)
    $Edit3 = GUICtrlCreateEdit("", 8, 164, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit3, $Cornflower_Blue)
    GUICtrlSetColor($Edit3, $Snow_2)
    GUICtrlSetColor($Group3, $Snow_2)
    $Group4 = GUICtrlCreateGroup("Group4", 200, 148, 185, 129)
    $Edit4 = GUICtrlCreateEdit("", 204, 164, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit4, $Cornflower_Blue)
    GUICtrlSetColor($Edit4, $Snow_2)
    GUICtrlSetColor($Group4, $Snow_2)
    GUISetState(@SW_SHOW)

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

    #EndRegion ### END Koda GUI section ###

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

    ;<Solingen
    $Sg_Pcode = 42655
    $Solingen = _getXML_Weather_data($Sg_Pcode)

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

    GUICtrlSetData($Group1, $Solingen[0])
    GUICtrlSetData($Edit1, $Solingen[1] & @CRLF & $Solingen[2] & @CRLF & $Solingen[3] & @CRLF & $Solingen[4] & @CRLF)

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

    ;Solingen>

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

    Sleep(Random(50, 100))

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

    ;<Wuppertal
    $wu_Pcode = 42117
    $Wuppertal = _getXML_Weather_data($wu_Pcode)

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

    GUICtrlSetData($Group2, $Wuppertal[0])
    GUICtrlSetData($Edit2, $Wuppertal[1] & @CRLF & $Wuppertal[2] & @CRLF & $Wuppertal[3] & @CRLF & $Wuppertal[4] & @CRLF)
    ;Wuppertal>

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

    Sleep(Random(50, 100))

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

    ;<Novi Vinodolski
    $nv_Pcode = "Novi Vinodolski"
    $Novi_Vinodolski = _getXML_Weather_data($nv_Pcode)

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

    GUICtrlSetData($Group3, StringTrimRight($Novi_Vinodolski[0], 33))
    GUICtrlSetData($Edit3, $Novi_Vinodolski[1] & @CRLF & $Novi_Vinodolski[2] & @CRLF & $Novi_Vinodolski[3] & @CRLF & $Novi_Vinodolski[4] & @CRLF)

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

    ;Novi Vinodolski>

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

    Sleep(Random(50, 100))

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

    ;<Saltum/Lökken
    $lo_Pcode = "Saltum"
    $loekken = _getXML_Weather_data($lo_Pcode)

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

    GUICtrlSetData($Group4, "Lökken")
    GUICtrlSetData($Edit4, $loekken[1] & @CRLF & $loekken[2] & @CRLF & $loekken[3] & @CRLF & $loekken[4] & @CRLF)

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

    While 1

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

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

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

    EndSwitch

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

    $TimerStart = TimerInit()

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

    Do
    $TimerDiff = TimerDiff($TimerStart)
    Sleep(50)

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

    Until $TimerDiff > Random(120000, 180000)

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

    ;<Solingen
    $Sg_Pcode = 42655
    $Solingen = _getXML_Weather_data($Sg_Pcode)

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

    GUICtrlSetData($Group1, $Solingen[0])
    GUICtrlSetData($Edit1, $Solingen[1] & @CRLF & $Solingen[2] & @CRLF & $Solingen[3] & @CRLF & $Solingen[4] & @CRLF)

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

    ;Solingen>

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

    Sleep(Random(50, 100))

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

    ;<Wuppertal
    $wu_Pcode = 42117
    $Wuppertal = _getXML_Weather_data($wu_Pcode)

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

    GUICtrlSetData($Group2, $Wuppertal[0])
    GUICtrlSetData($Edit2, $Wuppertal[1] & @CRLF & $Wuppertal[2] & @CRLF & $Wuppertal[3] & @CRLF & $Wuppertal[4] & @CRLF)

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

    ;Wuppertal>

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

    Sleep(Random(50, 100))

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

    ;<Novi Vinodolski
    $nv_Pcode = "Novi Vinodolski"
    $Novi_Vinodolski = _getXML_Weather_data($nv_Pcode)

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

    GUICtrlSetData($Group3, StringTrimRight($Novi_Vinodolski[0], 33))
    GUICtrlSetData($Edit3, $Novi_Vinodolski[1] & @CRLF & $Novi_Vinodolski[2] & @CRLF & $Novi_Vinodolski[3] & @CRLF & $Novi_Vinodolski[4] & @CRLF)

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

    ;Novi Vinodolski>

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

    Sleep(Random(50, 100))

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

    ;<Saltum/Lökken
    $lo_Pcode = "Saltum"
    $loekken = _getXML_Weather_data($lo_Pcode)

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

    GUICtrlSetData($Group4, "Lökken")
    GUICtrlSetData($Edit4, $loekken[1] & @CRLF & $loekken[2] & @CRLF & $loekken[3] & @CRLF & $loekken[4] & @CRLF)
    ;Saltum/Lökken>

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

    WinSetTitle("Wetter 2.0 Beta |", "", "Wetter 2.0 Beta | Letzte Akt.: " & @HOUR & ":" & @MIN & ":" & @SEC)

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

    WEnd

    [/autoit]


    -----------------------------------------------

    Aktuell: aufgeräumt und gekürzter Code by Schnitzel

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <INet.au3>
    #include <string.au3>

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

    Local $Mydummy[5] = ["Stadt: N/A", "WetterStatus: N/A", "Temperatur: N/A", "Wind: N/A", "Luftfeuchtigkeit: N/A"]
    If Not IsDeclared('Snow_2') Then Local $Snow_2 = 0xeee9e9
    If Not IsDeclared('Cornflower_Blue') Then Local $Cornflower_Blue = 0x000000
    If Not IsDeclared('Royal_Blue_3') Then Local $Royal_Blue_3 = 0xCD0000
    Global $Pcode[4][2] = [[42655, "Solingen"],[42117, "Wuppertal"],["Novi Vinodolski", "Novi Vinodolski"],["Saltum", "Lökken"]]

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

    GUICreate("Wetter 2.0 Beta |", 391, 288, 196, 250)
    GUISetBkColor($Royal_Blue_3)
    Global $Group[4] = [GUICtrlCreateGroup("", 4, 8, 185, 129), GUICtrlCreateGroup("", 200, 8, 185, 129), GUICtrlCreateGroup("", 4, 148, 185, 129), GUICtrlCreateGroup("", 200, 148, 185, 129)]
    For $i = 0 To 3
    GUICtrlSetColor($Group[$i], $Snow_2)
    Next
    Global $Edit[4] = [GUICtrlCreateEdit("", 8, 24, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0), GUICtrlCreateEdit("", 204, 24, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0), GUICtrlCreateEdit("", 8, 164, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0), GUICtrlCreateEdit("", 204, 164, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0)]
    For $i = 0 To 3
    GUICtrlSetBkColor($Edit[$i], $Cornflower_Blue)
    GUICtrlSetColor($Edit[$i], $Snow_2)
    Next
    GUISetState(@SW_SHOW)

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

    UpdateAll(); für das erste befüllen
    AdlibEnable("UpdateAll", 60000); Aktualisiert 1mal pro minute

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func UpdateAll()
    For $i = 0 To 3
    SetData($i)
    Next
    WinSetTitle("Wetter 2.0 Beta |", "", "Wetter 2.0 Beta | Letzte Aktualisierung: " & @HOUR & ":" & @MIN)
    EndFunc

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

    Func SetData($index)
    $aTmp = _getXML_Weather_data($Pcode[$index][0])
    If IsArray($aTmp) Then
    GUICtrlSetData($Group[$index], $Pcode[$index][1])
    GUICtrlSetData($Edit[$index], $aTmp[1] & @CRLF & $aTmp[2] & @CRLF & $aTmp[3] & @CRLF & $aTmp[4] & @CRLF)
    Else
    GUICtrlSetData($Group[$index], $Mydummy[0])
    GUICtrlSetData($Edit[$index], $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf
    EndFunc

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

    Func _getXML_Weather_data($pcode)
    $Api = "http://www.google.com/ig/api?weather=" & $pcode & '&hl=de'
    $XML_Source = _INetGetSource($Api)
    $City = _StringBetween($XML_Source, '<city data="', '"/>')
    $Wstatus = _StringBetween($XML_Source, '<condition data="', '"/>')
    $Temp = _StringBetween($XML_Source, '<temp_c data="', '"/>')
    $Wind = _StringBetween($XML_Source, '<wind_condition data="', '"/>')
    $Humidity = _StringBetween($XML_Source, '<humidity data="', '"/>')
    Local $MyWeather[5] = [$City[0], $Wstatus[0], $Temp[0] & " °C", $Wind[0], $Humidity[0]]
    Return $MyWeather
    EndFunc ;==>_getXML_Weather_data

    [/autoit]


    hf & Lg Basti

    4 Mal editiert, zuletzt von Bustd (4. März 2010 um 14:40)

  • hey Bustd,

    gefällt mir recht gut. ne kleine inputbox wo man seinen ort oder postleitzahl eingeben kann wäre natürlich noch schön.

    ansonsten hab ich nur so kleinere verbesserungsvorschläge:
    einige includes kannst du dir sparen
    in eine udf würde ich immer #include-once schreiben
    in der funktion _getXML_Weather_data haste noch consolewrite drin, ich denke mal das war zum debuggen
    und diesen part:

    Spoiler anzeigen
    [autoit]

    Local $Mydummy[5]
    $Mydummy[0] = "Stadt: N/A"
    $Mydummy[1] = "WetterStatus: N/A"
    $Mydummy[2] = "Temperatur: N/A"
    $Mydummy[3] = "Wind: N/A"
    $Mydummy[4] = "Luftfeuchtigkeit: N/A"

    [/autoit]

    brauchst du nur einmal. anbieten würde sich am anfang des scripts ;)

    und die kürzere schreibweise wäre so:

    [autoit]

    Local $Mydummy[5] = ["Stadt: N/A", "WetterStatus: N/A", "Temperatur: N/A", "Wind: N/A", "Luftfeuchtigkeit: N/A"]

    [/autoit]
  • Hi Schnitzel,

    Danke für dein feedback und vorallem mit dem tip der array deklaration =)
    muss ich mir unbedingt merken^^ das consolewrite muss raus, war wie du sagtest noch vom debug.
    Und ja, das jedesmal dummy erstellen reicht einmal am amfang, wär ich aber vom allein draufschauen nich drauf gekommen... irgendwie betriebsblind xD
    und zur inputbox... im nachhinein denke ich, werde ich die postcodes bzw städtenamen einfach via *.ini abrufen und zum ersten start die daten abfragen und in selbige speichern.
    Dank dir dafür.

    Lg basti

  • So dank schnitzels tips, das ganze nun kleiner und als udf sauberer

    Wetter GUI

    Spoiler anzeigen
    [autoit]

    #include <udf_wetter.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ;Opt("WinTitleMatchMode", 2)

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

    #Region ### START Koda GUI section ### Form=

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

    #Region --- CodeWizard generated code Start ---
    $Form2 = GUICreate("Wetter 2.0 Beta |", 391, 288, 196, 250)
    If Not IsDeclared('Snow_2') Then Local $Snow_2 = 0xeee9e9
    If Not IsDeclared('Cornflower_Blue') Then Local $Cornflower_Blue = 0x000000
    If Not IsDeclared('Royal_Blue_3') Then Local $Royal_Blue_3 = 0xCD0000
    GUISetBkColor($Royal_Blue_3)
    $Group1 = GUICtrlCreateGroup("Group1", 4, 8, 185, 129)
    $Edit1 = GUICtrlCreateEdit("", 8, 24, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit1, $Cornflower_Blue)
    GUICtrlSetColor($Edit1, $Snow_2)
    GUICtrlSetColor($Group1, $Snow_2)
    $Group2 = GUICtrlCreateGroup("Group2", 200, 8, 185, 129)
    $Edit2 = GUICtrlCreateEdit("", 204, 24, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit2, $Cornflower_Blue)
    GUICtrlSetColor($Edit2, $Snow_2)
    GUICtrlSetColor($Group2, $Snow_2)
    $Group3 = GUICtrlCreateGroup("Group3", 4, 148, 185, 129)
    $Edit3 = GUICtrlCreateEdit("", 8, 164, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit3, $Cornflower_Blue)
    GUICtrlSetColor($Edit3, $Snow_2)
    GUICtrlSetColor($Group3, $Snow_2)
    $Group4 = GUICtrlCreateGroup("Group4", 200, 148, 185, 129)
    $Edit4 = GUICtrlCreateEdit("", 204, 164, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0)
    GUICtrlSetBkColor($Edit4, $Cornflower_Blue)
    GUICtrlSetColor($Edit4, $Snow_2)
    GUICtrlSetColor($Group4, $Snow_2)
    GUISetState(@SW_SHOW)

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

    #EndRegion ### END Koda GUI section ###

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

    ;<Solingen
    $Sg_Pcode = 42655
    $Solingen = _getXML_Weather_data($Sg_Pcode)

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

    GUICtrlSetData($Group1, $Solingen[0])
    GUICtrlSetData($Edit1, $Solingen[1] & @CRLF & $Solingen[2] & @CRLF & $Solingen[3] & @CRLF & $Solingen[4] & @CRLF)

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

    ;Solingen>

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

    Sleep(Random(50, 100))

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

    ;<Wuppertal
    $wu_Pcode = 42117
    $Wuppertal = _getXML_Weather_data($wu_Pcode)

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

    GUICtrlSetData($Group2, $Wuppertal[0])
    GUICtrlSetData($Edit2, $Wuppertal[1] & @CRLF & $Wuppertal[2] & @CRLF & $Wuppertal[3] & @CRLF & $Wuppertal[4] & @CRLF)
    ;Wuppertal>

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

    Sleep(Random(50, 100))

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

    ;<Novi Vinodolski
    $nv_Pcode = "Novi Vinodolski"
    $Novi_Vinodolski = _getXML_Weather_data($nv_Pcode)

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

    GUICtrlSetData($Group3, StringTrimRight($Novi_Vinodolski[0], 33))
    GUICtrlSetData($Edit3, $Novi_Vinodolski[1] & @CRLF & $Novi_Vinodolski[2] & @CRLF & $Novi_Vinodolski[3] & @CRLF & $Novi_Vinodolski[4] & @CRLF)

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

    ;Novi Vinodolski>

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

    Sleep(Random(50, 100))

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

    ;<Saltum/Lökken
    $lo_Pcode = "Saltum"
    $loekken = _getXML_Weather_data($lo_Pcode)

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

    GUICtrlSetData($Group4, "Lökken")
    GUICtrlSetData($Edit4, $loekken[1] & @CRLF & $loekken[2] & @CRLF & $loekken[3] & @CRLF & $loekken[4] & @CRLF)

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

    While 1

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

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

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

    EndSwitch

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

    $TimerStart = TimerInit()

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

    Do
    $TimerDiff = TimerDiff($TimerStart)
    Sleep(50)

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

    Until $TimerDiff > Random(120000, 180000)

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

    ;<Solingen
    $Sg_Pcode = 42655
    $Solingen = _getXML_Weather_data($Sg_Pcode)

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

    GUICtrlSetData($Group1, $Solingen[0])
    GUICtrlSetData($Edit1, $Solingen[1] & @CRLF & $Solingen[2] & @CRLF & $Solingen[3] & @CRLF & $Solingen[4] & @CRLF)

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

    ;Solingen>

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

    Sleep(Random(50, 100))

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

    ;<Wuppertal
    $wu_Pcode = 42117
    $Wuppertal = _getXML_Weather_data($wu_Pcode)

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

    GUICtrlSetData($Group2, $Wuppertal[0])
    GUICtrlSetData($Edit2, $Wuppertal[1] & @CRLF & $Wuppertal[2] & @CRLF & $Wuppertal[3] & @CRLF & $Wuppertal[4] & @CRLF)

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

    ;Wuppertal>

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

    Sleep(Random(50, 100))

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

    ;<Novi Vinodolski
    $nv_Pcode = "Novi Vinodolski"
    $Novi_Vinodolski = _getXML_Weather_data($nv_Pcode)

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

    GUICtrlSetData($Group3, StringTrimRight($Novi_Vinodolski[0], 33))
    GUICtrlSetData($Edit3, $Novi_Vinodolski[1] & @CRLF & $Novi_Vinodolski[2] & @CRLF & $Novi_Vinodolski[3] & @CRLF & $Novi_Vinodolski[4] & @CRLF)

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

    ;Novi Vinodolski>

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

    Sleep(Random(50, 100))

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

    ;<Saltum/Lökken
    $lo_Pcode = "Saltum"
    $loekken = _getXML_Weather_data($lo_Pcode)

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

    GUICtrlSetData($Group4, "Lökken")
    GUICtrlSetData($Edit4, $loekken[1] & @CRLF & $loekken[2] & @CRLF & $loekken[3] & @CRLF & $loekken[4] & @CRLF)
    ;Saltum/Lökken>

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

    WinSetTitle("Wetter 2.0 Beta |", "", "Wetter 2.0 Beta | Letzte Akt.: " & @HOUR & ":" & @MIN & ":" & @SEC)

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

    WEnd

    [/autoit]

    Wetter UDF

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <INet.au3>
    #include <string.au3>

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

    Func _getXML_Weather_data($pcode)

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

    $Postcode = $pcode

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

    $Api = "http://www.google.com/ig/api?weather=" & $Postcode & '&hl=de'
    $XML_Source = _INetGetSource($Api)
    $City = _StringBetween($XML_Source, '<city data="', '"/>')
    $Wstatus = _StringBetween($XML_Source, '<condition data="', '"/>')
    $Temp = _StringBetween($XML_Source, '<temp_c data="', '"/>')
    $Wind = _StringBetween($XML_Source, '<wind_condition data="', '"/>')
    $Humidity = _StringBetween($XML_Source, '<humidity data="', '"/>')

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

    If IsArray($City) Then

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

    Local $MyWeather[5] = [$City[0], $Wstatus[0], $Temp[0] & " °C", $Wind[0], $Humidity[0]]

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

    Return ($MyWeather)

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

    Else

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

    Local $MyWeather[5] = ["Stadt: N/A", "WetterStatus: N/A", "Temperatur: N/A", "Wind: N/A", "Luftfeuchtigkeit: N/A"]

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

    Return ($MyWeather)
    EndIf
    EndFunc ;==>_getXML_Weather_data

    [/autoit]
  • Zitat

    postcodes bzw städtenamen einfach via *.ini abrufen

    woher bekommst du denn die postcodes für die ini? die wirst du ja wahrscheinlich auch irgendwie über google finden oder?
    dann müssteste keine ini anlegen sondern dir einfach ne funktion basteln mit der man sich die codes selber sucht

    Ps: hab mir die gekürzte fassung deines scripts mal abgespeichert sowas is immer gut für die sammlung ^^

  • die postcodes hab ich mir entweder googled, oder weiss sie auswendig. abgesehen von der kroatien sache mit novi vinodolski. da reicht auch stadtname. ist aber nicht überall so. Oder bei Lökken musste ich ein nachbarort nehmen weil die API keine umlaute erlaubt bzw ae ue oe geht nicht.
    wenn wer eine möglichkeit kennt zu nem postcode register womit man eventuell via stadtname nen dropdown mit möglichen postcodes erstellen könnte, wäre auch cool zum einbringen.

    p.s.: vll mag wer ja die udf erweitern um andere Wetter API's. die man dann via optionalen parameter wählen könnte.

    lg basti

  • achja hier mal dein scirpt gekürzt ^^

    gleiche funktion + funktionierender exit button

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <INet.au3>
    #include <string.au3>

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

    Local $Mydummy[5] = ["Stadt: N/A", "WetterStatus: N/A", "Temperatur: N/A", "Wind: N/A", "Luftfeuchtigkeit: N/A"]
    If Not IsDeclared('Snow_2') Then Local $Snow_2 = 0xeee9e9
    If Not IsDeclared('Cornflower_Blue') Then Local $Cornflower_Blue = 0x000000
    If Not IsDeclared('Royal_Blue_3') Then Local $Royal_Blue_3 = 0xCD0000
    Global $Pcode[4][2] = [[42655, "Solingen"],[42117, "Wuppertal"],["Novi Vinodolski", "Novi Vinodolski"],["Saltum", "Lökken"]]

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

    GUICreate("Wetter 2.0 Beta |", 391, 288, 196, 250)
    GUISetBkColor($Royal_Blue_3)
    Global $Group[4] = [GUICtrlCreateGroup("", 4, 8, 185, 129), GUICtrlCreateGroup("", 200, 8, 185, 129), GUICtrlCreateGroup("", 4, 148, 185, 129), GUICtrlCreateGroup("", 200, 148, 185, 129)]
    For $i = 0 To 3
    GUICtrlSetColor($Group[$i], $Snow_2)
    Next
    Global $Edit[4] = [GUICtrlCreateEdit("", 8, 24, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0), GUICtrlCreateEdit("", 204, 24, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0), GUICtrlCreateEdit("", 8, 164, 177, 109, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0), GUICtrlCreateEdit("", 204, 164, 177, 109, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $ES_WANTRETURN), 0)]
    For $i = 0 To 3
    GUICtrlSetBkColor($Edit[$i], $Cornflower_Blue)
    GUICtrlSetColor($Edit[$i], $Snow_2)
    Next
    GUISetState(@SW_SHOW)

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

    UpdateAll(); für das erste befüllen
    AdlibRegister("UpdateAll", 60000); Aktualisiert 1mal pro minute

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func UpdateAll()
    For $i = 0 To 3
    SetData($i)
    Next
    WinSetTitle("Wetter 2.0 Beta |", "", "Wetter 2.0 Beta | Letzte Aktualisierung: " & @HOUR & ":" & @MIN)
    EndFunc

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

    Func SetData($index)
    $aTmp = _getXML_Weather_data($Pcode[$index][0])
    If IsArray($aTmp) Then
    GUICtrlSetData($Group[$index], $Pcode[$index][1])
    GUICtrlSetData($Edit[$index], $aTmp[1] & @CRLF & $aTmp[2] & @CRLF & $aTmp[3] & @CRLF & $aTmp[4] & @CRLF)
    Else
    GUICtrlSetData($Group[$index], $Mydummy[0])
    GUICtrlSetData($Edit[$index], $Mydummy[1] & @CRLF & $Mydummy[2] & @CRLF & $Mydummy[3] & @CRLF & $Mydummy[4] & @CRLF)
    EndIf
    EndFunc

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

    Func _getXML_Weather_data($pcode)
    $Api = "http://www.google.com/ig/api?weather=" & $pcode & '&hl=de'
    $XML_Source = _INetGetSource($Api)
    $City = _StringBetween($XML_Source, '<city data="', '"/>')
    $Wstatus = _StringBetween($XML_Source, '<condition data="', '"/>')
    $Temp = _StringBetween($XML_Source, '<temp_c data="', '"/>')
    $Wind = _StringBetween($XML_Source, '<wind_condition data="', '"/>')
    $Humidity = _StringBetween($XML_Source, '<humidity data="', '"/>')
    Local $MyWeather[5] = [$City[0], $Wstatus[0], $Temp[0] & " °C", $Wind[0], $Humidity[0]]
    Return $MyWeather
    EndFunc ;==>_getXML_Weather_data

    [/autoit]


    is zwar so nicht ideal, aber wenn ich mal zeit hab bau ichs aus

  • korrekt, die struktur an sich ist mal ganz ne andere umsetzung.
    hab ich grad mal ne menge draus gelernt =)
    einfach logischer so :D

    dank dir für die version!

    btw: AdlibRegister gegen AdlibEnable austauschen ;)

    € : Die random Zeiten hatte ich gewählt gehabt weil google bei fixen werten dich schnell als bot einstuft und man vorhher die api via hand abrufen muss ums captcha einzugeben.. vll sollte man das ganze noch in TCP umbauen, dann wäre es sogut wie "perfekt"^^

    lg Basti

    Einmal editiert, zuletzt von Bustd (4. März 2010 um 14:42)

  • Hi Bustd,

    kannst Du die aktuelle Version deine Scripts bitte in deinen ersten Post packen, dann muss man nicht den ganzen Thread nach der aktuellsten Version durchwühlen.

    Schön wärs auch noch wenn Du in den Script abfangen könntest ob du korrekte Werte bekommst. Ich habe nämlich zufällig einen Ort gehabt wo

    [autoit]

    <condition data="'

    [/autoit]

    leer war.

    Dann bekomm ich folgendes angezeigt.

    [autoit]

    "/><temp_f data="44

    [/autoit]

    Danke ^^

    Einmal editiert, zuletzt von Schnuecks (3. März 2010 um 15:08)

  • Wunsch erfüllt =)

    aber ich verstehe dein zweiten codeschnipsel nicht,
    das manches mal nicht verzeichnet ist, ist schon klar aber das 2. snipped sagt mir null.
    Bitte genauer erklären.

    lg basti