Skip to content
Eylül 13, 2006 / Erkan

C# İle Kayan Döviz Bandı


Merhaba, bugün blog’umun istatistiklerini incelerken arama motorlarından kayan döviz bandı diye aramalar geldiğini gördüm. Kayan döviz bandları bir çok haber sitesinde gördüğümüz, haber sitelerinin, ekonomi sitelerinin ve portalların vazgeçilmez unsurlarından biri olmuştur. Bugünkü yazımda “C#” ile kayan bir döviz bandı nasıl yapabiliriz ondan bahsetmek istiyorum.

Öncelikle kayan bandımızı HTML olarak tasarlayalım.

<marquee>
<div id="DovizBandi">
  <p><strong>Amerikan Doları:</strong>
  <span class="tip">Döviz Alış</span>
  &nbsp;-&nbsp;
  <span>1,2YTL_</span>
  &nbsp;||&nbsp;
  <span class="tip">Döviz Satış:</span>
  &nbsp;-&nbsp;
  <span>1,2YTL_ </span>
  &nbsp;||&nbsp;
  <span class="tip">Efektif Alış:</span>
  &nbsp;-&nbsp;
  <span>1,2YTL_ </span>
  &nbsp;||&nbsp;
  <span class="tip">Efektif Satış:</span>
  &nbsp;-&nbsp;
  <span>1,2YTL_</span></p>
</div>
</marquee>

CSS ile kayan döviz bandımızı şekillendirelim

<style type="text/css">
#DovizBandi{
	font-family: verdana;
	font-size: 11px;
	background-color:#FFFFCC;
	border: 1px dashed #333333;
	whitespace: nowrap;
}
#DovizBandi .tip{
	color: #FF0000;
	font-weight: bold;
}
#DovizBandi span{
	color: #999999;
	font-weight: bold;
}
#DovizBandi p{
	margin: 3px;
}
</style>

Evet artık bu aşamadan sonra kayan bandımızın programlamasına geçebiliriz. Kayan bandımız için visual studio muzda yeni bir web projesi açalım. Web projemizin içine bir adet “literal” kontrolü ekleyelim. Ve sayfamızın kod bölümüne geçip aşağıdaki kodları ekleyelim.

Kayan Döviz Bandı C# Kodu

protected void Page_Load(object sender, EventArgs e)
    {
        DovizAl();
    }

private void DovizAl()
    {
        string strDb = string.Empty;
        string htmlSpace = "&nbsp;";
        DataSet ds = new DataSet();
        ds.ReadXml(
            "http://www.tcmb.gov.tr/kurlar/today.xml"
            );

strDb += "<marquee>";
        strDb += "<div id=\"DovizBandi\">";
        strDb += "<p>";

foreach (DataRow dr in ds.Tables["Currency"]
            .Select("ForexBuying <> ''" 
            + "and ForexSelling <> ''"))
        {
            strDb += htmlSpace;
            strDb += "<strong>"
                + dr["Isim"].ToString()
		+ "(" + dr["Unit"].ToString() 
                + htmlSpace
                + dr["Kod"].ToString() + ")"
                + "</strong>";
            strDb += htmlSpace;
            strDb += "<span class=\"tip\">"
                + "Döviz Alış:"
                + "</span>";
            strDb += htmlSpace + "-" + htmlSpace;
            strDb += "<span>"
                + dr["ForexBuying"].ToString()
                + "YTL"
                + "</span>";
            strDb += htmlSpace;
            strDb += "<span class=\"tip\">"
                + "Döviz Satış:"
                + "</span>";
            strDb += htmlSpace + "-" + htmlSpace;
            strDb += "<span>"
                + dr["ForexSelling"].ToString()
                + "YTL"
                + "</span>";
            strDb += htmlSpace;
            strDb += "<span class=\"tip\">"
                + "Efektif Alış:"
                + "</span>";
            strDb += htmlSpace + "-" + htmlSpace;
            strDb += "<span>"
                + dr["BanknoteBuying"].ToString()
                + "YTL"
                + "</span>";
            strDb += htmlSpace;
            strDb += "<span class=\"tip\">"
                + "Efektif Satış:"
                + "</span>";
            strDb += htmlSpace + "-" + htmlSpace;
            strDb += "<span>"
                + dr["BanknoteSelling"].ToString()
                + "YTL"
                + "</span>";
        }

strDb += "</p>";
        strDb += "</div>";
        strDb += "</marquee>";

this.Literal1.Text = strDb;
    }

Evet artık projemizi çalıştırıp sonuçları görebiliriz. Oldukça hoş görünen bir kayan döviz bandımız oldu.

Kayan Döviz Bandı

