• 27-01-2010, 17:02:46
    #1
    merhaba arkadaşlar...

    sitedeki detay sayfalarında yayınlamak üzere hava durumu scripti arıyorum.. görsel olarak yahoo weather' dan çeksin; www.derece.org sitesinin asp versiyonu lazım bir yerlerde karşılaşmış olan varsa bana haber verirsen sevinirim
  • 27-01-2010, 17:25:05
    #2
    arkadaşlar böyle bir script buldum.. tablo çok güzel tam istediğim gibi.. ama şehirleri form ile değil de direkt yahoo kodunu yazayım ( tux0023 ) gbi ... o tabloyu oluştursun.. kodum aşağıdadır:

     <%@LANGUAGE="VBSCRIPT" CODEPAGE="1254"%>
    <!--//
    /* *******************************************************
      Bu script Graphoton Grafik ve Animasyon Stüdyosu tarafından kodlanmış ve tasarlanmıştır. Uygulama, tamamen ücretsiz olup, tek ricamız bu satırların silinmemesidir. Emeğimize saygı duyup bu satırları silmediğiniz için teşekkür ederiz.
      
      Telif Hakkı (Copyright) : Graphoton © 2009
      Kodlayan (Coder) : Onur KAYA
      Bilgi (Info): http://www.graphoton.com
      İletişim : onurkaya@graphoton.com
    ******************************************************* */ 
    //-->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Graphoton Hava Tahmin v1</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
    <meta name="description" content="Graphoton Grafik ve Animasyon Stüdyosu tarafından kodlanmış olan bu script (uygulama) ile Yahoo üzerinden illere ait hava tahmin raporlarını alabilir ve sitemiz üzerinden yayınlayabiliriz." />
    <meta name="keywords" content="hava, tahmin, tahmini, durumu, durum, yahoo, weather, module, modül, graphoton, asp, script, forecast" />
    <meta name="author" content="www.graphoton.com" />
    <meta name="robots" content="index,follow" />
    <meta name="revisit-after" content="15 days" />
    <style>
    @charset "iso-8859-9";
    /* CSS Document */
    /* Kod Başı: Arka plan için stil ayarlıyoruz */
     Body
     {
      background-color:#CCC;
      background-position:top;
      background-repeat:repeat-x;
      margin-bottom:0px;
      margin-left:0px;
      margin-right:0px;
      margin-top:0px;
     }
    /* Kod Sonu: Arka plan için stil ayarlıyoruz */
    /* Kod Başı: Tablolar için stil ayarlıyoruz */
     tr, td
     {
      font-weight:normal;
      color:#333333;
      font-family:Tahoma, Geneva, sans-serif;
      font-size:11px;
      font-weight:normal;
     }
    /* Kod Sonu: Tablolar için stil ayarlıyoruz */
    .HavaDurumuGunduz{
     clear:both;
     position:relative;
     width:500px;
     min-height:190px;
     height:14.6154em;
     *height:14.2632em;
     margin-bottom:15px;
     background:#CCE1FF url(images/crntcondbg_day.gif) repeat-x;
     border:1px solid #5182ce;
     font-weight:normal;
     color:#666666;
     font-family:Tahoma, Geneva, sans-serif;
     font-size:11px;
     margin-top:200px;
    }
    .HavaDurumuGece{
     clear:both;
     position:relative;
     width:500px;
     min-height:190px;
     height:14.6154em;
     *height:14.2632em;
     margin-bottom:15px;
     border:1px solid #8e8e8e;
     background:#DFDDE2 url(images/crntcondbg_night.gif);
     font-weight:normal;
     color:#666666;
     font-family:Tahoma, Geneva, sans-serif;
     font-size:11px;
     margin-top:200px;
    }
    .HavaDurumuSehir{
     font-weight:bold;
     color:#036;
     font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
     font-size:15px;
    }
    .HavaDurumuHissedilen{
     font-weight:bold;
     color:#036;
     font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
     font-size:13px;
    }
    </style>
    <script type="text/javascript">
    <!--
    function MM_jumpMenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
    }
    //-->
    </script>
    </head>
    <%
     Dim DizaynWebBaglanti : Set DizaynWebBaglanti = Server.CreateObject("Adodb.Connection")
     DizaynWebBaglanti.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("yahoodb.mdb")
     'On Error Resume Next
     Dim yahooNeresiSec : yahooNeresiSec = Request.QueryString("Neresi")
     If yahooNeresiSec = "" Then
      yahooNeresiSec = "TUXX0022"
     Else
      yahooNeresiSec = yahooNeresiSec
     End If
     
     If Len(yahooNeresiSec) > 8 Then
      Response.Write("Bilgi alınamadı")
     Else
     myRSSfile = "http://weather.yahooapis.com/forecastrss?p="&yahooNeresiSec&"&u=c"
      
     Set xmlHttp = Server.CreateObject("MSXML2.XMLHTTP.3.0")
     xmlHttp.Open "Get", myRSSfile, false
     xmlHttp.Send()
     myXML = xmlHttp.ResponseText
     Set xmlHttp = Nothing
     
     Set xmlResponse = Server.CreateObject("MSXML2.DomDocument.3.0")
     xmlResponse.async = false
     xmlResponse.LoadXml(myXML)
     
     xmlResponse.SetProperty "SelectionNamespaces", "xmlns:x='http://xml.weather.yahoo.com/ns/rss/1.0'"
     xmlResponse.SetProperty "SelectionLanguage", "XPath"
       
       ' Konum
       Dim yahooNeresi : yahooNeresi = xmlResponse.selectSingleNode("/rss/channel[" & (i+1) & "]/x:location").getAttribute("city")
       
       ' Rüzgar
       Dim yahooHissedilen : yahooHissedilen = xmlResponse.selectSingleNode("/rss/channel[" & (i+1) & "]/x:wind").getAttribute("chill")
       Dim yahooRuzgarYonu : yahooRuzgarYonu = xmlResponse.selectSingleNode("/rss/channel[" & (i+1) & "]/x:wind").getAttribute("direction")
       Dim yahooRuzgarHizi : yahooRuzgarHizi = xmlResponse.selectSingleNode("/rss/channel[" & (i+1) & "]/x:wind").getAttribute("speed")
       
       Dim yahooRuzgarYonu2
       If yahooRuzgarYonu > "0" AND yahooRuzgarYonu < "10" Then
        yahooRuzgarYonu2 = "Kuzey"
       ElseIf yahooRuzgarYonu > "10" AND yahooRuzgarYonu < "80" Then
        yahooRuzgarYonu2 = "Kuzey Doğu"
       ElseIf yahooRuzgarYonu > "80" AND yahooRuzgarYonu < "100" Then
        yahooRuzgarYonu2 = "Doğu"
       ElseIf yahooRuzgarYonu > "100" AND yahooRuzgarYonu < "170" Then
        yahooRuzgarYonu2 = "Güney Doğu"
       ElseIf yahooRuzgarYonu > "170" AND yahooRuzgarYonu < "190" Then
        yahooRuzgarYonu2 = "Güney"
       ElseIf yahooRuzgarYonu > "190" AND yahooRuzgarYonu < "260" Then
        yahooRuzgarYonu2 = "Güney Batı"
       ElseIf yahooRuzgarYonu > "260" AND yahooRuzgarYonu < "280" Then
        yahooRuzgarYonu2 = "Batı"
       ElseIf yahooRuzgarYonu > "280" AND yahooRuzgarYonu < "360" Then
        yahooRuzgarYonu2 = "Kuzey Batı"
       End If
        
       ' Atmosfer
       Dim yahooNem : yahooNem = xmlResponse.selectSingleNode("/rss/channel[" & (i+1) & "]/x:atmosphere").getAttribute("humidity")
       Dim yahooGorusMesafesi : yahooGorusMesafesi = xmlResponse.selectSingleNode("/rss/channel[" & (i+1) & "]/x:atmosphere").getAttribute("visibility")
       
       ' Astronomi
       Dim yahooGunBatimi : yahooGunBatimi = xmlResponse.selectSingleNode("/rss/channel[" & (i+1) & "]/x:astronomy").getAttribute("sunset")
       Dim yahooGunDogumu : yahooGunDogumu = xmlResponse.selectSingleNode("/rss/channel[" & (i+1) & "]/x:astronomy").getAttribute("sunrise")
       
       ' Şu anda
       Dim yahooSicaklik : yahooSicaklik = xmlResponse.selectSingleNode("/rss/channel/item[" & (i+1) & "]/x:condition").getAttribute("temp")
       Dim yahooYazi : yahooYazi = xmlResponse.selectSingleNode("/rss/channel/item[" & (i+1) & "]/x:condition").getAttribute("text")
       Dim yahooKodu : yahooKodu = xmlResponse.selectSingleNode("/rss/channel/item[" & (i+1) & "]/x:condition").getAttribute("code")
       
       ' Gün içerisinde
       Dim yahooSicaklik2 : yahooSicaklik2 = xmlResponse.selectSingleNode("/rss/channel/item[" & (i+1) & "]/x:forecast").getAttribute("low")
       Dim yahooSicaklik2_1 : yahooSicaklik2_1 = xmlResponse.selectSingleNode("/rss/channel/item[" & (i+1) & "]/x:forecast").getAttribute("high")
       Dim yahooYazi2 : yahooYazi2 = xmlResponse.selectSingleNode("/rss/channel/item[" & (i+1) & "]/x:forecast").getAttribute("text")
       Dim yahooKodu2 : yahooKodu2 = xmlResponse.selectSingleNode("/rss/channel/item[" & (i+1) & "]/x:forecast").getAttribute("code")
       
       Dim yahooSimge
       If Time() < "19:30:00" And Time() > "07:00:00" Then
        yahooSimge = "d"
       Else
        yahooSimge = "n"
       End If
       
       Dim yahooDurum
       If yahooKodu = "0" Then
        yahooDurum = "Tornado"
       ElseIf yahooKodu = "1" Then
        yahooDurum = "Tropikal Fırtına"
       ElseIf yahooKodu = "2" Then
        yahooDurum = "Kasırga"
       ElseIf yahooKodu = "3" Then
        yahooDurum = "Gök gürültülü yoğun sağanak yağış"
       ElseIf yahooKodu = "4" Then
        yahooDurum = "Gök gürültülü sağanak yağış"
       ElseIf yahooKodu = "5" Then
        yahooDurum = "Karlı & Yağmurlu"
       ElseIf yahooKodu = "6" Then
        yahooDurum = "Karla karışık yağmur"
       ElseIf yahooKodu = "7" Then
        yahooDurum = "Karla karışık yağmur"
       ElseIf yahooKodu = "8" Then
        yahooDurum = "Dondurucu Çiseleme"
       ElseIf yahooKodu = "9" Then
        yahooDurum = "Çiseleme"
       ElseIf yahooKodu = "10" Then
        yahooDurum = "Dolu"
       ElseIf yahooKodu = "11" Then
        yahooDurum = "Sağanak"
       ElseIf yahooKodu = "12" Then
        yahooDurum = "Sağanak"
       ElseIf yahooKodu = "13" Then
        yahooDurum = "Hafif kar yağışı"
       ElseIf yahooKodu = "14" Then
        yahooDurum = "Hafif kar & Sağanak"
       ElseIf yahooKodu = "15" Then
        yahooDurum = "Kar tipisi"
       ElseIf yahooKodu = "16" Then
        yahooDurum = "Kar yağışı"
       ElseIf yahooKodu = "17" Then
        yahooDurum = "Dolu"
       ElseIf yahooKodu = "18" Then
        yahooDurum = "Sulusepken"
       ElseIf yahooKodu = "19" Then
        yahooDurum = "Kum Fırtınası"
       ElseIf yahooKodu = "20" Then
        yahooDurum = "Sisli"
       ElseIf yahooKodu = "21" Then
        yahooDurum = "Hafif sisli"
       ElseIf yahooKodu = "22" Then
        yahooDurum = "Dumanlı"
       ElseIf yahooKodu = "23" Then
        yahooDurum = "Rüzgarlı"
       ElseIf yahooKodu = "24" Then
        yahooDurum = "Rüzgarlı"
       ElseIf yahooKodu = "25" Then
        yahooDurum = "Soğuk hava"
       ElseIf yahooKodu = "26" Then
        yahooDurum = "Bulutlu"
       ElseIf yahooKodu = "27" Then
        yahooDurum = "Bulutlu"
       ElseIf yahooKodu = "28" Then
        yahooDurum = "Bulutlu"
       ElseIf yahooKodu = "29" Then
        yahooDurum = "Parçalı bulutlu"
       ElseIf yahooKodu = "30" Then
        yahooDurum = "Parçalı bulutlu"
       ElseIf yahooKodu = "31" Then
        yahooDurum = "Açık"
       ElseIf yahooKodu = "32" Then
        yahooDurum = "Güneşli"
       ElseIf yahooKodu = "33" Then
        yahooDurum = "Açık"
       ElseIf yahooKodu = "34" Then
        yahooDurum = "Açık"
       ElseIf yahooKodu = "35" Then
        yahooDurum = "Karışık yağmur ve dolu"
       ElseIf yahooKodu = "36" Then
        yahooDurum = "Sıcak"
       ElseIf yahooKodu = "37" Then
        yahooDurum = "Fırtına"
       ElseIf yahooKodu = "38" Then
        yahooDurum = "Fırtına"
       ElseIf yahooKodu = "39" Then
        yahooDurum = "Fırtına"
       ElseIf yahooKodu = "40" Then
        yahooDurum = "Sağanak"
       ElseIf yahooKodu = "41" Then
        yahooDurum = "Yoğun kar yağışı"
       ElseIf yahooKodu = "42" Then
        yahooDurum = "Yer yer kar yağışlı"
       ElseIf yahooKodu = "43" Then
        yahooDurum = "Yoğun kar yağışlı"
       ElseIf yahooKodu = "44" Then
        yahooDurum = "Parçalı bulutlu"
       ElseIf yahooKodu = "45" Then
        yahooDurum = "Gökgürültülü yağmurlu & Fırtına"
       ElseIf yahooKodu = "46" Then
        yahooDurum = "Kar Sağanağı"
       ElseIf yahooKodu = "47" Then
        yahooDurum = "Fırtına"
       ElseIf yahooKodu = "3200" Then
        yahooDurum = "Bilgi bulunamadı"
       End If
       
    %>
    <table border="0" cellspacing="2" cellpadding="3" <% If yahooSimge = "d" Then %>class="HavaDurumuGunduz" <% ElseIf yahooSimge = "n" Then %>class="HavaDurumuGece"<% End If %> align="center">
        <tr>
            <td colspan="2" class="HavaDurumuSehir">
       <%
      Dim yahooRS, yahooSQL
      Set yahooRS = Server.CreateObject("ADODB.Recordset") 
      yahooSQL = "SELECT * FROM [yahooKonumlar] ORDER BY [Konum] ASC"
      yahooRS.Open yahooSQL, DizaynWebBaglanti, 1, 3
      
      If yahooRS.Eof Then
       Response.Write("<div class='HataTD'>Henüz konum eklenmemiştir.</div>")
      Else
     %>
            <form name="form" id="form" style="margin:0px;">
        <select name="yahooNeresiSec" id="yahooNeresiSec" onchange="MM_jumpMenu('parent',this,1)">
             <option value="" selected="selected"> -- Seçiniz -- </option>
     <%
       Dim yahooSay : yahooSay = 0
       Do While Not yahooRS.Eof
     %>
             <option value="Havadurumu.asp?Neresi=<%=yahooRS("URL")%>" <% If yahooNeresiSec = yahooRS("URL") Then %> selected="selected"<% End If %>> <%=yahooRS("Konum")%> </option>
       <%
        yahooRS.movenext
      yahooSay = yahooSay + 1
      loop
     %>
            </select> için hava durumu&nbsp;&nbsp;(<span class="HavaDurumuHissedilen"><%=yahooDurum%></span>)
            </form>
                <%
      yahooRS.Close
      Set yahooRS = Nothing
      
     End If
        %>
            </td>
          </tr>
      <tr>
        <td valign="top"><table width="100%" border="0" cellspacing="2" cellpadding="3">
            <tr>
            <td class="HavaDurumuHissedilen" colspan="3">Hissedilen sıcaklık: <%=yahooHissedilen%>&deg;</td>
          </tr>
          <tr>
            <td width="37%">Düşük / Yüksek</td>
            <td width="1%">:</td>
            <td width="56%"><%=yahooSicaklik2%>° / <%=yahooSicaklik2_1%>°</td>
          </tr>
        <tr>
            <td>Nem oranı</td>
            <td>:</td>
            <td><%=yahooNem%>%</td>
          </tr>
                <tr>
            <td>Görüş mesafesi</td>
            <td>:</td>
            <td><%=yahooGorusMesafesi%> km</td>
          </tr>
           <tr>
            <td>Rüzgar</td>
            <td>:</td>
            <td><%=yahooRuzgarHizi%> kph - <%=yahooRuzgarYonu2%></td>
          </tr>
           <tr>
            <td width="37%">Güneşin doğuşu</td>
            <td width="1%">:</td>
            <td width="56%"><%=FormatDateTime(yahooGunDogumu,vbshorttime)%></td>
          </tr>
          <tr>
            <td>Güneşin batışı</td>
            <td>:</td>
            <td><%=FormatDateTime(yahooGunBatimi,vbshorttime)%></td>
          </tr>
        </table></td>
        <td valign="top" style="background-image:url(simgeler/<%=yahooKodu%><%=yahooSimge%>.png); background-repeat:no-repeat; background-position:top; padding-top:100px; width:225px;"></td>
      </tr>
    </table>
    <%
     set xmlResponse=nothing 
     End If
    %>
    <body>
    </body>
    </html>