Avatar billede ingeman Seniormester
03. marts 2007 - 11:31 Der er 1 løsning

Hvis der er fejl skal koden hopen til enden

Sub VisVejrStation(vs)

    vs=split(vs,",")
   
' =========== configuration =====================
' ##### URL to RSS Feed to display #########
URLToRSS = "http://www.wunderground.com/auto/rss_full/global/stations/"&vs(1)&".xml?units=both"          'RSS Feed



' ##### Error message that will be displayed if not items etc
ErrorMessage = "Error has occured while trying to process " &URLToRSS & "<BR>Please contact web-master"

' ================================================

Set xmlHttp = Server.CreateObject("MSXML2.XMLHTTP.3.0")
xmlHttp.Open "Get", URLToRSS, false
xmlHttp.Send()
RSSXML = xmlHttp.ResponseText

Set xmlDOM = Server.CreateObject("MSXML2.DomDocument.3.0")
xmlDOM.async = false
xmlDOM.LoadXml(RSSXML)

Set xmlHttp = Nothing ' clear HTTP object

Set RSSItems = xmlDOM.getElementsByTagName("item") ' collect all "items" from downloaded RSS
Set xmlDOM = Nothing ' clear XML

RSSItemsCount = RSSItems.Length-5 '-5 = læs kun de 2 første Items, hvis  -1=  læs alle items
   
j = -1

For i = 0 To RSSItemsCount
Set RSSItem = RSSItems.Item(i)

  for each child in RSSItem.childNodes
 
  If  (lcase(child.nodeName)="title") and ( InStr(child.text,",")=0)  then
  'RSSItemsCount=0
  'koden skal hoppe ned ErrorMessage
  end if


  Select case lcase(child.nodeName)
    case "title"
          RSStitle = child.text
            if I=0 then
                sted=Split(RSStitle,",")
            else
                Optd= right(RSStitle,12)
            end if
    case "link"
          RSSlink = child.text
    case "description"
          RSSdescription = child.text
         
          if I=0 then
              originalString=child.text
              originalString = Split( originalString,"|")
             
              For x = 0 to Ubound(originalString)
                    Select case x
                        case 0
                               
                                tm= Split(originalString(x),":")
                                tmp= Split(tm(1),"°")
                           
                                temp= Split(tmp(1),"/")
                                   
                                If InStr(temp(1),".") > 0 Then
                                      temp(1)=Trim(temp(1)) +" °C."
                                Else
                                      temp(1)=Trim(temp(1))+".0 °C."
                                End If
                               
                        case 1
                                luft= Split(originalString(x),":")
                        case 2
                                tryk= Split(originalString(x),":")
                                tryk(1)=replace(tryk(1),"hPa","")
                                tryk(1)=replace(tryk(1),"in","")
                        case 3
                                forhold= Split(originalString(x),":")
                        case 4
                                originalString(x)=Replace(originalString(x),".",",")
                                vind= Split(originalString(x),":")
                          case 5       
                                  originalString(x)=Replace(originalString(x),"mph","")
                                vh=Split(originalString(x),":")
                                vindh=Split(vh(1),"/")
                    end select
                Next
            else
                if j=1 then
                  ntmp = Split(child.text,"/")
                  tmp=split(ntmp(1),"C.")
                  natString=trim(tmp(0))+"C."
                 
                end if
            end if
    End Select
   
  next
    j=J+1
   
Next

    If InStr(vindh(0),".") > 0 Then
        vindh(0)=Trim(vindh(0))
    Else
      vindh(0)=Trim(vindh(0))+".0"
    End If


'Her skal koden hoppe til hvis fejl

if RSSItemsCount > 0 then

    dim mapinfo
      mapinfo=HentGeo(vs(1))&"(Vejrstation:%A0"&sted(0) &_
                          "%A0%A0%A0%A0%A0Temp:%A0"&Server.UrlEncode(temp(1))&_
                          "%A0%A0"&translate(forhold(1))&_
                          "%A0%A0"&vindh(0)&_
                          "%A0m/s%A0"&BeaufortSkala(vindh(0))&")&z=07"
     
   
  %>
 
<table  width="90%">
  <tr>
      <td style="width=06%"><b><font  face="Verdana" size=1><I><%=vs(0)%></I></td>
     
    <td style="width=08%" ><a href="http://maps.google.com/maps?q=<%=mapinfo%>"  target="_self"><b><font  face="Verdana" size=1><%=left(sted(0),12)%></td>
   
    <td width=2%  align=center>
                        <a href="ZVejr.asp?vejrstation=<%=vs(1)%>&Optd=<%=Optd%>"  target="_self">
                        <font face="Verdana" size="1" color="#0000FF"><img border=0 src="/Images/Kartei.gif"  width="12" height="12" alt="5 Døgns udsigt"></font></a>
                    </td>
   
    <td  style="width=08%" align=right><b><font size=1><%=temp(1)&" / "%></td>

    <td  style="width=05%" ><b><font size=1><%=Trim(NatString)%></td>
    <td  style="width=05%" ><b><font size=1><%=luft(1)%></td>
    <td  style="width=13%" ><b><font size=1><%=tryk(1)%></td>
   
    <td  style="width=13%" ><b><font size=1><%=translate(forhold(1))%></td>
    <td  style="width=04%" ><b><font size=1><%=left(vind(1),6)%></td>
    <td  style="width=05%" align=right><b><font size=1><%=vindh(0)%></td>
    <td  style="width=03%"  align=center><b><font size=1>m/s</td>
   
    <%if BeaufortSkala(vindh(0))="Orkan" then%>
            <td  style="width=10%" ><font face="Verdana" size="1" color="#FF0000"><b><font size=1><Blink><%= BeaufortSkala(vindh(0))%></td>
    <%else%>
            <td  style="width=10%" ><b><font size=1><%= BeaufortSkala(vindh(0))%></td>
    <%end if%>
   
   
    <td  style="width=10%" align=right><b><font size=1><%=right(originalString(6),12)%></td>
</tr>
</table>


<%
else
    Response.Write ErrorMessage
End If

End Sub

Jeg har end Sub som bliver kaldt - hvis der er fejl skal koden tage højde for at den hopper ned til slutningen af sub ?
Avatar billede ingeman Seniormester
17. marts 2007 - 17:24 #1
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester