Webmaster Forumu | web Teknik |  

Go Back   Webmaster Forumu | web Teknik | > Server Side Programlama > ASP

Cevapla
 
LinkBack Seçenekler Stil
Alt 31-07-2008, 12:14   #31
Senior Member
 
HayaL - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
Standart

Konu : XMLHTTP ile Hava Durum Bilgisi (XmlHttp + ASP)
Seviye : Orta
Kaynak Dosyalar : http://rapidshare.com/files/23347545/merakli_hava.rar





Hava durum bilgisinin altına yukarıda yazmış olduğum döviz bilgisi kodlarını da ekleyerek tablo içerisinde birlikte verdim.

inc_sayfa_sol_hava.asp ve inc_fonksiyon.asp içerisinde hava durumu ile ilgili gerekli kodlar bulunmaktadır.
Yapmanız gereken Hangi ilin hava durumu gerekli ise o sayfanın adresini inc_sayfa_sol_hava.asp asp dosyası içerisinde sayfanın baş tarafında 9. satırdaki strHavaKaynakUrl = "buraya adresi yazacaksınız" değişkene adresi yazmanız yeterlidir.

Döviz için bir şey yapmanıza gerek yok eğer Dolar ve Euro bilgileri gerekli ise...


Kodları/Fonksiyonları pek açıklama gereği görmedim çünkü gayet basit ve açık işlemler...

Kod:
Function fonkVeriCek(strVeri, strBaslamaEtiket, strBitisEtiket)

dim intBaslama
intBaslama = InStr(1, strVeri, strBaslamaEtiket, vbTextCompare)

if intBaslama then

intBaslama = intBaslama + Len(strBaslamaEtiket)
intBitis = InStr(intBaslama + 1, strVeri, strBitisEtiket, vbTextCompare)

fonkVeriCek = CStr(Mid(strVeri, intBaslama, intBitis - intBaslama))
else
fonkVeriCek = " "
end if
End Function



function fonkXmlHttp(strUrl)
dim objXmlHttp
set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")


objXmlHttp.Open "GET", strUrl, false
objXmlHttp.SetRequestHeader "Pragma", "no-cache"
objXmlHttp.SetRequestHeader "Cache-control", "no-cache"

on error Resume next
objXmlHttp.Send
if Err.Number<>0 then
fonkXmlHttp = ""
exit function
end If

on error Goto 0

if (objXmlHttp.Status = 200) then
fonkXmlHttp = objXmlHttp.ResponseText
fonkXmlHttp = fonkStream(objXmlHttp.ResponseBody,"iso-8859-9")
'fonkXmlHttp = fonkStream(objXmlHttp.ResponseBody,"windows-1254")
'fonkXmlHttp = fonkStream(objXmlHttp.ResponseBody,"UTF-8")
else
fonkXmlHttp = "Hata : " & objXmlHttp.StatusText
end if
end function


function fonkStream(Veri,KarakterSet)
dim objStream
set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Mode = 3
objStream.Open
objStream.Write Veri
objStream.Position = 0
objStream.Type = 2
objStream.Charset = KarakterSet
fonkStream = objStream.ReadText
objStream.Close
set objStream = Nothing
end function

kısaca fonksiyonların görevlerini açıklayayım.

Function fonkXmlHttp
Bilgi alınacak sayfayı yükler.



Function fonkStream
Alınan bilgilerin karakterlerini düzenler. Türkçe karakterlerin düzgün çıkmasını sağlar. (Bu işlem bir kaç çeşit şekilde de yapılabilir. Burada ben stream nesnesini kullanmayı tercih ettim. Çok daha basit yöntemler var...)


Function fonkVeriCek
Başındaki ve sonundaki karakterleri belirlenmiş verilerin arasında kalan ve bize gerekli olan bilgiyi sayfa içeriğinden alır.
HayaL isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 31-07-2008, 12:15   #32
Senior Member
 
HayaL - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
Standart

Konu : Xml dosyasından Döviz Bilgisi (Xml + ASP)
Seviye : Orta
Kaynak Dosyalar : http://rapidshare.com/files/24530688/merakli_doviz.rar




kaynak dosya içerisinde 3 farklı xml okuma şekli verdim. Siz en aklınıza yatanı kullanın. ilk 2 uygulama daha pratik bir yol sunar. Çalışma mantıkları hepsinde aynı...

XmlHttp yerine Xml den veri çekmenizi tavsiye ederim. Xml dosyasından veri çekmek XmlHttp e göre kat ve kat hızlıdır sayfanızın yüklenme süresinide en az bekleme süresine indirmiş olursunuz.

kodlama kısmına baktığınızda göreceksiniz bir kaç satır kod ile çalışmakta işte kodlama kısmı;

Birinci örnek : Kod:
<%
dim strXMLUrl
strXMLUrl = "http://www.tcmb.gov.tr/kurlar/today.xml"

dim objDomDocument
set objDomDocument = Server.CreateObject("Msxml.DOMDocument")
objDomDocument.Async = false
objDomDocument.SetProperty "ServerHTTPRequest", true
objDomDocument.Load(strXMLUrl)