Not: “<marquee></marquee>” etiketi (tag) XHTML standardı değildir, fakat günümüzde bir çok popüler internet tarayıcısı (browser) tarafından desteklenmektedir. Eğer web sayfanızın web standartlarına uyumuna özen gösteriyorsanız kayan döviz bandınızı “JavaScript” yardımıyla yapabilirsiniz.

Herkese iyi kodlamalar diliyorum…

27 Yorum

Yorum Yapın
  1. Ugur / Eki 12 2006 10:27 am

    tşkler bende bu kodu arıyodum çok işime yaradı.

  2. ahmet / Ara 8 2006 3:47 pm

    merhaba;
    peki bunu yazdığımız programı ledlerle oluşturduğumuz bir panoya nasıl aktarabiliriz

  3. Erkan / Ara 10 2006 5:06 am

    Led panonuza ait pc den yönetim sağlayan bir programlama arayüzü var ise (API) led panoya bu bilgileri yazdırmak mümkün. Eğer led panonuzun programlama arayüzü yok ise bu işi yapacak bir katman yazmak gerekir…

  4. Bilal / Ara 11 2006 6:10 pm

    abicim sagolasın ya cok lazımdı işallah calısır emegine saglık
    :D:D:D

  5. Faytoncu / Ara 15 2006 4:28 pm

    PHP var iken düt net kimin neyine lazım. firefox`da çalışmayacak bir kod için kafa yormanın kime ne faydası var. şiddetle kınıyorum

  6. Erkan / Ara 21 2006 12:11 pm

    Sayın Faytoncu,

    PHP yada ASP .NET olmasının kullandığınız (Internet Tarayıcısı) browser ile ne gibi bir bağlantısı var, ve ne kastettiğinizi anlayamadım açıkçası.

    Yukarıdaki örnek kod bildiğiniz bütün (Internet Tarayıcısı) browserlar da FireFox’ta dahil sorunsuz şekilde çalışır.

  7. tali_off / Mar 13 2007 9:58 pm

    PEKI BU KODLARI RESIMLI ANLATSANIZ OLMAZMI YADA DAHA AYTINLATICI

  8. tali_off / Mar 15 2007 2:21 am

    cok hata verdi ama sonunda basardim tesekkur ederim calisiyor peki kendi sitesindeki gibi nasil yapabiliriz onuda anlatmak mumkunmu cok yeni basladim c# la aspx bunlar cok guzel oluyor kendimizi gelistirmekde sagolun

  9. Erkan / Mar 15 2007 3:43 pm

    Merhaba tali_off

    kendi sitesine yakın bir görüntü için, web sayfana bir datagrid kontrolu koyabilrisin, asp net 2.0’da gridview olarak geçiyor. Daha sonra datagrid’e “doviztablosu” ismini verdiğini varsayarsak aşağıdaki gibi bir kodlama yapman gerekir.

    protected void Page_Load(object sender, EventArgs e)
    {
    DataSet ds = new DataSet();
    ds.ReadXml(
    “http://www.tcmb.gov.tr/kurlar/today.xml”);
    this.doviztablosu.DataSource = ds;
    this.doviztablosu.DataBind();
    }

    Bu işlem aldığın sonuçları datagrid olarak web syfana yazdıracaktır. Ve daha sonra istersen datagrid e style uygulayarak görüntüsünü daha güzel hale getirebilirsin.

  10. tali_off / Mar 15 2007 10:35 pm

    bu son yolladigin maalesef yapamadim cok ugrastim ama olmadi nedendir anlamadim..fakat senden ikisey rica edecegim…1.sayfadaki online sayisini gosteren bir kod yazabilirmisin 2.de cok onemli benim icin sayfayi 2 kere yada 3 4 kere girildiginde degisen bir reklam bolumu yapmak istiyorum boyle bir kod yazabilirmiyiz..cok tesekkur ederim saygilarimla ilginden dolayi cok sagol

  11. Erkan / Mar 15 2007 11:04 pm

    tali_off

    yukarıdaki kodu test etmeden yazdığım için birşey gözümden kaçmış. Aşağıdaki kod’u yazarsan çalışacaktır.

    protected void Page_Load(object sender, EventArgs e)
    {
    DataSet ds = new DataSet();
    ds.ReadXml(
    “http://www.tcmb.gov.tr/kurlar/today.xml”);
    this.doviztablosu.DataSource = ds.Tables[“Currency”];
    this.doviztablosu.DataBind();
    }

    Kod’u kopayala yapıştır yöntemi ile kullanırsan tırnak işaretleri hata verebilir, tırnak işaretlerini düzeltmeni veya kod’u elle yazmanı tavsiye ederim.

    Diğer önerilene gelince işlerimden arta kalan vaktimde değerlendirecem ve yeni bir konu olarak ekleyeceyim.

  12. tali_off / Mar 16 2007 1:06 am

    cok tesekkurler bir sey farketdim demeden gecemiyecegim cok ilgili ve alaka lisin ama benimde yapa bilecegim bir sey warsa sewe sewe yaparim ve gurur duyarim saygilarimla

  13. yoldaş / Mar 16 2007 1:06 pm

    Kullanışlı ve yararlı bir uygulama.
    çalışmalarınızda başarılar

    http://yoldas.cu.edu.tr

  14. tali_off / Mar 17 2007 6:28 pm

    erkan merhaba ben sana bir teklifim olacak tabi kabul edersen…senin sitende dunyada bir ilk olacagina inandigim hatda butun yazarlari bile alt ust edecek bir seye imza atalim derim buraya yazmami istersen buraya yazarim yada ozelin warsa oraya sana konu acarak anlatayim..senden haber bekliyorum saygilarimla yerini doldurdum istersen silebilirsin bu yazdiklarimi..saygilarimla

  15. Erkan / Mar 17 2007 8:38 pm

    Selam, iletişim için hakkında sayfasında yer alan e-posta adresini kullanabilirsiniz.

  16. wordpress ci / Nis 30 2007 4:08 pm

    hocam bunun wordpress lisinden yok mu

  17. ferit / May 1 2007 10:44 pm

    selam,kayan yazının içeriğini değiştirmek istediğimizde bunu nasıl yapabiliriz?Örneğin site yöneticisi içeriği değiştirmek istediğinde bana ulaşmak zorunda kalmasın kendisine bu imkanı sunabileceğim bi arayüzü nasıl gerçekleştirebiliriz?Yardımcı olursan sevinirim….iyi çalışmalar.

  18. xxxxxxxx / Haz 7 2007 5:21 pm

    Ya kardeş ben hiç bir şey anlamadım 3 tane ayrı ayrı kod vermişsin bunları nasıl birleştirecez,tek bir kod halinde verebilirmisin?

  19. Erkan / Haz 8 2007 1:16 am

    Kayan döviz bandını çalıştırmak için öncelikle CSS dosyasını oluşturman gerekiyor yani sıra olarak yukarıdan 2. sıradaki kodlama.

    Daha sonra oluşturduğun “.aspx” sayfasının kod bölümüne 3. kodlamayı yazman ve tasarım bölümüne bir adet “aspnet literal” kontrolü eklemelisin ve CSS dosyası için HTML HEAD bölümünde tanımlama yapmalısın.

    1. kodlama ise sadece tablosuz kayan bandımızın HTML tasarımını anlatan bilgi amaçlı örnek koddur bandın çalışması için gerekli değildir.

  20. xxxxxxxx / Haz 8 2007 10:18 am

    benim kafam basmıyor yaw,bu kodları hazır bir şekilde buraya veremezmisiniz rica etsem,bilgileri Tcmb den alınan hazır bir kod şeklinde alsak olmazmı?yani ben php veya html dosyası oluşturup içine atınca çalışacak bir kod istiyorum

  21. Merkez Ticaret / Eyl 6 2007 5:10 pm

    Selam ellerine sağlık dostum , xxxxxxxx valla bende de aspx de yeniyim benmde şuan pek basmıyo ama eger gerçekden yapmak istiyorsan bastırttıcaksın yada bırakıcaksn buişleri çabalamadan hiçbirşey olmuyo

  22. muzzy / Nis 9 2008 1:22 pm

    teşşekürler…işime bayağı yaradı marquee kodu…

  23. Uğur / Nis 22 2008 1:56 pm

    Teşekkürler, yapmayı düşündüğüm şeyi yapmışsın, zaman kazanmış olduk sayende, teşekkürler paylaşımın için..
    ( Firefox ta çalışmayacağından, javascripti halini yapmak şart, yakında yazarım buraya javascriptli halinin kaynak kodlarını.. )

  24. suat / Oca 28 2009 2:33 am

    süper eline sağlık kardeş..

  25. özgül / Ara 13 2010 9:24 pm

    Herzaman ki gibi çok güzel bir yazı hazırlamışsınız. Teşekkürler.

  26. Ali / Nis 6 2012 9:31 am

    Değerli paylaşımınız için çok teşekkür ederim arka planda yapılabilecek çalışmalar için bir fikir sahibi olmuş oldum. Sağolun..

  27. bilginweb / May 1 2012 11:40 pm

    keşke c# kodlarını hangi nesnenin içine ekleyeceğimizide açıklasaydın şimdi tasraım bölümüne ne ekleyeceğiz ondan sonra ona çift tıklayıp hangi kodu hangisine yapıştıracağız bunlarıda yazarsan fevkalede olur

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: