Hakan ŞEN Kişisel Günce - Etiket : fonksiyon / http://www.hakansen.com

xmlHTTP ile Merkez Bankası Döviz Kurları (Ayrıntılı Açıklama)

7 Ağustos 2007

Bilindiği gibi xmlHTTP`yi başka sitelerden veri çekmek için kullanıyoruz. xmlHTTP ile ilgili diğer yazılarım için http://www.hakansen.com/etiket/xmlhttp/ adresinden diğer konulara göz gezdirebilirsiniz.

Bu yazıda http://www.tcmb.gov.tr/kurlar/today.html adresinden Merkez Bankası döviz kurlarını anlık olarak nasıl alınır mantığı nedir ne değildir onu göstermeye çalışacağım.

Öncelikle Fonksiyonumuzu kurarak başlayalım.

Kod:
Public Function GETHTTP(strGelen) 

Set objVeriAl = Server.CreateObject("Microsoft.XMLHTTP" )
objVeriAl.Open "GET" , strGelen, False
objVeriAl.sEnd
GETHTTP= objVeriAl.Responsetext
Set objVeriAl = Nothing
End Function


Bu her zaman kullandığımız xmlhttp ile get metodu ile veri çekmek için kullanacağımız koddur.

şimdi devam edelim ve http://www.tcmb.gov.tr/kurlar/today.html adresine bağlanalım.
Kod:
strURL = "http://www.tcmb.gov.tr/kurlar/toDay.html" 

strVeri = GETHTTP(strAdres)

Siteye bağlandık ve responsetext olarak kaynağını aldık.

Şimdi sıra geldi USD yani dolar kurunu bu kodların içerisinden nasıl alırız onu öğrenmeye. Bu işlemi yapabilmek için inStr() ve Mid() fonksiyonlarını kullanacağız.

Kod:
iDolar=InStr(strVeri,"USD" ) 

strDolarAlis=Mid(strVeri,iDolar+39,10)
strDolarSatis=Mid(strVeri,iDolar+52,10)


InStr() fonksiyonu ile aldığımız kaynak kodunda USD yazan yerin karakter sırasını alıyoruz ve Mid() fonksiyonuyla koddaki karakterler arasında kurların yazdığı bölümü alıyoruz.

Kod:
strDolarAlis=Mid(strVeri,iDolar+39,10)

kodunda kaynak kodunun USD geçen yerinden 39 karakter sonrasindan başlayarak 10 karakter sonrasina kadar geçen bölümü alıyoruz, bu bölüm Merkez Bankası Dolar Alış kurunu almış oluyoruz.

Aynı şekilde EUR değerlerini de almak için

Kod:
iEuro=InStr(strVeri,"EUR" ) 

strEuroAlis=Mid(strVeri,iEuro+39,11)
strEuroSatis=Mid(strVeri,iEuro+52,11)



Böylelikle tüm verileri almış oluyoruz, bunları sitede kullanmak istediğimiz yerlerde

Kod:
Response.Write "Dolar Satış : "& strdolarsatis &"<br>"

Response.Write "Dolar Alış : "& strDolarAlis &"<br>"
Response.Write "Euro Satış : "& strEuroSatis &"<br>"
Response.Write "Euro Alış : "& strEuroAlis &"<br>"


şeklinde istediğiniz yerde kullanabilirsiniz.

Kodun komple çalışan versiyonuna http://www.hakansen.com/Kod/doviz.kurlari.txt adresinden ulaşabilirsiniz.

Devamı
Yorumlar (0)
Tarih : 7 Ağustos 2007 Salı Saat: 20:52:07
Kategoriler : Makale, Programlama
Etiketler : asp, xmlhttp, merkez bankası, kurları, instr, mid, fonksiyon

ASP Mid fonksiyonu

7 Ağustos 2007

ASP de en çok kullanılan fonksiyonlardan bir diğeri de Mid fonksiyonudur.

Kod:
Mid (Metin, Başlangıç, [Uzunluk])


Gönderilen ifade de belirtilen karekter pozisyonundan itibaren istenilen kadar değeri geri gönderir.

Kod:
Mid (string_ifade, başlangıç_noktası,[alınacak karakter sayısı])


Alıcanacak karakter sayısı opsiyoneldir. Eğer belirtilmezse ifadenin sonuna kadar alacaktır.
Kod:
Mid ("HAKAN ŞEN", 4, 2)

ifadesinde geriye dönen değer AN olacaktır.

Devamı
Yorumlar (0)
Tarih : 7 Ağustos 2007 Salı Saat: 20:43:27
Kategoriler : Makale, Programlama
Etiketler : mid, asp, vb, function, fonksiyon

ASP inStr fonksiyonu

7 Ağustos 2007

ASP de çok sık kullanılan fonksiyonlardan bir tanesi inStr`dir.

