Jump to content



Photo

WeatherDesk II GUI weather app


  • Please log in to reply
5 replies to this topic

#1 billmez

billmez

    Prodigy

  • Active Members
  • PipPipPip
  • 171 posts

Posted 30 January 2006 - 05:06 AM

WeatherDesk II is an enhanced version of weather desk mod of the original advanced dopplar code by Layer.

The available forecasts have been greatly enhanced and the code (especially conditionals) has been mostly rewriten, taking advantage of selects and functions.

The zip file contains the compiled app WeatherDesk2.exe, the source code WeatherDesk2.Au3, and an icon.

:lmao: Enjoy,
billmez

Attached Files







#2 rakudave

rakudave

    Polymath

  • Active Members
  • PipPipPipPip
  • 245 posts

Posted 30 January 2006 - 11:12 AM

a nice app, but as a non-american not very usefull for me... ;-(
could you include europe???
thx

Edited by rakudave, 30 January 2006 - 11:12 AM.


#3 billmez

billmez

    Prodigy

  • Active Members
  • PipPipPip
  • 171 posts

Posted 30 January 2006 - 12:28 PM

a nice app, but as a non-american not very usefull for me... ;-(
could you include europe???
thx


Sorry about the US only. The world is a big place to include in a small weather app.

You can take the source code and plug in the URLs to weather.com european forecast graphis in the categories you want. You can find the maps here: http://www.weather.com/maps/geography/euro...ndex_large.html. Right click on the map image you want and copy the URL from the properties.

#4 layer

layer

    i love skateboarding

  • Active Members
  • PipPipPipPipPipPip
  • 2,470 posts

Posted 01 February 2006 - 10:50 PM

Very nice improvements billmez ! Thanks for the script, I use it at least three times a day (no joke :lmao:) !
FootbaG

#5 Onoitsu2

Onoitsu2

    Wayfarer

  • Active Members
  • Pip
  • 58 posts

Posted 28 April 2006 - 03:12 PM

I have modified it to save your last region choice to the registry, then when you re-run it it will start off from that regions local surface weather. Below code is link to download, and an icon I have made for it. I know the icon was thrown together in about 30 seconds, I am planning on making a better one.

Plain Text         
;======================================================================== ; Original code by layer ; Modified by billmez to add menu and selections for regional forecasts ; and various enhancements documented in code below. ; Happy 2006 to all ; ; Modified by Onoitsu2 to allow saving and recovery of last region used, ; and auto loads Local Surface Weather if you have a region selected, ; (region not being US National that is...) ;======================================================================== #include <GuiConstants.au3> #NoTrayIcon ; Check for program already running $g_szVersion = "Weather 1.0" If WinExists($g_szVersion) Then Exit; It's already running AutoItWinSetTitle($g_szVersion) Dim $pic = 1; $BS_FLAT = 0x8000 Dim $loc = "us" Dim $LastPic = 1 Dim $sat Dim $refr = 300000; milliseconds to refresh (5 min. - see note below) $gui1 = GUICreate("Weather Desk", 600, 450, -1, -1, $WS_CAPTION + $WS_SYSMENU + $WS_MINIMIZEBOX + $WS_VISIBLE) ; Test for active Internet connection with Ping $InetActive = Ping("www.google.com") If Not $InetActive > 0 Then MsgBox(4112, "Connection Not Found!", "You must be connected to the Internet" & @CRLF & "to use this program") Exit EndIf ; Create Forecast Menu $selectmenu = GUICtrlCreateMenu("Select Forecast Region",-1,1)   ; Menu select items place in array to more easily facilitate selecting/deselecting     Dim $selectitem[10] = [GUICtrlCreateMenuitem ("US National",$selectmenu), GUICtrlCreateMenuitem ("North East",$selectmenu), GUICtrlCreateMenuitem ("East Central",$selectmenu), GUICtrlCreateMenuitem ("South East",$selectmenu), GUICtrlCreateMenuitem ("North Central",$selectmenu), GUICtrlCreateMenuitem ("Central",$selectmenu), GUICtrlCreateMenuitem ("South Central",$selectmenu), GUICtrlCreateMenuitem ("North West",$selectmenu), GUICtrlCreateMenuitem ("West Central",$selectmenu), GUICtrlCreateMenuitem ("South West",$selectmenu)]     ; Set US National as default selected   Global $default_region = RegRead("HKEY_CURRENT_USER\Software\WeatherDesk","DefaultRegion") If $default_region = 0 OR $default_region = "" Then $default_region = 0 GUICtrlSetState($selectitem[0],$GUI_CHECKED) Else GUICtrlSetState($selectitem[$default_region],$GUI_CHECKED) $loc = RegRead("HKEY_CURRENT_USER\Software\WeatherDesk","DefaultRegionAb") $LastPic = 3 EndIf ; Select Menu Array Assignments ;$selectitem[0] = "US National" ;$selectitem[1] = "North East" ;$selectitem[2] = "East Central" ;$selectitem[3] = "South East" ;$selectitem[4] = "North Central" ;$selectitem[5] = "Central" ;$selectitem[6] = "South Central" ;$selectitem[7] = "North West" ;$selectitem[8] = "West Central" ;$selectitem[9] = "South West"     ; create menu items to display current selection ;~ $region = GUICtrlCreateMenu("") ;~ $display = GUICtrlCreateMenu("") DirCreate(@TempDir & "\WeatherMaps") If $default_region = 0 Then     $region = GUICtrlCreateMenu("Currently US National")     $display = GUICtrlCreateMenu("Doppler Radar") InetGet("<a href='http://image.weather.com/web/radar/us_radar_plus_usen.jpg' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/web/radar/us_radar_plus_usen.jpg"</a>, @TempDir & "\WeatherMaps\pic1.jpg", 1, 0) Else     $title = GUICtrlRead($selectitem[$default_region],1)     $region = GUICtrlCreateMenu("Currently " & $title[0])     $display = GUICtrlCreateMenu("Local Surface Weather") InetGet("<a href='http://image.weather.com/images/maps/current/cur_' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/maps/current/cur_"</a> & $loc & "_720x486.jpg", @TempDir & "\WeatherMaps\pic1.jpg", 1, 0) EndIf $Button1 =  GUICtrlCreatePic(@TempDir & "\WeatherMaps\pic1.jpg", 0, 0, 600, 405) $Button2 =  GUICtrlCreateButton("US Radar", 0, 408, 75, 20, $BS_FLAT) $Button3 =  GUICtrlCreateButton("US Satelite", 75, 408, 75, 20, $BS_FLAT) $Button4 =  GUICtrlCreateButton("Forecast", 150, 408, 75, 20, $BS_FLAT) $Button5 =  GUICtrlCreateButton("Temperatures", 225, 408, 75, 20, $BS_FLAT) $Button6 =  GUICtrlCreateButton("Current Weather", 300, 408, 85, 20, $BS_FLAT) $Button7 =  GUICtrlCreateButton("Tropics", 385, 408, 70, 20, $BS_FLAT) $Button8 =  GUICtrlCreateButton("Severe", 455, 408, 75, 20, $BS_FLAT) $Button9 =  GUICtrlCreateButton("Drought", 530, 408, 70, 20, $BS_FLAT) GUISetState(@SW_SHOW, $gui1) ; Even under the most severe conditions the NWS only updates doppler radar sweeps ever 3 minutes ; because it takes that long to complete a scan of the elevations and angles. This script would need ; direct access to NWS radar feeds to be updated even this frequently. TWC probably only updates every ; 10-15 minutes so setting a refresh time of less than 5 minutes is unnecessary. Click the button ; again to update inbetween auto refreshes. ; ; Changed AdlibEnable("_GetEcho", 180000) to a function so it can update the refresh times whenever ; a different region is selected. Added a variable $refr to set the refresh time _ReLoad() $init = 1 While 1    $get = GUIGetMsg() ;~  MsgBox(0,"","before of do")    While $init    Select    Case $default_region = 0        $get = 4    Case $default_region = 1        $get = 5    Case $default_region = 2        $get = 6    Case $default_region = 3        $get = 7    Case $default_region = 4        $get = 8    Case $default_region = 5        $get = 9    Case $default_region = 6        $get = 10    Case $default_region = 7        $get = 11    Case $default_region = 8        $get = 12    Case $default_region = 9        $get = 13    EndSelect ;~  _GetEcho()    $init = 0    WEnd ;~  MsgBox(0,"","after do")    Select     Case $get = $selectitem[0]        $default_region = 0        $loc = "us"        _UnCheck()        GUICtrlSetState($selectitem[0],$GUI_CHECKED)        GUICtrlSetData($region,"Currently US National")        _SetButtons("nat")       ; setting $pic to LastPic and calling GetEcho from the menu selctions will       ; force an update with the same button selection when a different region       ; is selected.        $pic = $LastPic        _GetEcho()         ; selection regions set by variable below for each forecast type.     Case $get = $selectitem[1]          $default_region = 1        $loc = "ne"        $sat = "northeast"        $prec = "ne"        $sev = "ne"        $rad = "ne"        _UnCheck()        GUICtrlSetState($selectitem[1],$GUI_CHECKED)        GUICtrlSetData($region,"Currently North East")        _SetButtons("reg")        $pic = $LastPic        _GetEcho()     Case $get = $selectitem[2]        $default_region = 2        $loc = "ec"        $sat = "east_cen"        $prec = "ecen"        $sev = "ec"        $rad = "ec"        _UnCheck()        GUICtrlSetState($selectitem[2],$GUI_CHECKED)        GUICtrlSetData($region,"Currently East Central")        _SetButtons("reg")        $pic = $LastPic        _GetEcho()     Case $get = $selectitem[3]        $default_region = 3        $loc = "se"        $sat = "southeast"        $prec = "se"        $sev = "se"        $rad = "se"        _UnCheck()        GUICtrlSetState($selectitem[3],$GUI_CHECKED)        GUICtrlSetData($region,"Currently South East")        _SetButtons("reg")        $pic = $LastPic        _GetEcho()     Case $get = $selectitem[4]        $default_region = 4        $loc = "nc"        $sat = "n_central"        $prec = "ncen"        $sev = "nc"        $rad = "nc"        _UnCheck()        GUICtrlSetState($selectitem[4],$GUI_CHECKED)        GUICtrlSetData($region,"Currently North Central")        _SetButtons("reg")        $pic = $LastPic        _GetEcho()     Case $get = $selectitem[5]        $default_region = 5        $loc = "cen"        $sat = "central"        $prec = "cen"        $sev = "cn"        $rad = "cn"        _UnCheck()        GUICtrlSetState($selectitem[5],$GUI_CHECKED)        GUICtrlSetData($region,"Currently Central")        _SetButtons("reg")        $pic = $LastPic        _GetEcho()     Case $get = $selectitem[6]        $default_region = 6        $loc = "sc"        $sat = "s_central"        $prec = "scen"        $sev = "sc"        $rad = "sc"        _UnCheck()        GUICtrlSetState($selectitem[6],$GUI_CHECKED)        GUICtrlSetData($region,"Currently South Central")        _SetButtons("reg")        $pic = $LastPic        _GetEcho()     Case $get = $selectitem[7]        $default_region = 7        $loc = "nw"        $sat = "northwest"        $prec = "nw"        $sev = "nw"        $rad = "nw"        _UnCheck()        GUICtrlSetState($selectitem[7],$GUI_CHECKED)        GUICtrlSetData($region,"Currently North West")        _SetButtons("reg")        $pic = $LastPic        _GetEcho()     Case $get = $selectitem[8]        $default_region = 8        $loc = "wc"        $sat = "west_cen"        $prec = "wcen"        $sev = "wc"        $rad = "wc"        _UnCheck()        GUICtrlSetState($selectitem[8],$GUI_CHECKED)        GUICtrlSetData($region,"Currently West Central")        _SetButtons("reg")        $pic = $LastPic        _GetEcho()     Case $get = $selectitem[9]         $default_region = 9         $loc = "sw"         $sat = "southwest"         $prec = "sw"         $sev = "sw"         $rad = "sw"         _UnCheck()         GUICtrlSetState($selectitem[9],$GUI_CHECKED)         GUICtrlSetData($region,"Currently South West")         _SetButtons("reg")         $pic = $LastPic        _GetEcho()     Case $get = -3         Exit     Case $get = $Button2         $pic = 1         _GetEcho()     Case $get = $Button3         $pic = 2         _GetEcho()     Case $get = $Button4         $pic = 3         _GetEcho()     Case $get = $Button5         $pic = 4         _GetEcho()     Case $get = $Button6         $pic = 5         _GetEcho()     Case $get = $Button7         $pic = 6         _GetEcho()     Case $get = $Button8         $pic = 7         _GetEcho()     Case $get = $Button9         $pic = 8         _GetEcho()     EndSelect     $LastPic = $pic WEnd Func _GetEcho()     If $pic = 1 Then       InetGet("<a href='http://image.weather.com/web/radar/us_radar_plus_usen.jpg' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/web/radar/us_radar_plus_usen.jpg"</a>, @TempDir & "\WeatherMaps\pic1.jpg", 1, 0)       $name = "\pic1.jpg"       GUICtrlSetData($display,"US Doppler Radar")       _ReLoad()     ElseIf $pic = 2 Then       InetGet("<a href='http://image.weather.com/images/sat/ussat_600x405.jpg' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/sat/ussat_600x405.jpg"</a>, @TempDir & "\WeatherMaps\pic2.jpg", 1, 0)       $name = "\pic2.jpg"       GUICtrlSetData($display,"US Infrared Satelite")       _ReLoad()     ElseIf $pic = 3 Then       If $loc = "us" Then       InetGet("<a href='http://image.weather.com/web/forecast/us_wxhi1_large_usen_600.jpg' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/web/forecast/us_wxhi1_large_usen_600.jpg"</a>, @TempDir & "\WeatherMaps\pic3.jpg", 1, 0)       GUICtrlSetData($display,"Forecast")       Else       InetGet("<a href='http://image.weather.com/images/maps/current/cur_' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/maps/current/cur_"</a> & $loc & "_720x486.jpg", @TempDir & "\WeatherMaps\pic3.jpg", 1, 0)       GUICtrlSetData($display,"Local Surface Weather")       EndIf       $name = "\pic3.jpg"         _ReLoad()     ElseIf $pic = 4 Then       If $loc = "us" Then       InetGet("<a href='http://image.weather.com/images/maps/current/acttemp_600x405.jpg' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/maps/current/acttemp_600x405.jpg"</a>, @TempDir & "\WeatherMaps\pic4.jpg", 1, 0)       GUICtrlSetData($display,"Temperatures")       Else       InetGet("<a href='http://image.weather.com/images/maps/current/' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/maps/current/"</a> & $loc & "_curtemp_720x486.jpg", @TempDir & "\WeatherMaps\pic4.jpg", 1, 0)       GUICtrlSetData($display,"Local Temperatures")       EndIf       $name = "\pic4.jpg"         _ReLoad()     ElseIf $pic = 5 Then       If $loc = "us" Then       InetGet("<a href='http://image.weather.com/images/maps/current/curwx_600x405.jpg' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/maps/current/curwx_600x405.jpg"</a>, @TempDir & "\WeatherMaps\pic5.jpg", 1, 0)       GUICtrlSetData($display,"Surface Weather")       Else       InetGet("<a href='http://image.weather.com/images/maps/forecast/' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/maps/forecast/"</a> & $prec & "_precfcst_600x405.jpg", @TempDir & "\WeatherMaps\pic5.jpg", 1, 0)       GUICtrlSetData($display,"Local Precipitation")       EndIf       $name = "\pic5.jpg"       _ReLoad()     ElseIf $pic = 6 Then       If $loc = "us" Then       InetGet("<a href='http://image.weather.com/images/sat/tropsat_600x405.jpg' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/sat/tropsat_600x405.jpg"</a>, @TempDir & "\WeatherMaps\pic6.jpg", 1, 0)       GUICtrlSetData($display,"Tropical Satelite")       Else       InetGet("<a href='http://image.weather.com/images/maps/special/severe_' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/maps/special/severe_"</a> & $sev & "_720x486.jpg", @TempDir & "\WeatherMaps\pic6.jpg", 1, 0)       GUICtrlSetData($display,"Local Severe Weather")       EndIf       $name = "\pic6.jpg"       _ReLoad()     ElseIf $pic = 7 Then       If $loc = "us" Then       InetGet("<a href='http://image.weather.com/images/maps/special/severe_us_600x405.jpg' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/maps/special/severe_us_600x405.jpg"</a>, @TempDir & "\WeatherMaps\pic7.jpg", 1, 0)       GUICtrlSetData($display,"Severe Weather")       Else       InetGet("<a href='http://image.weather.com/web/radar/us_' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/web/radar/us_"</a> & $rad & "_9regradar_large_usen.jpg", @TempDir & "\WeatherMaps\pic7.jpg", 1, 0)       GUICtrlSetData($display,"Local Doppler Radar")       EndIf       $name = "\pic7.jpg"       _ReLoad()     ElseIf $pic = 8 Then       If $loc = "us" Then       InetGet("<a href='http://image.weather.com/images/maps/current/palmer_drought_720x486.jpg' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/maps/current/palmer_drought_720x486.jpg"</a>, @TempDir & "\WeatherMaps\pic8.jpg", 1, 0)       GUICtrlSetData($display,"Drought Conditions")       Else       InetGet("<a href='http://image.weather.com/images/sat/regions/' class='bbc_url' title='External link' rel='nofollow external'>http://image.weather.com/images/sat/regions/"</a> & $sat & "_sat_720x486.jpg", @TempDir & "\WeatherMaps\pic8.jpg", 1, 0)       GUICtrlSetData($display,"Local Infrared Satelite")       EndIf       $name = "\pic8.jpg"       _ReLoad()    EndIf        GUICtrlSetImage($Button1, @TempDir & "\WeatherMaps\" & $name) EndFunc;==>_GetEcho Func OnAutoItExit()    AdlibDisable()    If NOT ($default_region = "") Then    RegWrite("HKEY_CURRENT_USER\Software\WeatherDesk","DefaultRegion","REG_SZ",$default_region)    RegWrite("HKEY_CURRENT_USER\Software\WeatherDesk","DefaultRegionAb","REG_SZ",$loc)    Else    RegWrite("HKEY_CURRENT_USER\Software\WeatherDesk","DefaultRegion","REG_SZ",0)    RegWrite("HKEY_CURRENT_USER\Software\WeatherDesk","DefaultRegionAb","REG_SZ","us")    EndIf    If $gui1 Then    GUIDelete($gui1)    EndIf    DirRemove(@TempDir & "\WeatherMaps\", 1) EndFunc;==>OnAutoItExit ; Uncheck all menu items before checking current selection Func _UnCheck()     For $i = 0 to 9         GUICtrlSetState($selectitem[$i],$GUI_UnCHECKED)         Next     EndFunc     ; Set button display for either regional or national forecasts Func _SetButtons($buttons)     If $buttons = "reg" Then         GUICtrlSetData($Button4, "Current")         GUICtrlSetData($Button6, "Precipitation")         GUICtrlSetData($Button7, "Severe")         GUICtrlSetData($Button8, "Radar")         GUICtrlSetData($Button9, "Satelite")     Else         $buttons = "nat"         GUICtrlSetData($Button4, "Forecast")         GUICtrlSetData($Button6, "Current Weather")         GUICtrlSetData($Button7, "Tropics")         GUICtrlSetData($Button8, "Severe")         GUICtrlSetData($Button9, "Drought")     EndIf EndFunc Func _ReLoad()     AdlibDisable()     AdlibEnable("_GetEcho", $refr) EndFunc


Attached File  weatherdesk.au3   13.88K   239 downloads
Attached File  weatherdesk.ico   4.19K   147 downloads

#6 Dicemaster Slayer

Dicemaster Slayer

    Seeker

  • Active Members
  • 36 posts

Posted 02 July 2006 - 01:04 AM

Forgive me if it may appear I'm resurrecting a very old thread.

I love the old "advanced dopplar" script layer created quite a while back now, and I am glad to see it evolved into this. As for the icon, I've been doing some basic icon work recently, and I thought I might upload my generic library.

In essence, the icon attached is actually 9 icons in one, each with the usual sizes. The icons represent the usual weather conditions, sunny, cloudy, rain, storm, and the like. Application of the icon would either involve the creation of a shortcut and applying the icon from there, or it is possible to refer to the icon directly from the program.

If anyone wants them, I also have the 9 icons in their own files, with all the standard sizes and color sets, available.

Hope this program sees more improvement!

-Dice

Edit: Sorry if it looked like I triple posted.... my connection wasn't cooperating with the file upload. :D
Edit: corrected typo :wacko:

Attached Files


Edited by Dicemaster Slayer, 14 July 2006 - 11:33 PM.

Posted Image




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users