dim objDugum
set objDugum = objDomDocument.SelectNodes("//Currency/*")
set objDomDocument = Nothing

if objDugum.length = 0 then
Response.Write "Hata : Xml dosyası yüklenemedi!"
else

dim intDolar01
intDolar01 = objDugum(3).Text

dim intDolar02
intDolar02 = objDugum(4).Text

dim intEuro01
intEuro01 = objDugum(102).Text

dim intEuro02
intEuro02 = objDugum(103).Text
end if

set objDugum = Nothing
%>

İkinci örnek : Kod:
<%
dim strXMLUrl
strXMLUrl = "http://www.tcmb.gov.tr/kurlar/today.xml"

dim objDomDocument
set objDomDocument = Server.CreateObject("Msxml.DOMDocument")
objDomDocument.Async = false
objDomDocument.SetProperty "ServerHTTPRequest", true
objDomDocument.Load(strXMLUrl)

set objDugum = objDomDocument.getElementsByTagName("Currency")
set objDomDocument = Nothing

dim intDolar01
intDolar01 = objDugum.item(0).childnodes.item(3).nodeTypedValue

dim intDolar02
intDolar02 = objDugum.item(0).childnodes.item(4).nodeTypedValue

dim intEuro01
intEuro01 = objDugum.item(11).childnodes.item(3).nodeTypedValu e

dim intEuro02
intEuro02 = objDugum.item(11).childnodes.item(4).nodeTypedValu e

set objDugum = Nothing
%>

Aşağıdaki kodu asp/php desteği olmayan sadece html destekli sunucularda kullanabilirsiniz.

JavaScript Döviz Bilgisi :
Kod:
<script type="text/javascript">
<!--
var strXMLUrl = "http://www.tcmb.gov.tr/kurlar/today.xml";

var objDomDocument = new ActiveXObject("Microsoft.XMLDOM");
objDomDocument.async = false;
objDomDocument.load(strXMLUrl);

var objDugum = objDomDocument.documentElement.selectSingleNode("C urrency[@Kod=\"USD\"]");
document.write(objDugum.selectSingleNode("ForexBuy ing").text);
document.write(" - ");
document.write(objDugum.selectSingleNode("ForexSel ling").text);

document.write("<br>");

objDugum = objDomDocument.documentElement.selectSingleNode("C urrency[@Kod=\"EUR\"]");
document.write(objDugum.selectSingleNode("ForexBuy ing").text);
document.write(" - ");
document.write(objDugum.selectSingleNode("ForexSel ling").text);
// -->
</script>
HayaL isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 31-07-2008, 12:15   #33
Senior Member
 
HayaL - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
Standart

Konu : Xml dosyasından Döviz Bilgisi (Xml + ASP)
Seviye : Orta
Kaynak Dosyalar : http://rapidshare.com/files/24682000...li_doviz00.rar





Konuya bir başka yaklaşım Kod:
<%
'///////////////////////////////////////////////////////////////////////////////
'Kodlar merakli tarafından yazılmıştır.
'merrrakli@hotmail.com
'///////////////////////////////////////////////////////////////////////////////
'/////////////////////////////// Xml Adresi ////////////////////////////////////
dim strXMLUrl
strXMLUrl = "http://www.tcmb.gov.tr/kurlar/today.xml"
'///////////////////////////////////////////////////////////////////////////////
'/////////////////////////////// Xml Yükleme ///////////////////////////////////
dim objDomDocument
set objDomDocument = Server.CreateObject("Msxml.DOMDocument")
objDomDocument.Async = false
objDomDocument.SetProperty "ServerHTTPRequest", true
objDomDocument.Load(strXMLUrl)
'///////////////////////////////////////////////////////////////////////////////
'/////////////////////////////// Döviş Alış ////////////////////////////////////
set objDugum = objDomDocument.documentElement.selectNodes("Curren cy/ForexBuying")

dim intDolar01
intDolar01 = objDugum(0).Text

dim intEuro01
intEuro01 = objDugum(11).Text

set objDugum = Nothing
'///////////////////////////////////////////////////////////////////////////////
'/////////////////////////////// Döviş Satış ////////////////////////////////////
set objDugum = objDomDocument.documentElement.selectNodes("Curren cy/ForexSelling")

dim intDolar02
intDolar02 = objDugum(0).Text

dim intEuro02
intEuro02 = objDugum(11).Text

set objDugum = Nothing
'///////////////////////////////////////////////////////////////////////////////
set objDomDocument = Nothing
%>
HayaL isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 31-07-2008, 12:15   #34
Senior Member
 
HayaL - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
Standart

Konu : İstenilen sayıda rastgele sayı üretmek
Seviye : Basit
Kaynak Dosyalar : yok



Kod:
<%
sayi_uzunlugu = 6

Response.Write fonkRastgele(sayi_uzunlugu)

function fonkRastgele(intUzunluk)

for intSayac = 1 to intUzunluk
randomize
strIslem = strIslem & Chr(Int((Rnd * 9) + 48))
next

fonkRastgele = strIslem

end function
%>
HayaL isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Hizli Erisim


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 02:18.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
WebTeknik - Webmaster Forumu - 2007 - 2008

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98