![]() |
|
|||||||
![]() |
|
|
LinkBack | Seçenekler | Stil |
|
|
#21 | ||
|
Senior Member
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
|
Konu : META Tagları
Seviye : Basit Kaynak Dosyalar : yok Burada tüm meta taglarından bahsetmiyeceğim Özellikle her sitede kullanılması gereken ya da normal bir sayfada mutlaka bulunması gereken ve arama motorlarına rehberlik yapacak taglardan bahsedeceğim. Bu şekilde Arama motorları sayfalarınızı sizin isteğiniz bilgiler ve bu bilgiler doğrultusunda indexleyecektir. Anlatmak yerine kendi yaptığım bir sitenin meta taglarını ve google'de indexlenmiş halini göstererek söze başlayacağım. Son olarak bu tagları her sayfanın üstüne eklmek yerine include ettiğiniz bir asp dosyasını her sayfanın başına eklemek daha uygun olur. sitede geçerli meta tagları ![]() googlede görünen hali ![]() bu kodlar mutlaka <head></head> tagları arasında olmalıdır. <head> tagını açıyoruz [code] <head> Türkçe karakterlerin doğru çıkması için bunlarda bir tanesini ya da ikisinide yazmalısınız bunların yerine UTF-8 karakter setinide kullanabilirsiniz. Kod: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> En önemli kısım burası buraya yazacağınız yazı Arama sayfasında başlık olarak çıkacaktır bakınız google görünümüne.. Aşağıdaki kodlardan en üsttekini yazmanız yeterli ancak tümünüde yazabilirsiniz. Kod: <title>Binboga Bali Aricilik Entegre Tesisleri</title> <meta name="Title" content="o00 Binboga Bali Aricilik Entegre Tesisleri 00o"> <meta name="page-topic" content="Binboga Bali Aricilik Entegre Tesisleri"> Arama motorlarının botuna 3 günde bir gel beni ziyaret et ve yeni sayfaları kaydet... diyoruz. Buradaki gün sayısını siz isteğinize göre girebilirsiniz. Kod: <meta name="Revisit" content="After 3 days"> index,follow diyerek Ana sayfa ve bu anasayfada geçen linklerden ulaşılan tüm alt sayfaları indexle demek istiyoruz. Ana sayfayı indexlemesini istemiyorsak noindex Ana sayfada linkleri olan alt sayfaları indexlemesini istemiyorsak nofollow Ana sayfayı ve ana sayfada linkleri olan alt sayfaları indexlemesini istemiyorsak none yazmalıyız. Kod: <meta name="audience" content="all"> <meta name="robots" content="index,follow"> Arama motorlarında hangi kelimeler arandığında sayfanızın sonuçlarda görüntülenmesini istiyorsanız site içeriği ile ilgili kelimeleri aralarına virgül ya da boşluk koyarak yazınız. Ancak 255 karakteri geçmeyecek şekilde yazmaya dikkat ediniz. Herkesin aradığı popüler kelimeleri yazarak akıllılık etmeye çalışmayın googleden bloke yiyebilir sayfanız hiç indexlenmeyebilir. Siteyi tanıtıcı gerekli kelime(ler)i giriniz. Kod: <meta name="Keywords" content="binboga,binboğa,binbogabali,binboğabalı,a dana,kozan,bal,petek,kovan,arı,arıcılık,ari,aricil ik,bee,biene,abeille,abeja,ape,bal,honey,honig,mie l,miele,balarısı,balarisi,honeybee,honigbiene"> şeklinde adres çubuğuna ikon eklemek için kullanılır. Bunun için ico uzantılı dosya oluşturmalı ve ana dizine upload yapıp adresini bu tag içine yazmalısınız. Firefox normalde gösterirken Ekspplorer sık kullanılanlara ekledikten sonra gösteriyor sanırım...<link rel="shortcut icon" href="http://www.binbogabali.com/ikon.ico"> tanımladığınız classları <head> tagları arasında yazabileceğiniz gibi css uzantılı bir dosya içerisine yazıp bu şekilde çağırabilirsiniz. Kod: <link rel="stylesheet" type="text/css" href="stil.css"> Ayarlarımız tamamlandı <head> tagını kapatıyoruz Kod: </head> leftmargin="0" topmargin="0" değerlerini 0 yaparak default olarak verilmiş olan soldaki ve üstteki boşlukları kaldırıyoruz. Sayfamızı üstte ve sola çekiyoruz bu şekilde yapacağımız sayfa için daha fazla alan kazanmış olduk. Kod: <body leftmargin="0" topmargin="0"> Son olarak sitenizi Google e kaydetmek ya da google arama botunun sitenizi çabuk indekslemeye davet etmek için http://www.google.com.tr/addurl/?continue=/addurl sayfasından gerekli bilgileri girebilirsiniz. Ancak indexler arasında en kolay ve en sağlam şekilde yer almanın yolu http://www.dmoz.org e sitenizi kayıt/kabul ettirmeniz gerekli. Burası saygın bir index olduğu için burada kaydı olan tüm adresler anında tüm dünya arama motorlarında yer alır. |
||
|
|
|
|
|
#22 | ||
|
Senior Member
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
|
Konu : Veritabanına/Dizine Resim/Dosya Upload İşlemi
Seviye : Üst Düzey Kaynak Dosyalar : http://rapidshare.com/files/11220861/upload.rar.html Upload işlemi her zaman sorulan ancak tam anlamıyla çözümlenemeyen bir konudur. Upload işlemi için çeşitli komponent(bileşenler) mevcuttur ancak her serverda yüklü olmadığı için kullanılamaz. FSO(File System Object) yardımıyla upload ise bu işin olması gereken halidir(default). Burada bu konuyu her yönüyle içeren bir örneği verip kısaca özelliklerini açıklayacağım. Upload uygulamasının özellikleri;
dosyaları C:\Inetpub\wwwroot\upload dizinine ya da tercih ettiğiniz başka bir dizine koyarak deneyebilirsiniz. |
||
|
|
|
|
|
#23 | ||
|
Senior Member
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
|
Konu : Ajax seçilen ilin ilçeleri almak [Asp + Ajax]
Seviye : Orta Düzey Kaynak Dosyalar : http://rapidshare.com/files/11242516...RAKLI.rar.html DEMO : http://www.binbogabali.com/il/default.asp ![]() Bu işlemi bu kadar açık ve net hemde türkçe bir dil ile açıklayan başka bir örnek görmedim. Sanırım çoğu kişinin aradığı-yapmak istediği bir uygulama. Veritabanında Tüm dünya ülkeleri (bu uygulamada dünya ülkeleri kullanılmamakta..) il ve tüm ilçelerimiz (http://tckimlik.nvi.gov.tr) den alınarak oluşturulmuştur. Ancak id numaralarını değiştirdim... |
||
|
|
|
|
|
#24 | ||
|
Senior Member
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
|
Konu : Formdan gelen bilgiler üzerinde biçimsel denetim
Seviye : Orta Düzey Kaynak Dosyalar : http://rapidshare.com/files/11247195...RAKLI.rar.html Konuk defteri ya da iletişim formlarında form elemanlarından gelen bilgiler bazen istediğiniz gibi olmayabilir kişi baş harfi küçük yada tüm harfleri büyük yazabilir yahut tümünü büyük yazması gereken bir durumda küçük yapabilir. Bunları Replace ya da UCase LCase ile küçültüp büyültebiliriz. Bu işlem basittir. Ancak türkçe klarakterler her zaman başınızı ağrıtır özelliklede büyük i (İ) bu sorunu halletmek için oturup bir fonksiyon yazdım çeşitli şekillerde denedim ve hiç bir hatalı durumla karşılaşmadım. Kendime ait olan bu kodları burada paylaşıyorum. İşleyişte herhangi bir aksaklığa yol açan bir durum tespit edip yazarsanız kodu tekrar düzenlerim ancak şuan testlerden başarı ile geçmeyi başarmış bir fonksiyondur. Düzenli ve türkçe karakterli günler temennisiyle... fonkBasHarfiBuyut ali, ALİ yazarsanız sonuç Ali olacaktır Kod: function fonkBasHarfiBuyut(veri) dim strVeri strVeri = Trim(veri) dim strBasHarf strBasHarf = Left(strVeri, 1) dim strKalan strKalan = Right(strVeri, Len(strVeri)-1) if InStr(1, "iİıI", strBasHarf, vbTextCompare) = 0 then strBasHarf = UCase(strBasHarf) else select case strBasHarf case "i","İ" strBasHarf = "İ" case "ı","I" strBasHarf = "I" end select end if fonkBasHarfiBuyut = strBasHarf & fonkTumHarfleriKucult(strKalan) end function fonkTumHarfleriKucult Na yazarsanız yazın tüm harfler küçük olacaktır. Kod: function fonkTumHarfleriKucult(veri) dim strVeri strVeri = Trim(veri) dim strGecici strGecici = "" dim strHarf dim intSayac for intSayac = 1 to Len(veri) strHarf = Mid(veri, intSayac, 1) if InStr(1, "iİıIğĞöÖüÜşŞçÇ", strHarf, vbTextCompare) = 0 then strHarf = LCase(strHarf) else select case strHarf case "i", "İ" strHarf = "i" case "ı", "I" strHarf = "ı" case "ğ", "Ğ" strHarf = "ğ" case "ö", "Ö" strHarf = "ö" case "ü", "Ü" strHarf = "ü" case "ş", "Ş" strHarf = "ş" case "ç", "Ç" strHarf = "ç" end select end if strGecici = strGecici & strHarf next fonkTumHarfleriKucult = strGecici end function fonkTumHarfleriBuyut Na yazarsanız yazın tüm harfler büyük olacaktır. Kod: function fonkTumHarfleriBuyut(veri) dim strVeri strVeri = Trim(veri) dim strGecici strGecici = "" dim strHarf dim intSayac for intSayac = 1 to Len(veri) strHarf = Mid(veri, intSayac, 1) if InStr(1, "iİıI", strHarf, vbTextCompare) = 0 then strHarf = UCase(strHarf) else select case strHarf case "i","İ" strHarf = "İ" case "ı","I" strHarf = "I" end select end if strGecici = strGecici & strHarf next fonkTumHarfleriBuyut = strGecici end function fonkMailTumHarfleriKucult mail adresine türkçe büyük-küçük karakterler yazılmış ise bunları olması gerekenle değiştirip küçültülmüş olarak yazar. Kod: function fonkMailTumHarfleriKucult(veri) dim strVeri strVeri = Trim(veri) dim strGecici strGecici = "" dim strHarf dim intSayac for intSayac = 1 to Len(veri) strHarf = Mid(veri, intSayac, 1) if InStr(1, "İıüÜşŞöÖğĞçÇ", strHarf, vbTextCompare) = 0 then strHarf = LCase(strHarf) else select case strHarf case "İ" strHarf = "i" case "ı" strHarf = "i" case "ü","Ü" strHarf = "u" case "ş","Ş" strHarf = "s" case "ö", "Ö" strHarf = "o" case "ğ", "Ğ" strHarf = "g" case "ç", "Ç" strHarf = "c" end select end if strGecici = strGecici & strHarf next fonkMailTumHarfleriKucult = strGecici end function |
||
|
|
|
|
|
#25 | ||
|
Senior Member
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
|
Konu : İlişkisel Veritabanı Mimarisi ve Tüm Kur'an-ı Kerim Ayetleri Access + Sql
Seviye : Orta Düzey Kaynak Dosyalar : http://rapidshare.com/files/11248054/meal.rar.html Değerli hocam Süleyman ATEŞ Bey'e interaktif bir site yapmak istemiştim bu nedenle de kendisinin yazmış olduğu Kur'an mealinden bir veritabanı oluşturdum. Ancak kendisinin site konusunda destek almamı istediği arkadaş konuyla pek ilgilenmediği ve gereken bilgi desteğini vermediği için proje yarıda kaldı. Databaseyi Kur'an-ı kerimden herhangi bir kelime-bilgi aramada halen kullanmaktayım. Bu saklanacak bir veri olmak yerine bu ihtiyacı hisseden kişilerle paylaşılacak bir türde bir kaynak olduğu için burada vermeyi uygun buldum. Veritabanı düzenlemeyi öğrenmek isteyenler inceleyip baksınlar. Özellikle Kur'an-ı Kerim konuları ile Ayetlerin bir birine bağlanma şekline dikkatlerini çekerim. (Tüm konular bitmemiştir...) Konunun açıklığa kavuşması için sql konusunda en güzel yazılmış kitapçık olan byte dergisinin iki kitapçığının pdf formatınıda indirip incelemenizi şiddetle öneririm. http://rapidshare.com/files/11249434/byte_sql.rar.html |
||
|
|
|
|
|
#26 | ||
|
Senior Member
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
|
Konu : Bolean (True-False) Değeri Taşıyan Form Elemanlarının Veritabanına Kaydedilmesi
Seviye : Basit Düzey Kaynak Dosyalar : http://rapidshare.com/files/11250114...rakli.rar.html Checkbox ya da radio form elemanlarından gelen verilerin veritabanına kaydedilmesi özelliklede kayıtlı olan bir bolean değerin sayfada gözterilmesinde (check edilmesi hususunda) sorunlar yaşanır. Ek olarak bulunan dosya içerisinde bu işlemi çözebilmek için en basit ve çeşitli versiyonlarda örnekler sunulmuştur... database e kayıt işleminde olay aşağıdaki çerçeveli kısımdan ibarettir. Kod: dim strAlan strAlan = Request.Form("alan") '//////////////////////////////////// if Request.Form("onay") <> "" then '/ blnOnay = 1 '/ else '/ blnOnay = 0 '/ end if '/ '//////////////////////////////////// strSql = "UPDATE tblOrnek SET " strSql = strSql & "alan = '" & strAlan & "', " strSql = strSql & "onay = " & blnOnay & " " 'EVET/HAYIR Şeklinde düzenlenmeli... strSql = strSql & "WHERE id = " & intID objConn.Execute(strSql),,adCmdText + adExecuteNoRecords Databaseden okuyup seçili ise şeçilmiş hale getirme işlemi... Kod: <!--#include file="inc_db.asp" --> <!--#include file="inc_sayfa_ust.asp" --> <% dim intID intID = Request.QueryString("id") if intID = "" then intID = 1 set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strConn set objRs = Server.CreateObject("ADODB.Recordset") objRs.CursorLocation = 3 objRs.CursorType = 0 objRs.LockType = 3 strSql = "SELECT id, alan, onay FROM tblOrnek WHERE id = " & intID objRs.Open strSql, objConn,,, &H0001 intID = objRs("id") strAlan = objRs("alan") blnOnay = objRs("onay") %> <td width="600"> <table border="1" cellpadding="0" cellspacing="0" width="50%"> <tr> <td colspan="2" class="yazi_01"><a href="sayfa.asp?id=1">1. veri</a> - <a href="sayfa.asp?id=2">2. veri</a></td> </tr> <tr> <td width="200" class="yazi_01"><% = strAlan %></td> <td width="100"> <% Response.Write "<input type=""checkbox"" name=""onay""" if blnOnay then Response.Write " checked" if blnOnay then 'Response.Write " disabled" else 'Response.Write " disabled" end if Response.Write ">" Response.Write "<input type=""radio"" name=""onay""" if blnOnay then Response.Write " checked" if blnOnay then Response.Write " disabled" else Response.Write " disabled" end if Response.Write ">" '################################################# ################################################## ################## if blnOnay then Response.Write "<img src=""dugme_checkbox_aktif_01.gif"" border=""0"" alt=""Aktif Anket"" width=""21"" height=""21"">" else Response.Write "<img src=""dugme_checkbox_pasif_01.gif"" border=""0"" alt=""Pasif Anket"" width=""21"" height=""21"">" end If '################################################# ################################################## ################## '################################################# ################################################## ################## if blnOnay then Response.Write "<img src=""dugme_radio_aktif_01.gif"" border=""0"" alt=""Aktif Anket"" width=""21"" height=""21"">" else Response.Write "<img src=""dugme_radio_pasif_01.gif"" border=""0"" alt=""Pasif Anket"" width=""13"" height=""13"">" end If '################################################# ################################################## ################## %> </td> </tr> </table> </td> <% objRs.Close set objRs = Nothing objConn.Close set objConn = Nothing %> <!--#include file="inc_sayfa_alt.asp" --> |
||
|
|
|
|
|
#27 | ||
|
Senior Member
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
|
Konu : Veritabanından birden fazla kayıt silmek (Asp + JavaScript)
Seviye : Orta Düzey Kaynak Dosyalar : http://rapidshare.com/files/12295075...silme.rar.html Veritabanı ile ilgili işlemlerde bir veri üzerinde çalışmak birden fazla veri üzerinde aynı a nda çalışmak ile aynı değildir. Bu işlem daha çok birden fazla veriyi aynı anda silmek ya da güncellemek için kullanılır. Bunun akla hayale gelmedik çeşitli metotları vardır. Burada en basit olanını anlatacağım. Anlaşılır olmasını sağlamak için silme işlemini ve kayıtların sayfada gösterildiği sayfayı ayrı ayrı yaptım. Normalde bu tür işlemler aynı sayfada yapılır. ![]() Silme işleminden önce silinebilecek kayıtların sayfada gösterilmesi gerekir. Kayıtları sayfaya döktüğümüz asp dosyamız. default.asp Kod: <% 'merakli tarafından oluşturulmuştur 'merrrakli@hotmail.com Option explicit Response.Buffer = true %> <!--#include file="inc_db.asp" --> <!--#include file="inc_fonksiyon.asp" --> <% dim objConn set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strConn %> <!--#include file="inc_sayfa_ust.asp" --> <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td height="400" valign="top"> <table border="1" cellpadding="1" cellspacing="0" width="100%"> <form action="sil.asp" method="POST"> <% dim objRs set objRs = Server.CreateObject("ADODB.Recordset") objRs.CursorType = 0 objRs.CursorLocation = 2 objRs.LockType = 1 dim strSql strSql = "SELECT * FROM tblUye" objRs.Open strSql, objConn, , , &H0001 '/////////////////////////////////////////////////////////////////////////////// if objRs.EOF then '/////////////////////////////////////////////////////////////////////////////// Response.Write " <tr>" & vbNewLine & _ " <td bgcolor=""#ffcc00""> </td>" & vbNewLine & _ " </tr>" & vbNewLine & _ " <tr>" & vbNewLine & _ " <td align=""center"" valign=""middle"" height=""350""><b>Veritabanı boş</b></td>" & vbNewLine & _ " </tr>" & vbNewLine & _ " <tr>" & vbNewLine & _ " <td bgcolor=""#ffcc00""> </td>" & vbNewLine & _ " </tr>" & vbNewLine '/////////////////////////////////////////////////////////////////////////////// else '/////////////////////////////////////////////////////////////////////////////// Response.Write " <tr bgcolor=""#ffcc00"">" & vbNewLine & _ " <td width=""55%"" class=""baslik_01"">AD SOYAD</td>" & vbNewLine & _ " <td align=""right"" width=""40%"" class=""yazi_01""><b>Tümünü seç</b></td>" & vbNewLine & _ " <td align=""center"" width=""5%""><input type=""checkbox"" name=""sec"" value=""1"" onclick=""javascript:fonkTumunuSec(this.form);""></td>" & vbNewLine & _ " </tr>" & vbNewLine dim strRenk dim intSayac intSayac = 0 do while Not objRs.EOF if intSayac mod 2 then strRenk = "#e8e8e8" else strRenk = "#ffffcc" end if Response.Write " <tr bgcolor=""" & strRenk & """>" & vbNewLine & _ " <td colspan=""2"" width=""95%"" class=""yazi_01"">" & objRs("UYE_AD") & " " & objRs("UYE_SOYAD") & "</td>" & vbNewLine & _ " <td align=""center"" width=""5%""><input type=""checkbox"" name=""id"" value=""" & objRs("UYE_ID") & """></td>" & vbNewLine & _ " </tr>" & vbNewLine intSayac = intSayac + 1 objRs.MoveNext loop Response.Write " <tr bgcolor=""#ffcc00"">" & vbNewLine & _ " <td colspan=""2"" width=""95%"" align=""right""><input type=""submit"" value="" Sil "" onClick=""javascript:return confirm('Seçili kayıtları silmek istediğinizden emin misiniz?');""></td>" & vbNewLine & _ " <td align=""center"" width=""5%""> </td>" & vbNewLine & _ " </tr>" & vbNewLine '/////////////////////////////////////////////////////////////////////////////// end if '/////////////////////////////////////////////////////////////////////////////// objRs.Close set objRs = Nothing %> </form> </table </td> </tr> </table> <!--#include file="inc_sayfa_alt.asp" --> <% objConn.Close set objConn = Nothing %> Silme işlemini yapacak sayfamız. sil.asp Kod: <% 'merakli tarafından oluşturulmuştur 'merrrakli@hotmail.com Option explicit Response.Buffer = true %> <!--#include file="inc_db.asp" --> <% dim intID intID = Trim(Request.Form("id")) dim arrID arrID = Split(intID, ",") dim objConn set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strConn dim intSayac for intSayac = LBound(arrID) to UBound(arrID) objConn.Execute("DELETE FROM tblUye WHERE UYE_ID = " & arrID(intSayac)),,adCmdText + adExecuteNoRecords next objConn.Close set objConn = Nothing Response.Redirect "default.asp" %> |
||
|
|
|
|
|
#28 | ||
|
Senior Member
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
|
Konu : Sayfa düzeninde asp i etkin kullanmak
Seviye : Basit Düzey Kaynak Dosyalar : http://rapidshare.com/files/12315740...uzeni.rar.html Asp bilmekten daha çok asp i nasıl kullandığın da çok önemlidir! Asp bilen ve adam gibi sistematik sayfalar yapmak isteyen herkes mutlaya bu konuyu okumalıdır demiyorum EZBERLEMELİDİR hatta YUTMALIDIR |
||
|
|
|
|
|
#30 | ||
|
Senior Member
Üyelik tarihi: 29-07-2008
Mesajlar: 1.000
|
Konu : Merkez Bankası Döviz Kurları XML Sayfasından Bilgi Çekmek (XML + ASP)
Seviye : Orta Kaynak Dosyalar : http://rapidshare.com/files/22629702/merakli_kurlar.rar Bu konuyu da buradan başka forumlara (Ç)alacaklar. Tamam (Ç)alın ancak yazanın hakkını da verin! Hava Durum Bilgisi Yakında! Kod: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <style type="text/css"> <!-- body { margin:0px; padding:0px; } --> </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9"> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td align="center"> <table border="1" cellpadding="0" cellspacing="0" width="200"> <% 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) if (objDomDocument.ParseError.ErrorCode <> 0) then Response.Write " <tr>" & vbNewLine & _ " <td>Hata : " & objDomDocument.ParseError.Reason & "</td>" & vbNewLine & _ " <tr>" & vbNewLine else dim objDugum set objDugum = objDomDocument.SelectNodes("//Currency/*") dim strAlis, strSatis for each strAnahtar in objDugum if strAnahtar.tagName = "ForexBuying" then strAlis = strAlis & strAnahtar.Text & "|" elseif strAnahtar.tagName = "ForexSelling" then strSatis = strSatis & strAnahtar.Text & "|" end if next dim arrAlis, arrSatis arrAlis = Split(strAlis,"|") arrSatis = Split(strSatis,"|") end if Response.Write " <tr>" & vbNewLine & _ " <td>Dolar alış : " & arrAlis(0) & "</td>" & vbNewLine & _ " </tr>" & vbNewLine & _ " <tr>" & vbNewLine & _ " <td>Dolar salış : " & arrSatis(0) & "</td>" & vbNewLine & _ " </tr>" & vbNewLine & _ " <tr>" & vbNewLine & _ " <td>Euro alış : " & arrAlis(11) & "</td>" & vbNewLine & _ " </tr>" & vbNewLine & _ " <tr>" & vbNewLine & _ " <td>Euro salış : " & arrSatis(11) & "</td>" & vbNewLine & _ " </tr>" & vbNewLine %> </table> </td> </tr> </table> </body> </html> Kısaca açıklayayım. Kod: 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) if (objDomDocument.ParseError.ErrorCode <> 0) then Response.Write " <tr>" & vbNewLine & _ " <td>Hata : " & objDomDocument.ParseError.Reason & "</td>" & vbNewLine & _ " <tr>" & vbNewLine else dim objDugum set objDugum = objDomDocument.SelectNodes("//Currency/*") dim strAlis, strSatis for each strAnahtar in objDugum if strAnahtar.tagName = "ForexBuying" then strAlis = strAlis & strAnahtar.Text & "|" elseif strAnahtar.tagName = "ForexSelling" then strSatis = strSatis & strAnahtar.Text & "|" end if next dim arrAlis, arrSatis arrAlis = Split(strAlis,"|") arrSatis = Split(strSatis,"|") end if http://www.tcmb.gov.tr/kurlar/today.xml adresini açarsanız today.xml isimli xml sayfasını göreceksiniz. Xsl (isokur.xsl) ile biçimlendirilmiş bir sayfa olduğu için klasik xml dosyası gibi görünmeyecek elbette. En çok gerekli olacan Dolar($) ve Euro(€) alış-satış bilgilerini çekeceğim. Küçük bir değişiklik ve döngü ile ordaki tüm bilgileri bu şekilde çekebilirsiniz. xml dosyası içinde her kur için aşağıdaki elemanlar mevcut. Bize ise sadece alış satış bilgileri içeren (Kırmızı ile işaretlenmiş olan) alanlar lazım. Kod: <Currency Kod="USD" CurrencyCode="USD"> <Unit>1</Unit> <Isim>AMERİKAN DOLARI</Isim> <CurrencyName>US DOLLAR</CurrencyName> <ForexBuying>1.3773</ForexBuying> <ForexSelling>1.3839</ForexSelling> <BanknoteBuying>1.3763</BanknoteBuying> <BanknoteSelling>1.386</BanknoteSelling> <CrossRateUSD>1</CrossRateUSD> <CrossRateOther> </CrossRateOther> </Currency> Dolar'a ait bilgiler ilk sırada Euro ise 10. sırada (Dizi içerisinde alacağım için dizi sıfırdan başlar. Buna göre Dolar 0. Euro ise 11. dizi elemanı olacak...) Nesne(obje)mizi tanımlayıp oluşturuyoruz. Kod: dim objDomDocument set objDomDocument = Server.CreateObject("Msxml.DOMDocument") today.xml dosyamızı yüklüyoruz. Kod: objDomDocument.Async = false objDomDocument.SetProperty "ServerHTTPRequest", true objDomDocument.Load(strXMLUrl) Hata oluştuysa hatanın açıklamasını sayfaya yazdırıyoruz. Kod: if (objDomDocument.ParseError.ErrorCode <> 0) then Response.Write " <tr>" & vbNewLine & _ " <td>Hata : " & objDomDocument.ParseError.Reason & "</td>" & vbNewLine & _ " <tr>" & vbNewLine else Kök düğümü(Node) alıyoruz. Kod: dim objDugum set objDugum = objDomDocument.SelectNodes("//Currency/*") Alış ve Satış bilgileriyle bir dizi oluşturuyoruz. Dizi elemanlarının arasını | karakteri ile ayırıyoruz. Kod: for each strAnahtar in objDugum if strAnahtar.tagName = "ForexBuying" then strAlis = strAlis & strAnahtar.Text & "|" elseif strAnahtar.tagName = "ForexSelling" then strSatis = strSatis & strAnahtar.Text & "|" end if next Her bir dizinin elemanını değişkene atıyoruz Kod: dim arrAlis, arrSatis arrAlis = Split(strAlis,"|") arrSatis = Split(strSatis,"|") end if Sıfır sıra numaralı arrAlis dizi elemanının değerini alıp sayfaya yazdırıyoruz o da Dolar alış fiyatı oluyor. Kod: arrAlis(0) Sıfır sıra numaralı arrSatis dizi elemanının değerini alıp sayfaya yazdırıyoruz o da Dolar satış fiyatı oluyor. Kod: arrSatis(0) On bir sıra numaralı arrAlis dizi elemanının değerini alıp sayfaya yazdırıyoruz o da Euro alış fiyatı oluyor. Kod: arrAlis(11) On bir sıra numaralı arrSatis dizi elemanının değerini alıp sayfaya yazdırıyoruz o da Euro satış fiyatı oluyor. Kod: arrSatis(11) |
||
|
|
|