Kod:
InStr ([Kaçınıcı Harften,] Neyinİçinde, Neyi, Nasıl)


Bir string ifade içindeki aranacak olan başka bir string ifadenin kaçıncı pozisyonda olduğunu belirler.

Kullanımı;
Kod:
InStr (Başlangıç, aranacak ifade, aranan_ifade)


Örneğin;
HAKAN ŞEN kelimesi içinde ş harfinin kaçıncı pozisyonda olduğunu bulalım;
Kod:
Deger=InStr (1, "HAKAN ŞEN", "Ş")

Geri dönen değer 7 dir. Burada HAKAN ŞEN ifadesi içinde 1. harfden başlayarak Ş harfinin kaçıncı eleman olduğunu bulduruyoruz.

Devamı
Yorumlar (1)
Tarih : 7 Ağustos 2007 Salı Saat: 20:40:26
Kategoriler : Makale, Programlama
Etiketler : instr, asp, vb, function, fonksiyon

xmlHTTP ile url kontrolü

6 Ağustos 2007

xmlHTTP Kullanarak sorgulanmak istenen URL`nin var olup olmadığını kontrol etmek mümkündür.

kayit.kisaltiyor.us adresinde kısaltılacak urller girildiğinde öyle bir adresin var olup olmadığını kontrol etmek için kullanıyordum, bir yerlerde işinize yarayabilir.

Kod:
    Function GETHTTP(adres)

               On Error Resume Next
          Set StrHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
               StrHTTP.Open "GET" , adres, False
               StrHTTP.sEnd
                    If Err.Number = -2147012889 Then
                    Mesaj =   "<font style=""color:red;"">DNS Yanıt vermiyor, Siteye ulaşılamadı</font>"
                    ElseIf Err.Number = -2147012867 Then
                    Mesaj =   "<font style=""color:red;"">Url Bulunamadı</font>"
                    Else
                    Mesaj = "Url Bulundu Çalışıyor"
                    End If
               GETHTTP = Mesaj
          Set StrHTTP = Nothing
     End Function


strUrl = Request("url")
If strUrl = "" Then strUrl = "www.hakansen.com"
If Mid(strUrl,1,7) <> "http://" Then strUrl = "http://"&strUrl

Veri = GETHTTP(strUrl)
Response.Write Veri


strUrl değişkenini request("url") nesnesi ile aldık ama bunu başka bir siteden input değeri ile post veya get methodu ile bir formdan gönderip de işlem yapabilirsiniz.

Devamı
Yorumlar (1)
Tarih : 6 Ağustos 2007 Pazartesi Saat: 21:14:49
Kategoriler : Makale, Programlama
Etiketler : xml, xmlhttp, asp, url kontrolü, fonksiyon,

BinaryToString Fonksiyonu

6 Ağustos 2007

Binary verileri stringlere çevirmeye yarayan bir fonksiyon, xmlHTTP ile veri çektiğimizde gelen binary verileri süzmemize yarayacaktır.

Kod:
Private  Function BinaryToString(Binary) 

     Dim  cl1, cl2, cl3, pl1, pl2, pl3 
     Dim  L 
        cl1 = 1 
        cl2 = 1 
        cl3 = 1 
        L = LenB(Binary) 
 
     Do  While cl1<=L 
          pl3 = pl3 &  Chr(AscB(MidB(Binary,cl1,1))) 
          cl1 = cl1 + 1 
          cl3 = cl3 + 1 
          If  cl3>300  Then 
                     pl2 = pl2 & pl3 
                     pl3 = "" 
                     cl3 = 1 
                     cl2 = cl2 + 1 
                      If  cl2>200  Then 
                             pl1 = pl1 & pl2 
                              pl2 = "" 
                              cl2 = 1 
                      End  If 
                  End If 
     Loop 
     BinaryToString = pl1 & pl2 & pl3 
End Function

Devamı
Yorumlar (0)
Tarih : 6 Ağustos 2007 Pazartesi Saat: 20:12:05
Kategoriler : Makale, Sorun Giderme, Programlama
Etiketler : BinaryToString, xmlhttp, binary, string, fonksiyon, asp


eXTReMe Tracker