home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 4_2005-2006.ISO / data / Zips / Weather_Ap201034812006.psc / Form1.frm < prev    next >
Text File  |  2006-07-31  |  47KB  |  1,223 lines

  1. VERSION 5.00
  2. Object = "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}#1.1#0"; "shdocvw.dll"
  3. Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0"; "TABCTL32.OCX"
  4. Begin VB.Form Form1 
  5.    BorderStyle     =   1  'Fixed Single
  6.    Caption         =   "Form1"
  7.    ClientHeight    =   8265
  8.    ClientLeft      =   375
  9.    ClientTop       =   615
  10.    ClientWidth     =   12060
  11.    Icon            =   "Form1.frx":0000
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    ScaleHeight     =   8265
  15.    ScaleWidth      =   12060
  16.    Begin VB.Timer Timer1 
  17.       Enabled         =   0   'False
  18.       Interval        =   60000
  19.       Left            =   6120
  20.       Top             =   1440
  21.    End
  22.    Begin TabDlg.SSTab SSTab1 
  23.       Height          =   8175
  24.       Left            =   0
  25.       TabIndex        =   1
  26.       Top             =   0
  27.       Width           =   12015
  28.       _ExtentX        =   21193
  29.       _ExtentY        =   14420
  30.       _Version        =   393216
  31.       Tabs            =   6
  32.       TabsPerRow      =   6
  33.       TabHeight       =   520
  34.       TabCaption(0)   =   "Current Conditions"
  35.       Tab(0).ControlEnabled=   -1  'True
  36.       Tab(0).Control(0)=   "WebBrowser6"
  37.       Tab(0).Control(0).Enabled=   0   'False
  38.       Tab(0).Control(1)=   "WebBrowser1"
  39.       Tab(0).Control(1).Enabled=   0   'False
  40.       Tab(0).Control(2)=   "Timer2"
  41.       Tab(0).Control(2).Enabled=   0   'False
  42.       Tab(0).ControlCount=   3
  43.       TabCaption(1)   =   "5 Day Forecast"
  44.       Tab(1).ControlEnabled=   0   'False
  45.       Tab(1).Control(0)=   "WebBrowser2"
  46.       Tab(1).ControlCount=   1
  47.       TabCaption(2)   =   "Radar"
  48.       Tab(2).ControlEnabled=   0   'False
  49.       Tab(2).Control(0)=   "WebBrowser3"
  50.       Tab(2).Control(1)=   "Command1"
  51.       Tab(2).Control(2)=   "Command2"
  52.       Tab(2).Control(3)=   "Command3"
  53.       Tab(2).Control(4)=   "Command4"
  54.       Tab(2).ControlCount=   5
  55.       TabCaption(3)   =   "Pollen Information"
  56.       Tab(3).ControlEnabled=   0   'False
  57.       Tab(3).Control(0)=   "WebBrowser4"
  58.       Tab(3).ControlCount=   1
  59.       TabCaption(4)   =   "Almanac Information"
  60.       Tab(4).ControlEnabled=   0   'False
  61.       Tab(4).Control(0)=   "WebBrowser5"
  62.       Tab(4).ControlCount=   1
  63.       TabCaption(5)   =   "Alerts"
  64.       Tab(5).ControlEnabled=   0   'False
  65.       Tab(5).Control(0)=   "WebBrowser8"
  66.       Tab(5).Control(1)=   "WebBrowser7"
  67.       Tab(5).Control(2)=   "Timer3"
  68.       Tab(5).Control(3)=   "WebBrowser9"
  69.       Tab(5).ControlCount=   4
  70.       Begin VB.CommandButton Command4 
  71.          Caption         =   "Pacific Hurricane Loop"
  72.          Height          =   315
  73.          Left            =   -68280
  74.          TabIndex        =   14
  75.          Top             =   360
  76.          Width           =   2175
  77.       End
  78.       Begin SHDocVwCtl.WebBrowser WebBrowser9 
  79.          Height          =   5475
  80.          Left            =   -74880
  81.          TabIndex        =   13
  82.          Top             =   3000
  83.          Width           =   11835
  84.          ExtentX         =   20876
  85.          ExtentY         =   9657
  86.          ViewMode        =   0
  87.          Offline         =   0
  88.          Silent          =   0
  89.          RegisterAsBrowser=   0
  90.          RegisterAsDropTarget=   1
  91.          AutoArrange     =   0   'False
  92.          NoClientEdge    =   0   'False
  93.          AlignLeft       =   0   'False
  94.          NoWebView       =   0   'False
  95.          HideFileNames   =   0   'False
  96.          SingleClick     =   0   'False
  97.          SingleSelection =   0   'False
  98.          NoFolders       =   0   'False
  99.          Transparent     =   0   'False
  100.          ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  101.          Location        =   "http:///"
  102.       End
  103.       Begin VB.Timer Timer3 
  104.          Enabled         =   0   'False
  105.          Interval        =   30000
  106.          Left            =   -69960
  107.          Top             =   1560
  108.       End
  109.       Begin VB.CommandButton Command3 
  110.          Caption         =   "Atlantic Hurricane Loop"
  111.          Height          =   315
  112.          Left            =   -70680
  113.          TabIndex        =   9
  114.          Top             =   360
  115.          Width           =   2175
  116.       End
  117.       Begin VB.CommandButton Command2 
  118.          Caption         =   "Regional Radar"
  119.          Height          =   315
  120.          Left            =   -72660
  121.          TabIndex        =   8
  122.          Top             =   360
  123.          Width           =   1515
  124.       End
  125.       Begin VB.CommandButton Command1 
  126.          Caption         =   "Local Radar"
  127.          Height          =   315
  128.          Left            =   -74700
  129.          TabIndex        =   7
  130.          Top             =   360
  131.          Width           =   1575
  132.       End
  133.       Begin SHDocVwCtl.WebBrowser WebBrowser5 
  134.          Height          =   7755
  135.          Left            =   -74880
  136.          TabIndex        =   6
  137.          Top             =   360
  138.          Width           =   11835
  139.          ExtentX         =   20876
  140.          ExtentY         =   13679
  141.          ViewMode        =   0
  142.          Offline         =   0
  143.          Silent          =   0
  144.          RegisterAsBrowser=   0
  145.          RegisterAsDropTarget=   1
  146.          AutoArrange     =   0   'False
  147.          NoClientEdge    =   0   'False
  148.          AlignLeft       =   0   'False
  149.          NoWebView       =   0   'False
  150.          HideFileNames   =   0   'False
  151.          SingleClick     =   0   'False
  152.          SingleSelection =   0   'False
  153.          NoFolders       =   0   'False
  154.          Transparent     =   0   'False
  155.          ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  156.          Location        =   "http:///"
  157.       End
  158.       Begin SHDocVwCtl.WebBrowser WebBrowser3 
  159.          Height          =   7395
  160.          Left            =   -74880
  161.          TabIndex        =   5
  162.          Top             =   720
  163.          Width           =   11835
  164.          ExtentX         =   20876
  165.          ExtentY         =   13044
  166.          ViewMode        =   0
  167.          Offline         =   0
  168.          Silent          =   0
  169.          RegisterAsBrowser=   0
  170.          RegisterAsDropTarget=   1
  171.          AutoArrange     =   0   'False
  172.          NoClientEdge    =   0   'False
  173.          AlignLeft       =   0   'False
  174.          NoWebView       =   0   'False
  175.          HideFileNames   =   0   'False
  176.          SingleClick     =   0   'False
  177.          SingleSelection =   0   'False
  178.          NoFolders       =   0   'False
  179.          Transparent     =   0   'False
  180.          ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  181.          Location        =   "http:///"
  182.       End
  183.       Begin SHDocVwCtl.WebBrowser WebBrowser4 
  184.          Height          =   7755
  185.          Left            =   -74880
  186.          TabIndex        =   4
  187.          Top             =   360
  188.          Width           =   11835
  189.          ExtentX         =   20876
  190.          ExtentY         =   13679
  191.          ViewMode        =   0
  192.          Offline         =   0
  193.          Silent          =   0
  194.          RegisterAsBrowser=   0
  195.          RegisterAsDropTarget=   1
  196.          AutoArrange     =   0   'False
  197.          NoClientEdge    =   0   'False
  198.          AlignLeft       =   0   'False
  199.          NoWebView       =   0   'False
  200.          HideFileNames   =   0   'False
  201.          SingleClick     =   0   'False
  202.          SingleSelection =   0   'False
  203.          NoFolders       =   0   'False
  204.          Transparent     =   0   'False
  205.          ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  206.          Location        =   "http:///"
  207.       End
  208.       Begin VB.Timer Timer2 
  209.          Enabled         =   0   'False
  210.          Interval        =   60000
  211.          Left            =   20745
  212.          Top             =   2280
  213.       End
  214.       Begin SHDocVwCtl.WebBrowser WebBrowser2 
  215.          Height          =   7755
  216.          Left            =   -74880
  217.          TabIndex        =   3
  218.          Top             =   360
  219.          Width           =   11835
  220.          ExtentX         =   20876
  221.          ExtentY         =   13679
  222.          ViewMode        =   0
  223.          Offline         =   0
  224.          Silent          =   0
  225.          RegisterAsBrowser=   0
  226.          RegisterAsDropTarget=   1
  227.          AutoArrange     =   0   'False
  228.          NoClientEdge    =   0   'False
  229.          AlignLeft       =   0   'False
  230.          NoWebView       =   0   'False
  231.          HideFileNames   =   0   'False
  232.          SingleClick     =   0   'False
  233.          SingleSelection =   0   'False
  234.          NoFolders       =   0   'False
  235.          Transparent     =   0   'False
  236.          ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  237.          Location        =   "http:///"
  238.       End
  239.       Begin SHDocVwCtl.WebBrowser WebBrowser1 
  240.          Height          =   7755
  241.          Left            =   120
  242.          TabIndex        =   2
  243.          Top             =   360
  244.          Width           =   11835
  245.          ExtentX         =   20876
  246.          ExtentY         =   13679
  247.          ViewMode        =   0
  248.          Offline         =   0
  249.          Silent          =   0
  250.          RegisterAsBrowser=   0
  251.          RegisterAsDropTarget=   0
  252.          AutoArrange     =   0   'False
  253.          NoClientEdge    =   0   'False
  254.          AlignLeft       =   0   'False
  255.          NoWebView       =   0   'False
  256.          HideFileNames   =   0   'False
  257.          SingleClick     =   0   'False
  258.          SingleSelection =   0   'False
  259.          NoFolders       =   0   'False
  260.          Transparent     =   0   'False
  261.          ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  262.          Location        =   "http:///"
  263.       End
  264.       Begin SHDocVwCtl.WebBrowser WebBrowser6 
  265.          Height          =   3255
  266.          Left            =   120
  267.          TabIndex        =   10
  268.          Top             =   2160
  269.          Width           =   4695
  270.          ExtentX         =   8281
  271.          ExtentY         =   5741
  272.          ViewMode        =   0
  273.          Offline         =   0
  274.          Silent          =   0
  275.          RegisterAsBrowser=   0
  276.          RegisterAsDropTarget=   1
  277.          AutoArrange     =   0   'False
  278.          NoClientEdge    =   0   'False
  279.          AlignLeft       =   0   'False
  280.          NoWebView       =   0   'False
  281.          HideFileNames   =   0   'False
  282.          SingleClick     =   0   'False
  283.          SingleSelection =   0   'False
  284.          NoFolders       =   0   'False
  285.          Transparent     =   0   'False
  286.          ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  287.          Location        =   "http:///"
  288.       End
  289.       Begin SHDocVwCtl.WebBrowser WebBrowser7 
  290.          Height          =   2595
  291.          Left            =   -74880
  292.          TabIndex        =   11
  293.          Top             =   360
  294.          Width           =   11835
  295.          ExtentX         =   20876
  296.          ExtentY         =   4577
  297.          ViewMode        =   0
  298.          Offline         =   0
  299.          Silent          =   0
  300.          RegisterAsBrowser=   0
  301.          RegisterAsDropTarget=   1
  302.          AutoArrange     =   0   'False
  303.          NoClientEdge    =   0   'False
  304.          AlignLeft       =   0   'False
  305.          NoWebView       =   0   'False
  306.          HideFileNames   =   0   'False
  307.          SingleClick     =   0   'False
  308.          SingleSelection =   0   'False
  309.          NoFolders       =   0   'False
  310.          Transparent     =   0   'False
  311.          ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  312.          Location        =   "http:///"
  313.       End
  314.       Begin SHDocVwCtl.WebBrowser WebBrowser8 
  315.          Height          =   4275
  316.          Left            =   -74880
  317.          TabIndex        =   12
  318.          Top             =   3840
  319.          Width           =   11835
  320.          ExtentX         =   20876
  321.          ExtentY         =   7541
  322.          ViewMode        =   0
  323.          Offline         =   0
  324.          Silent          =   0
  325.          RegisterAsBrowser=   0
  326.          RegisterAsDropTarget=   1
  327.          AutoArrange     =   0   'False
  328.          NoClientEdge    =   0   'False
  329.          AlignLeft       =   0   'False
  330.          NoWebView       =   0   'False
  331.          HideFileNames   =   0   'False
  332.          SingleClick     =   0   'False
  333.          SingleSelection =   0   'False
  334.          NoFolders       =   0   'False
  335.          Transparent     =   0   'False
  336.          ViewID          =   "{0057D0E0-3573-11CF-AE69-08002B2E1262}"
  337.          Location        =   "http:///"
  338.       End
  339.    End
  340.    Begin VB.TextBox Text1 
  341.       Height          =   6735
  342.       Left            =   9960
  343.       MultiLine       =   -1  'True
  344.       ScrollBars      =   3  'Both
  345.       TabIndex        =   0
  346.       Top             =   0
  347.       Visible         =   0   'False
  348.       Width           =   4935
  349.    End
  350.    Begin VB.Menu mnuset 
  351.       Caption         =   "&Set Zip Code"
  352.    End
  353.    Begin VB.Menu mnutemp 
  354.       Caption         =   "&Temperature Style"
  355.       Begin VB.Menu mnuenglish 
  356.          Caption         =   "English"
  357.       End
  358.       Begin VB.Menu mnumetric 
  359.          Caption         =   "Metric"
  360.       End
  361.    End
  362.    Begin VB.Menu mnuproxy 
  363.       Caption         =   "&Proxy Settings"
  364.    End
  365.    Begin VB.Menu mnuhelp 
  366.       Caption         =   "&Help"
  367.    End
  368.    Begin VB.Menu mnuback 
  369.       Caption         =   "&History (Back)"
  370.    End
  371.    Begin VB.Menu mnuabout 
  372.       Caption         =   "A&bout"
  373.    End
  374. End
  375. Attribute VB_Name = "Form1"
  376. Attribute VB_GlobalNameSpace = False
  377. Attribute VB_Creatable = False
  378. Attribute VB_PredeclaredId = True
  379. Attribute VB_Exposed = False
  380. Dim zpcd As String
  381. Dim metric As Byte
  382. Dim pth As String
  383. Dim website As String
  384. Private WithEvents IconEvent As SysTray
  385. Attribute IconEvent.VB_VarHelpID = -1
  386. Dim prxy As String
  387. Dim cnt As Integer
  388. Dim timercount As Integer
  389. Dim lclrdr As String
  390. Dim regrdr As String
  391. Dim progress As Integer
  392. Dim xmlcomplete As String
  393. Dim timercount2 As Integer
  394. Dim alertflag As String
  395. Dim alertdone As String
  396. Dim timercount3 As Integer
  397. Dim alerterror As String
  398. Dim founddetails As String
  399.  
  400.  
  401.  
  402.  
  403. Dim bShown As Boolean, bHide As Boolean, hPopup&
  404. Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0
  405. Private Const INTERNET_OPEN_TYPE_DIRECT = 1
  406. Private Const INTERNET_OPEN_TYPE_PROXY = 3
  407.  
  408. Private Const scUserAgent = "VB Project"
  409. Private Const INTERNET_FLAG_RELOAD = &H80000000
  410.  
  411. Private Declare Function InternetOpen Lib "wininet.dll" _
  412.   Alias "InternetOpenA" (ByVal sAgent As String, _
  413.   ByVal lAccessType As Long, ByVal sProxyName As String, _
  414.   ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
  415.  
  416. Private Declare Function InternetOpenUrl Lib "wininet.dll" _
  417.   Alias "InternetOpenUrlA" (ByVal hOpen As Long, _
  418.   ByVal sUrl As String, ByVal sHeaders As String, _
  419.   ByVal lLength As Long, ByVal lFlags As Long, _
  420.   ByVal lContext As Long) As Long
  421.  
  422. Private Declare Function InternetReadFile Lib "wininet.dll" _
  423.   (ByVal hFile As Long, ByVal sBuffer As String, _
  424.    ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) _
  425.   As Integer
  426.  
  427. Private Declare Function InternetCloseHandle _
  428.    Lib "wininet.dll" (ByVal hInet As Long) As Integer
  429.  
  430. Private Sub Command1_Click()
  431. WebBrowser3.Navigate (pth & "localrdr.htm")
  432.  
  433. End Sub
  434.  
  435. Private Sub Command2_Click()
  436. WebBrowser3.Navigate (pth & "regionalrdr.htm")
  437.  
  438. End Sub
  439.  
  440. Private Sub Command3_Click()
  441. WebBrowser3.Navigate ("http://sirocco.accuweather.com/sat_mosaic_640x480_public/IR/isahatl.gif")
  442.  
  443.  
  444. End Sub
  445.  
  446. Private Sub Command4_Click()
  447. WebBrowser3.Navigate ("http://sirocco.accuweather.com/sat_mosaic_640x480_public/IR/isaepac.gif")
  448. End Sub
  449.  
  450. Private Sub Form_Load()
  451. 'The menu and systray stuff I found a while back and here is where the credit belongs
  452. ' Systray Example by Wpsjr1@syix.com - Paul aka OnErr0r @ #visualbasic EFNet
  453.  
  454. ' This example uses a WindowProc to subclass the API menu created and _
  455. ' messages from the SysTray.  Make sure you do NOT exit by pressind End.
  456. ' Always exit by clicking the X on the top right of the form.  This allows _
  457. ' the the Class Terminate event to fire and which unhooks the form.
  458.  
  459. ' make an API menu.  (I think this is really easier than a VB menu.)
  460.   On Error GoTo errhandler
  461.  
  462.   
  463.   hPopup = CreatePopupMenu()
  464.   AppendMenu hPopup, MF_STRING, WM_MENUBASE, "&Show Weather"
  465.   AppendMenu hPopup, MF_STRING, WM_MENUBASE + 1, "&Minimize to Tray"
  466.   AppendMenu hPopup, MF_STRING, WM_MENUBASE + 2, "&Restore from Tray"
  467.   AppendMenu hPopup, MF_SEPARATOR, WM_MENUBASE, ""
  468.   AppendMenu hPopup, MF_STRING, WM_MENUBASE + 3, "&Exit"
  469.   SetMenuDefaultItem hPopup, 0&, True    ' make the first menu item bold
  470.  
  471.   bShown = True
  472.   Set IconEvent = New SysTray
  473.   Set IconEvent.TrayIcon = Me.Icon
  474.   IconEvent.FormhWnd = Me.hWnd
  475.   IconEvent.TrayTip = "double click to show form" & vbNullChar
  476.   IconEvent.InTray = True
  477.  
  478. SSTab1.Enabled = False 'make tab unselectable to make time for the webpage to be loaded and deciphered
  479.  
  480. Form2.Left = Screen.Width - Form2.Width - 40
  481. Form2.Top = Form2.Height - 400
  482.  
  483. If Len(App.Path) > 3 Then pth = App.Path & "\" Else pth = App.Path
  484. fnd = Dir(pth & "settings.ini") 'Check to see if there is a settings.ini file
  485. If fnd = "" Then 'OOOPS no settings.ini file, make a new one with defaults
  486. 1       zpcd = InputBox("Enter Preferred Zip Code", "Enter Zip Code") 'get the zipcode from the user
  487.     If Len(zpcd) = 0 Then GoTo 1
  488.     If Len(zpcd) > 5 Then GoTo 1
  489.     zp = "zip=" & zpcd
  490.     mt = "metric=0" 'default=english
  491.     prxytemp = "proxy=" 'default is direct connect - no proxy
  492.     Open pth & "settings.ini" For Output As #1 'create settings.ini
  493.         Print #1, zp
  494.         Print #1, mt
  495.         Print #1, prxytmp
  496.     Close #1
  497. End If
  498.  
  499.  
  500. Open pth & "settings.ini" For Input As #1 'we are sure there is a file, now grab settings
  501.     Input #1, settings
  502.     Input #1, mt
  503.     Input #1, prxytmp
  504. Close #1
  505.  
  506. zpcd = Right$(settings, 5)
  507.  
  508. If Len(settings) < 9 Or Len(settings) > 9 Or zpcd <> Val(zpcd) Then GoTo 1 'zipcode is incorrect
  509. If Len(mt) < 8 Or Len(mt) > 8 Then metric = 0 Else metric = Val(Right$(mt, 1)) 'verify and correct inconsistencies
  510. If Len(prxytmp) < 7 Then prxy = "" Else prxy = Right$(prxytmp, Len(prxytmp) - 6) 'verify and correct inconsistencies
  511.  
  512. If Len(mt) < 8 Then
  513.     zp = settings
  514.     mt = "metric=0"
  515.     Open pth & "settings.ini" For Output As #1
  516.         Print #1, zp
  517.         Print #1, mt
  518.         Print #1, prxytmp
  519.     Close #1
  520. End If
  521.  
  522. If metric = 1 Then mnumetric.Checked = True: mnuenglish.Checked = False 'metric is chosen
  523. If metric = 0 Then mnumetric.Checked = False: mnuenglish.Checked = True 'english is chosen
  524.  
  525. Timer1.Enabled = False 'timer for updating weather and current conditions
  526.  
  527. On Error GoTo errhandler
  528. progress = 1
  529. forecast 'this is the function that takes care of the current conditions and the forecast
  530.  
  531.   check_alerts
  532.  
  533. website = "0"
  534.  
  535. WebBrowser4.Navigate ("http://pollen.com/forecast_fourday.asp?AffiliateID=2508&zip=" & zpcd & "&ft=1&pop=1")
  536.  
  537. Timer1.Enabled = True
  538. SSTab1.Enabled = True
  539. progress = 0
  540. Exit Sub
  541. errhandler:
  542.  
  543. MsgBox "There has been an unrecoverable error....Closing"
  544. Exit Sub
  545.  
  546. End Sub
  547.  
  548.  
  549.  
  550.  
  551.  
  552. Private Sub IconEvent_MouseUp(Button As Integer, Id As Long)
  553.   
  554. If Button = 1 Then Me.Show 'left click on systray icon gives you the weather screen
  555.  
  556. End Sub
  557.  
  558. Private Sub mnuabout_Click()
  559.  
  560. MsgBox "Weather Program made by Larry Myers 443-543-3107"
  561.  
  562. End Sub
  563.  
  564. Private Sub mnuAlerts_Click()
  565.  
  566. End Sub
  567.  
  568. Private Sub mnuback_Click()
  569. If SSTab1 = 0 Then WebBrowser1.Navigate (pth & "currentweather.htm")
  570. If SSTab1 = 1 Then WebBrowser2.Navigate (pth & "fivedayforecast.htm")
  571. If SSTab1 = 2 Then WebBrowser3.Navigate (pth & "localrdr.htm")
  572. If SSTab1 = 3 Then WebBrowser4.Navigate ("http://pollen.com/forecast_fourday.asp?AffiliateID=2508&zip=" & zpcd & "&ft=1&pop=1")
  573. If SSTab1 = 4 Then WebBrowser5.Navigate (pth & "almanac.htm")
  574.  
  575. End Sub
  576.  
  577. Private Sub mnuenglish_Click()
  578. 'this is where english settings are selected
  579.  
  580. mnuenglish.Checked = True
  581. mnumetric.Checked = False
  582. 'create settings.ini
  583. zp = "zip=" & zpcd
  584. mt = "metric=0"
  585. prxytmp = "proxy=" & prxy
  586.     Open pth & "settings.ini" For Output As #1
  587.         Print #1, zp
  588.         Print #1, mt
  589.         Print #1, prxytmp
  590.     Close #1
  591.  
  592. metric = 0 'set metric variable to match english
  593.  
  594. tb = SSTab1.Tab 'make decision as to what function to call based on the tab selected
  595. If tb = 0 Then forecast
  596.  
  597.  
  598. End Sub
  599.  
  600. Private Sub mnuhelp_Click()
  601. 'quick and dirty help
  602.  
  603. MsgBox "When main weather form is on screen the 4 tabs give different information, current conditions is updated every minute. When minimized a mini form will appear: Left click on it=show main form, Left and Shift will minimize to task bar, Ricght click kills it. The Systray icon also has some abilities."
  604.  
  605. End Sub
  606.  
  607. Private Sub mnumetric_Click()
  608. 'this is where english settings are selected
  609.  
  610. mnuenglish.Checked = False
  611. mnumetric.Checked = True
  612.  
  613. 'create settings.ini
  614. zp = "zip=" & zpcd
  615. mt = "metric=1"
  616. prxytmp = "proxy=" & prxy
  617. Open pth & "settings.ini" For Output As #1
  618. Print #1, zp
  619. Print #1, mt
  620. Print #1, prxytmp
  621. Close #1
  622.  
  623. metric = 1 'set metric variable to metric
  624.  
  625. tb = SSTab1.Tab 'make decision as to what function to call based on the tab selected
  626. If tb = 0 Then forecast
  627.  
  628.  
  629. End Sub
  630.  
  631. Private Sub mnuproxy_Click()
  632. 'this is where proxy settings are made from the menu
  633.  
  634. prxytmp = InputBox("Enter Proxy Settings - None for No Proxy, ? for Auto Setup, Type in the IP for Manual Proxy", "Proxy Settings", prxy, Me.Left, Me.Top)
  635. If Len(prxytmp) < 1 Then prxy = "" Else prxy = prxytmp 'if proxy is set to ? set to auto, if blank set to direct connect, if it is something else set the proxy to manual with proxy as that setting
  636.  
  637. 'write settings.ini file again
  638. zp = "zip=" & zpcd
  639. mt = "metric=" & metric
  640. prxytmp = "proxy=" & prxy
  641.     Open pth & "settings.ini" For Output As #1
  642.         Print #1, zp
  643.         Print #1, mt
  644.         Print #1, prxytmp
  645.     Close #1
  646.  
  647. 10 tb = SSTab1.Tab 'make decision as to what function to call based on the tab selected
  648.  forecast
  649. check_alerts
  650. 'also need to update the pollen tab
  651. WebBrowser4.Navigate ("http://pollen.com/forecast_fourday.asp?AffiliateID=2508&zip=" & zpcd & "&ft=1&pop=1")
  652.  
  653. End Sub
  654.  
  655. Private Sub mnuset_Click()
  656. 'this is where I set the zip code based on user input
  657.  
  658. 1 zpcdtemp = InputBox("Enter Preferred Zip Code", "Enter Zip Code", zpcd, Me.Left, Me.Top)
  659.  
  660. If Len(zpcdtemp) = 0 Then GoTo 10 'if blank that means cancel the change
  661. If Len(zpcdtemp) > 5 Or Len(zpcdtemp) < 5 Or zpcdtemp <> Val(zpcdtemp) Then GoTo 1 'bad zip code
  662.  
  663. 'create settings.ini file
  664. zp = "zip=" & zpcdtemp
  665. zpcd = zpcdtemp
  666. mt = "metric=" & metric
  667. prxytmp = "proxy=" & prxy
  668.     Open pth & "settings.ini" For Output As #1
  669.         Print #1, zp
  670.         Print #1, mt
  671.         Print #1, prxytmp
  672.     Close #1
  673.  
  674. 10 tb = SSTab1.Tab 'make decision as to what function to call based on the tab selected
  675. forecast
  676. check_alerts
  677.  
  678. 'need to update pollen count for zip code
  679. WebBrowser4.Navigate ("http://pollen.com/forecast_fourday.asp?AffiliateID=2508&zip=" & zpcd & "&ft=1&pop=1")
  680.  
  681. End Sub
  682.  
  683.  
  684. Private Sub SSTab1_Click(PreviousTab As Integer)
  685.  
  686. If SSTab1.Tab = 0 Then WebBrowser1.Navigate (pth & "currentweather.htm")
  687. If SSTab1.Tab = 1 Then WebBrowser2.Navigate (pth & "fivedayforecast.htm")
  688. If SSTab1.Tab = 2 Then WebBrowser3.Navigate (pth & "localrdr.htm")
  689. If SSTab1.Tab = 3 Then WebBrowser4.Navigate ("http://pollen.com/forecast_fourday.asp?AffiliateID=2508&zip=" & zpcd & "&ft=1&pop=1")
  690. If SSTab1.Tab = 4 Then WebBrowser5.Navigate (pth & "almanac.htm")
  691. If SSTab1.Tab = 5 Then WebBrowser7.Navigate (pth & "alerts.htm")
  692.  
  693. End Sub
  694.  
  695. Private Sub Timer1_Timer()
  696. 'refresh of current data and forecast data is set to 10 minute approx.
  697. timercount = timercount + 1
  698. If timercount > 9 Then
  699. timercount = 0
  700. forecast
  701. End If
  702. End Sub
  703.  
  704.  
  705.  
  706.  
  707.  
  708. Public Sub forecast()
  709. 'this is where we get the current conditions and the forecast
  710.  
  711. Open pth & "loading.htm" For Output As #1 'put it locally
  712.         Print #1, "<html><body><h1>Loading please wait</h1></body></html>"
  713.     Close #1
  714. If WebBrowser8.LocationURL = "" Then WebBrowser8.Navigate2 (pth & "loading.htm")
  715. If WebBrowser1.LocationURL = "" Then WebBrowser1.Navigate2 (pth & "loading.htm")
  716. If WebBrowser2.LocationURL = "" Then WebBrowser2.Navigate2 (pth & "loading.htm")
  717. If WebBrowser3.LocationURL = "" Then WebBrowser3.Navigate2 (pth & "loading.htm")
  718. If WebBrowser5.LocationURL = "" Then WebBrowser5.Navigate2 (pth & "loading.htm")
  719. If cnt < 1 Then cnt = 1 'trouble connecting counter
  720.  
  721. On Error GoTo errhandler
  722.  
  723. website = "1"
  724. Timer1.Enabled = False 'do not allow overlap of timers
  725. Timer2.Enabled = False
  726. SSTab1.Enabled = False 'do not allow another click on tab
  727.  
  728. 'this is the site I want my data from, they seem to be more accurate that some others
  729.  
  730. webtxt = OpenURL("www.wunderground.com/cgi-bin/findweather/getForecast?query=" & zpcd)
  731. 'lotsand lots of string manipulations here to grab MY data and pictures
  732. 'I grab all the data and then I remove all the ads and junk to just give me what I want
  733. 'then I store it locally
  734.  
  735. 'need to strip scripts
  736. webtxt = Replace(webtxt, "<script", "<!--<script")
  737. webtxt = Replace(webtxt, "</script>", "</script>-->")
  738.  
  739. webtxt = Replace(webtxt, "Tropical Weather:", "<center>Tropical Weather:")
  740. strt = InStr(1, webtxt, "<title>")
  741. 'find rss feed info (this makes finding current conditions MUCH easier
  742. strtxml = InStr(strt, webtxt, ".xml")
  743. ndxml = strtxml + 4
  744. strtxml = InStrRev(webtxt, "href", strtxml) + 6
  745. xml = Mid$(webtxt, strtxml, ndxml - strtxml)
  746. xmlcomplete = ""
  747. WebBrowser6.Navigate (xml)
  748. While xmlcomplete <> "done"
  749. DoEvents
  750. Wend
  751.  
  752. Set ehtml = WebBrowser6.Document.All.Item(i)
  753. xmltxt2 = ehtml.innertext
  754. xmltxt = xmltxt2
  755. 'have xml, need to parse it
  756. strtxmlparse = InStr(1, xmltxt, "description") + 12
  757. ndxmlparse = InStr(1, xmltxt, "</description")
  758. xmlcity = Mid$(xmltxt, strtxmlparse + 33, ndxmlparse - 33 - strtxmlparse)
  759.  
  760. strtxmlparse = InStr(strtxmlparse, xmltxt, "Current Conditions") + 21
  761. ndxmlparse = InStr(strtxmlparse, xmltxt, "</")
  762. xmlcurrenttime = Mid$(xmltxt, strtxmlparse, ndxmlparse - strtxmlparse)
  763.  
  764. strtxmlparse = InStr(strtxmlparse, xmltxt, "<link>") + 6
  765. ndxmlparse = InStr(strtxmlparse, xmltxt, "</")
  766. xmllink = Mid$(xmltxt, strtxmlparse, ndxmlparse - strtxmlparse)
  767.  
  768. strtxmlparse = InStr(strtxmlparse, xmltxt, "<description>") + 13
  769. ndxmlparse = InStr(strtxmlparse, xmltxt, "</")
  770. xmlcurrentcond = Mid$(xmltxt, strtxmlparse, ndxmlparse - strtxmlparse)
  771.  
  772. xmlcurrentsplit = Split(xmlcurrentcond, " | ")
  773. xmltemp = Replace(xmlcurrentsplit(0), "°", Chr$(176))
  774. xmltemp = Right$(xmltemp, Len(xmltemp) - 27)
  775. xmlhumidity = Right$(xmlcurrentsplit(1), Len(xmlcurrentsplit(1)) - 10)
  776. xmlpressure = Right$(xmlcurrentsplit(2), Len(xmlcurrentsplit(2)) - 10)
  777. xmlcondition = Right$(xmlcurrentsplit(3), Len(xmlcurrentsplit(3)) - 12)
  778. xmlwinddir = Right$(xmlcurrentsplit(4), Len(xmlcurrentsplit(4)) - 16)
  779. xmlwindspd = Left(xmlcurrentsplit(5), Len(xmlcurrentsplit(5)) - 3)
  780. xmlwindspd = Right$(xmlwindspd, Len(xmlwindspd) - 12)
  781. windspdend = InStr(1, xmlwindspd, "/h") + 1
  782. xmlwindspd = Left$(xmlwindspd, windspdend)
  783.  
  784. 'find eng and metric
  785. xmltempsplit = Split(xmltemp, " / ")
  786. temp = xmltempsplit(metric)
  787. xmlwindspdsplit = Split(xmlwindspd, " / ")
  788. windspd = xmlwindspdsplit(metric)
  789. weathstrt = InStr(strt, webtxt, "<!-- Time Bar")
  790. weathend = InStr(weathstrt, webtxt, "METAR")
  791. If weathend = 0 Then weathend = InStr(weathstrt, webtxt, "Never show Personal Weather Stations here")
  792. weathend = InStrRev(webtxt, "<tr", weathend)
  793.  
  794.  
  795.  
  796. weather = "<html><body><table><tr><td bgcolor='000099' style='width: 100%; color: rgb(255, 255, 255); font-weight: bold; font-size: 13px;'><center><b>" & xmlcity & "</b></td></tr><tr><td bgcolor='000099' style='width: 100%; color: rgb(255, 255, 255); font-weight: bold; font-size: 13px;'>" & Replace(Mid$(webtxt, weathstrt, weathend - weathstrt), "href=" & Chr$(34) & "/weatherstation", "href=" & Chr$(34) & "http://www.wunderground.com/weatherstation")
  797. 'weather = Replace(weather, "<a href=", "<a target='_blank' href=")
  798. weather = Replace(weather, "a href=" & Chr$(34) & "/", "a target='_blank' href=" & Chr$(34) & "http://www.wunderground.com/")
  799. weather = Replace(weather, "<h3>Current Conditions</h3>", "<center><font color=white>Current Conditions</font></center></td></style></table></table>")
  800.  
  801. 'remove rapidfire
  802. fndrapidfirestrt = InStrRev(weather, "<div", InStr(1, weather, "»")) - 1
  803. fndrapidfireend = InStr(fndrapidfirestrt, weather, "</div>") + 7
  804. weather = Left$(weather, fndrapidfirestrt) & Right$(weather, Len(weather) - fndrapidfireend)
  805. fndtdstrt = InStrRev(weather, "class", InStr(1, weather, "<!--<script")) + 7
  806. weather = Left$(weather, fndtdstrt) & "LM" & Right$(weather, Len(weather) - fndtdstrt)
  807. weather = Replace(weather, "class=" & Chr$(34) & "vLMaT" & Chr$(34) & " style=" & Chr$(34) & "width: 375px;", "class=" & Chr$(34) & "LMVaT" & Chr$(34) & " bgcolor='000099' style='width: 100%; color: rgb(255, 255, 255); font-weight: bold; font-size: 13px;'")
  808. fndtblstrt = InStrRev(weather, "<tr", fndtdstrt) - 1
  809. weather = Left$(weather, fndtblstrt) & "</table><table>" & Right$(weather, Len(weather) - fndtblstrt)
  810. fndlatlon = InStrRev(weather, "<td", InStr(1, weather, "Lat/Lon")) - 1
  811. weather = Left$(weather, fndlatlon) & "</tr><tr>" & Right$(weather, Len(weather) - fndlatlon)
  812. weather = Replace(weather, "100%", "700px")
  813. weather = Replace(weather, "<td class=""taR"" style=""white-space: nowrap;"">", "<td colspan=2 class=""taR"" align='center' style=""white-space: nowrap;color: white"">")
  814. '<td style="white-space: nowrap;">
  815. '<td id="full" style="white-space: nowrap;">
  816. weather = Replace(weather, "<td id=""full"" style=""white-space: nowrap;"">", "<td id=""full""  align='center' style=""white-space: nowrap; color: white"">")
  817. weather = Replace(weather, "<td style=""white-space: nowrap;"">", "<td align='center' style=""white-space: nowrap; color: white"">")
  818. weather = Replace(weather, "width: 375px", "width: 700px")
  819. fndalert = InStrRev(weather, "table", InStrRev(weather, "td", InStr(1, weather, "blue_Warning.gif"))) + 4
  820. weather = Left$(weather, fndalert) & " bgcolor=ff0000" & Right$(weather, Len(weather) - fndalert)
  821.  
  822. 'need to grab 5 day weather
  823. fivedaystrt = InStrRev(webtxt, "<table", InStr(weathend, webtxt, "5-Day Forecast"))
  824. fivedayend = InStrRev(webtxt, "<tr>", InStr(fivedaystrt, webtxt, "p5") - 1) - 1
  825. fivedayweb = Replace(Mid$(webtxt, fivedaystrt, fivedayend - fivedaystrt), "target='_blank' href=" & Chr$(34) & "/cgi-bin", " href=" & Chr$(34) & "http://www.wunderground.com/cgi-bin")
  826. fivedayweb = Replace(fivedayweb, "href=/MOS", "target='_blank' href=http://www.wunderground.com/MOS")
  827. fivedayweb = Replace(fivedayweb, "href=" & Chr$(34) & "/Display", "target='_blank' href=" & Chr$(34) & "http://www.wunderground.com/Display")
  828. fivedayweb = Replace(fivedayweb, "<a href=" & Chr$(34) & "/cgi-bin", "<a target='blank' href=" & Chr$(34) & "http://www.wunderground.com/cgi-bin")
  829.  
  830. 'need detailed five day data too
  831. detailfivedaystrt = InStr(fivedayend, webtxt, "Forecast for ")
  832. detailfivedayend = InStr(InStr(detailfivedaystrt, webtxt, "<h5>-") + 1, webtxt, "</table") + 9
  833. detailfivedayweb = "<html><body><table>" & Mid$(webtxt, detailfivedaystrt, detailfivedayend - detailfivedaystrt) & "</body></html>"
  834. detailfivedayweb = Replace(detailfivedayweb, Chr$(34) & "/cgi", Chr$(34) & "http://www.wunderground.com/cgi")
  835. detailfivedayweb = Replace(detailfivedayweb, Chr$(34) & "/sev", Chr$(34) & "http://www.wunderground.com/sev")
  836. detailfivedayweb = Replace(detailfivedayweb, "/Dis", "http://www.wunderground.com/Dis")
  837. fndshowhidestart = InStrRev(detailfivedayweb, "<td", InStr(1, detailfivedayweb, ">Show")) - 1
  838. While fndshowhidestart > 0
  839. fndshowhideend = InStr(fndshowhidestart, detailfivedayweb, "</td>") + 6
  840. detailfivedayweb = Left$(detailfivedayweb, fndshowhidestart) & Right$(detailfivedayweb, Len(detailfivedayweb) - fndshowhideend)
  841. If InStr(1, detailfivedayweb, ">Show") > 0 Then fndshowhidestart = InStrRev(detailfivedayweb, "<td", InStr(1, detailfivedayweb, ">Show")) - 1 Else fndshowhidestart = 0
  842. Wend
  843. detailfivedayweb = Replace(detailfivedayweb, " href", " target='_blank' href")
  844.  
  845. 'need to grab almanac
  846. almanacstrt = InStr(weathstrt, webtxt, "<a name=" & Chr$(34) & "History" & Chr$(34) & "></a>")
  847. almanacend = InStrRev(webtxt, "</table>", InStr(almanacstrt, webtxt, ">Definitions of")) + 9
  848. almanacweb = Mid$(webtxt, almanacstrt, almanacend - almanacstrt)
  849. almanacweb = Replace(almanacweb, "<a href", "<a target='_blank' href")
  850. almanacweb = Replace(almanacweb, "href=/", "href=http://www.wunderground.com/")
  851. almanacweb = Replace(almanacweb, "href=" & Chr$(34) & "/", "href=""http://www.wunderground.com/")
  852. almanacweb = Replace(almanacweb, "action=/cgi-bin", " target='_blank' action=http://www.wunderground.com/cgi-bin")
  853. fndshowhidestart = InStrRev(almanacweb, "<td", InStr(1, almanacweb, ">Show")) - 1
  854. While fndshowhidestart > 0
  855. fndshowhideend = InStr(fndshowhidestart, almanacweb, "</td>") + 6
  856. almanacweb = Left$(almanacweb, fndshowhidestart) & Right$(almanacweb, Len(almanacweb) - fndshowhideend)
  857. If InStr(1, almanacweb, ">Show") > 0 Then fndshowhidestart = InStrRev(almanacweb, "<td", InStr(1, almanacweb, ">Show")) - 1 Else fndshowhidestart = 0
  858. Wend
  859. Open pth & "almanac.htm" For Output As #1 'put it locally
  860.         Print #1, almanacweb
  861.     Close #1
  862. WebBrowser5.Navigate (pth & "almanac.htm")
  863.  
  864. 'now to find the local radar
  865. radarend = InStr(weathend, webtxt, "Local Radar</a>") - 2
  866. radarstrt = InStrRev(webtxt, "href=", radarend) + 7
  867. localradar = "www.wunderground.com/" & Mid$(webtxt, radarstrt, radarend - radarstrt)
  868. localradar = Left$(localradar, InStr(1, localradar, Chr$(34)) - 1)
  869. rdrtxt = OpenURL(localradar)
  870. rdrimg = InStr(1, rdrtxt, "<img name=" & Chr$(34) & "map") + 21
  871. rdrimgend = InStr(rdrimg, rdrtxt, Chr$(34))
  872. rdrimg = Mid$(rdrtxt, rdrimg, rdrimgend - rdrimg)
  873. rdrimg = Replace(rdrimg, "&num=0&", "&num=12&")
  874. rdrimg = Replace(rdrimg, "&num=1&", "&num=12&")
  875. 'animated image is found get new links and add to page
  876. rdrlnksstrt = InStr(1, rdrtxt, "<h4>Base Reflectivity</h4>")
  877. rdrlnksend = InStr(rdrlnksstrt, rdrtxt, "</table>")
  878. rdrlnks = Mid$(rdrtxt, rdrlnksstrt, rdrlnksend - rdrlnksstrt)
  879. rdrlnksformatstrt = InStr(1, rdrlnks, "<td") - 1
  880. While rdrlnksformatstrt > 0
  881. rdrlnksformatend = InStr(rdrlnksformatstrt, rdrlnks, ">")
  882. rdrlnks = Left$(rdrlnks, rdrlnksformatstrt) & Right$(rdrlnks, Len(rdrlnks) - rdrlnksformatend)
  883. rdrlnksformatstrt = InStr(1, rdrlnks, "<td") - 1
  884. Wend
  885. rdrlnksformatstrt = InStr(1, rdrlnks, "<tr") - 1
  886. While rdrlnksformatstrt > 0
  887. rdrlnksformatend = InStr(rdrlnksformatstrt, rdrlnks, ">")
  888. rdrlnks = Left$(rdrlnks, rdrlnksformatstrt) & Right$(rdrlnks, Len(rdrlnks) - rdrlnksformatend)
  889. rdrlnksformatstrt = InStr(1, rdrlnks, "<tr") - 1
  890. Wend
  891. rdrlnks = Replace(rdrlnks, "</tr>", "<br>")
  892. rdrlnks = Replace(rdrlnks, "bold", "normal")
  893. rdrlnks = Replace(rdrlnks, "</td>", "")
  894. rdrlnks = Replace(rdrlnks, "<a href=" & Chr$(34) & "/", "<a target='_blank' href=" & Chr$(34) & "http://www.wunderground.com/")
  895. Open pth & "localrdr.htm" For Output As #1 'put it locally
  896.         Print #1, "<html><body><table><tr><td valign=top><img src='" & rdrimg & "'></td><td>" & rdrlnks & "</td></tr></table></body></html>"
  897.     Close #1
  898.  
  899.  
  900.  
  901.  
  902. 'now find regional radar
  903. radarend = InStr(radarend, webtxt, "Regional Radar</a>") - 2
  904. radarstrt = InStrRev(webtxt, "href=", radarend) + 7
  905. regionalradar = "www.wunderground.com/" & Mid$(webtxt, radarstrt, radarend - radarstrt)
  906. regionalradar = Left$(regionalradar, InStr(1, regionalradar, Chr$(34)) - 1)
  907. rdrtxt = OpenURL(regionalradar)
  908. rdrimgstrt = InStr(InStr(1, rdrtxt, ">Nexrad Mixed Composite Radar Map</h1>"), rdrtxt, "<table")
  909. rdrimgend = InStr(InStr(rdrimgstrt, rdrtxt, "</table>") + 1, rdrtxt, "</table>") + 13
  910. rdrimghtml = "<html><body>" & Mid$(rdrtxt, rdrimgstrt, rdrimgend - rdrimgstrt) & "</body></html>"
  911. rdrimghtml = Replace(Replace(rdrimghtml, Chr$(34) & "/radar", Chr$(34) & "http://www.wunderground.com/radar"), Chr$(34) & "/cgi", Chr$(34) & "http://www.wunderground.com/cgi")
  912. rdrimghtml = Replace(rdrimghtml, "<a href=" & Chr$(34), "<a target='_blank' href=" & Chr$(34) & "http://www.wunderground.com/radar/")
  913. Open pth & "regionalrdr.htm" For Output As #1 'put it locally
  914.         Print #1, rdrimghtml
  915.     Close #1
  916.  
  917.  
  918. 'weather=current conditions & 5 days summary
  919. weather = weather & "</table></table>" & fivedayweb & "</table></body></html>"
  920.  
  921. 'weatherfiveday=fiveday weather forecast
  922. weatherfiveday = "<html><body>" & fivedayweb & "</table></body></html>"
  923.  
  924. iconstrt = InStr(InStr(strt, webtxt, "Current Conditions"), webtxt, "<img") + 10
  925. iconend = InStr(iconstrt, webtxt, Chr$(34))
  926. mg = Mid$(webtxt, iconstrt, iconend - iconstrt) 'mg = current weather image
  927. frmcp = xmlcity & " @ " & xmlcurrenttime & "_" & temp & "_" & xmlcondition & "_" & windspd & " from the " & xmlwinddir  'create form caption
  928. Form1.Caption = frmcp
  929.  
  930. IconEvent.TrayTip = frmcp & vbNullChar 'tooltip for tray icon
  931.  
  932. 'these few lines set up the minimum weather page just temperature and current weather image
  933. Form2.Label1 = temp 'when minimized this will become visible is just for temperature
  934. wbtx = "<html><body background=" & Chr$(34) & mg & Chr$(34) & " scroll=no></body></html>" 'need another webpage for image
  935.  
  936.     Open pth & "test2.htm" For Output As #1 'put it locally
  937.         Print #1, wbtx
  938.     Close #1
  939.  
  940. tp = Form2.Shape1.Height / 2
  941. Form2.WebBrowser1.Top = tp - Form2.WebBrowser1.Height / 2 'needed to center webbrowser on form programatically
  942. Form2.WebBrowser1.Navigate pth & "test2.htm" 'go to local site
  943. Form2.Label1.ToolTipText = frmcp 'put current weather in tooltips for this form
  944. Form2.WebBrowser1.ToolTipText = frmcp
  945. ' need webpage creation here!!
  946.  
  947. Open pth & "currentweather.htm" For Output As #1 'store webpage locally
  948.         Print #1, weather
  949. Close #1
  950. Open pth & "fivedayforecast.htm" For Output As #1 'store webpage locally
  951.         Print #1, detailfivedayweb
  952. Close #1
  953.  
  954. SSTab1.Enabled = True 'ok, you can press another tab
  955. mnuback_Click
  956.  
  957.  
  958. website = "0"
  959.  
  960. cnt = 0 'good connect
  961. Timer1.Enabled = True
  962. Timer2.Enabled = True
  963. Exit Sub
  964.  
  965. errhandler:
  966.  
  967. cnt = cnt + 1
  968. Debug.Print cnt
  969. If progress = 1 Then Exit Sub
  970. If cnt > 2 Then MsgBox "Not Connecting: Try Setting Your Proxy Or may be a change on the website": Exit Sub 'try connecting twice if no then tell them what may help
  971. '2 was picked for dialup, takes quite a few seconds at dialup, LAN speeds are way different
  972. SSTab1.Enabled = True
  973. forecast 'try again
  974.  
  975. End Sub
  976.  
  977. Private Sub Timer2_Timer()
  978. timercount2 = timercount2 + 1
  979. If timercount2 > 4 Then
  980. 'use this as an alerts checker
  981. timercount2 = 0
  982. check_alerts
  983.  
  984. End If
  985. End Sub
  986.  
  987. Private Sub Timer3_Timer()
  988. timercount3 = timercount3 + 1
  989. If timercount3 > 1 Then
  990. timercount3 = 0
  991. alerterror = "yes"
  992. End If
  993. End Sub
  994.  
  995. Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, FLAGS As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
  996.  
  997. If website = "0" And URL <> pth & "currentweather.htm" Then Cancel = True 'this stops all links that stay in this window from working
  998. 'easier than trying to remove the links themselves  all external window hops work
  999.  
  1000. End Sub
  1001. Private Sub Form_Resize()
  1002. bHide = True
  1003. If bHide = True Then
  1004.   
  1005.   If WindowState = 1 And bShown = True Then
  1006.     
  1007.     Form2.Show 'bring out the mini screen
  1008.     success = SetWindowPos(Form2.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS) 'set it to topmost
  1009.     
  1010.     Me.Hide 'hide big form
  1011.     bShown = False
  1012.     
  1013.   Else
  1014.     
  1015.     Form2.Hide 'hide mini screen
  1016.     
  1017.     Me.WindowState = 0 'show main screen
  1018.     bShown = True
  1019.   
  1020.   End If
  1021.  
  1022. End If
  1023.  
  1024. End Sub
  1025.  
  1026. Private Sub IconEvent_MenuClick(index As Integer)
  1027. 'menu clicks for the popup meny on systray is handled here
  1028.   
  1029.   Select Case index
  1030.     Case 0
  1031.       Me.Show 'show main form
  1032.       Me.WindowState = 0       ' needed for when the form is in the taskbar.
  1033.     Case 1
  1034.       Form2.Hide 'minimize mini form to tray
  1035.     Case 2
  1036.     Form2.Show 'restore mini form from tray
  1037.     Case 3
  1038.       Unload Me 'exit
  1039.   End Select
  1040.   
  1041. End Sub
  1042.  
  1043. Private Sub IconEvent_MouseDblClick(Button As Integer, Id As Long)
  1044.   'double click and I will show main form
  1045.   
  1046.   If Button = 1 Then Me.Show
  1047.  
  1048. End Sub
  1049.  
  1050. Public Sub IconEvent_MouseDown(Button As Integer, Id As Long)
  1051.  If Button = 2 Then
  1052.     Dim pt As POINTAPI, X&
  1053.     
  1054.     GetCursorPos pt
  1055.     ' the next three lines are the trick to getting the Popup to disappear properly
  1056.     SetForegroundWindow (Me.hWnd)
  1057.     TrackPopupMenu hPopup, TPM_CENTERALIGN Or TPM_RIGHTBUTTON, pt.X, pt.Y, 0&, Me.hWnd, 0&
  1058.     PostMessage Me.hWnd, 0&, 0&, 0&
  1059.   End If
  1060.  
  1061. End Sub
  1062. Private Sub Form_Unload(Cancel As Integer)
  1063. 'kill everything that is necessary
  1064.  
  1065. Set IconEvent = Nothing
  1066. DestroyMenu hPopup
  1067. Unload Form2
  1068. Unload Me
  1069.   
  1070. End Sub
  1071.  
  1072. Private Function OpenURL(ByVal sUrl As String) As String
  1073. ' this is to grab the html of the webpages
  1074.  
  1075. '****************************************************
  1076. 'PURPOSE:       Returns Contents (including all HTML) from
  1077. '               a web page
  1078. 'PARAMETER:     sURL (e.g., http://www.freevbcode.com)
  1079. 'RETURN VALUE:  Contents of requested page, or
  1080. '               empty string if sURL is not available
  1081. 'COMMENTS:  This is an alternative to using the Internet Transfer
  1082. '           Control 's OpenURL method.  That control has a bug
  1083. '           Whereby not all the contents of the page will be
  1084. '           returned in certain circumstances
  1085. '*****************************************************
  1086.  
  1087.     Dim hOpen               As Long
  1088.     Dim hOpenUrl            As Long
  1089.     Dim bDoLoop             As Boolean
  1090.     Dim bRet                As Boolean
  1091.     Dim sReadBuffer         As String * 2048
  1092.     Dim lNumberOfBytesRead  As Long
  1093.     Dim sBuffer             As String
  1094. If prxy = "" Then hproxyuse = 1: hproxy = ""
  1095. If prxy = "?" Then hproxtuse = 0: hproxy = ""
  1096. If prxy <> "" And prxy <> "?" Then hproxyuse = 3: hproxy = prxy
  1097. hOpen = InternetOpen(scUserAgent, hproxyuse, _
  1098.     hproxy, vbNullString, 0)
  1099.  
  1100. hOpenUrl = InternetOpenUrl(hOpen, "http://" & sUrl, vbNullString, 0, _
  1101.    INTERNET_FLAG_RELOAD, 0)
  1102.  
  1103.     bDoLoop = True
  1104.     While bDoLoop
  1105.         sReadBuffer = vbNullString
  1106.         bRet = InternetReadFile(hOpenUrl, sReadBuffer, _
  1107.            Len(sReadBuffer), lNumberOfBytesRead)
  1108.         sBuffer = sBuffer & Left$(sReadBuffer, _
  1109.              lNumberOfBytesRead)
  1110.         If Not CBool(lNumberOfBytesRead) Then bDoLoop = False
  1111.     Wend
  1112.       
  1113.     If hOpenUrl <> 0 Then InternetCloseHandle (hOpenUrl)
  1114.     If hOpen <> 0 Then InternetCloseHandle (hOpen)
  1115.     OpenURL = sBuffer
  1116.  
  1117. End Function
  1118.  
  1119.  
  1120.  
  1121. Private Sub WebBrowser6_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  1122. xmlcomplete = "done"
  1123. End Sub
  1124. Public Sub check_alerts()
  1125. 'need to verify alerts are there or not
  1126. 'if alerts then check text to see if new or not
  1127. Timer1.Enabled = False 'do not allow overlap of timers
  1128. Timer2.Enabled = False
  1129. SSTab1.Enabled = True
  1130. alertdone = ""
  1131. WebBrowser8.Navigate ("http://www.myforecast.com/bin/alert_summary.m?zip_code=" & zpcd & "&metric=false") 'check for alerts
  1132.  
  1133. While alertdone <> "done"
  1134. DoEvents
  1135. Wend
  1136. alertflag = ""
  1137. Set ehtml2 = WebBrowser8.Document.documentElement
  1138.  
  1139. xmltxtalert = ehtml2.innerhtml
  1140. alertsfulltxt = xmltxtalert
  1141.  
  1142. 'should have full text, need to find just the alerts
  1143. fndalertstrt = InStr(1, alertsfulltxt, "barhead")
  1144. fndalertallstrt = InStrRev(alertsfulltxt, "<TABLE", InStr(fndalertstrt + 1, alertsfulltxt, "barhead"))
  1145. If fndalertstrt < 1 Then alertflag = "alert error"
  1146. If alertflag <> "alert error" Then
  1147. fndalertend = InStr(InStr(fndalertstrt + 1, alertsfulltxt, "</TABLE>") + 1, alertsfulltxt, "</TABLE>") + 8
  1148. If fndalertend < 1 Then
  1149. 'missing some data erroring out
  1150.     Open pth & "alerts.htm" For Output As #1 'put it locally
  1151.         Print #1, "<html><body><h1>Alerts are erroring out!</h1><br>Maybe website has changed!<br><a target='_blank' href=" & alertsurl & ">" & alertsurl & "</a></body></html>"
  1152.     Close #1
  1153. Else
  1154. 'good data came in from alert site
  1155. 'strip out alerts for the area
  1156. fndalertallend = InStr(InStr(fndalertallstrt, alertsfulltxt, "</TABLE>") + 1, alertsfulltxt, "</TABLE>") + 8
  1157. fndalertstrt = InStrRev(alertsfulltxt, "<TABLE", fndalertstrt)
  1158. alertsareatxt = Mid$(alertsfulltxt, fndalertstrt, fndalertend - fndalertstrt)
  1159. alertsalltxt = Mid$(alertsfulltxt, fndalertallstrt, fndalertallend - fndalertallstrt)
  1160.  
  1161.   If InStr(1, LCase(alertsareatxt), "<b>no weather alerts</b>") Then
  1162. alertflag = "none"
  1163. Else
  1164. alertflag = "some"
  1165.  
  1166. End If
  1167. 'have all alerts for area and nation, fix links and images
  1168. alertstxt = alertsareatxt & alertsalltxt
  1169. alertstxt = Replace(alertstxt, "background=/", "background=http://www.myforecast.com/")
  1170. alertstxt = Replace(alertstxt, "<A href=" & Chr$(34), "<A  href=" & Chr$(34) & "http://www.myforecast.com")
  1171. Open pth & "alerts.htm" For Output As #1 'put it locally
  1172.         Print #1, "<html><body>" & alertstxt & "</body></html>"
  1173.     Close #1
  1174.     
  1175. WebBrowser7.Navigate (pth & "alerts.htm")
  1176.  
  1177.  
  1178. End If
  1179. Else
  1180.     Open pth & "alerts.htm" For Output As #1 'put it locally
  1181.         Print #1, "<html><body><h1>Alerts are erroring out!</h1><br>Maybe website has changed!<br><a target='_blank' href=" & alertsurl & ">" & alertsurl & "</a></body></html>"
  1182.     Close #1
  1183.  
  1184. End If
  1185.  
  1186. If alertflag = "some" Then Form2.BackColor = vbRed Else Form2.BackColor = 32768
  1187. If alertflag = "some" Then Form2.Label1.BackColor = vbRed Else Form2.Label1.BackColor = 32768
  1188.  
  1189. Timer1.Enabled = True 'do not allow overlap of timers
  1190. Timer2.Enabled = True
  1191. SSTab1.Enabled = True 'do not allow another click on tab
  1192.  
  1193. End Sub
  1194.  
  1195. Private Sub WebBrowser7_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, FLAGS As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
  1196. If URL = "" Then Exit Sub
  1197.  
  1198. If URL = "http:///" Then Exit Sub
  1199.  
  1200. If InStr(1, URL, "error") > 0 Then Exit Sub
  1201.  
  1202. If InStr(1, URL, pth) < 1 And InStr(1, URL, "about:blank") < 1 Then
  1203. founddetails = ""
  1204. WebBrowser9.Navigate (URL)
  1205.  
  1206. URL = ""
  1207.  
  1208. WebBrowser7.Navigate (pth & "alerts.htm")
  1209.  
  1210. End If
  1211.  
  1212. End Sub
  1213.  
  1214. Private Sub WebBrowser8_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  1215. If InStr(1, URL, pth) > 0 Then Exit Sub
  1216. If (pDisp Is WebBrowser8.object) Then
  1217.  
  1218. If Mid$(URL, 8, 18) = "www.myforecast.com" Then alertdone = "done"
  1219. End If
  1220. End Sub
  1221.  
  1222.  
  1223.