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…

Şu ana kadar 23 yorum yapılmış

  1. Ugur on Ekim 12, 2006

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

  2. ahmet on Aralık 8, 2006

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

  3. Erkan on Aralık 10, 2006

    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 on Aralık 11, 2006

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

  5. Faytoncu on Aralık 15, 2006

    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 on Aralık 21, 2006

    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 on Mart 13, 2007

    PEKI BU KODLARI RESIMLI ANLATSANIZ OLMAZMI YADA DAHA AYTINLATICI

  8. tali_off on Mart 15, 2007

    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 on Mart 15, 2007

    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 on Mart 15, 2007

    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 on Mart 15, 2007

    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 on Mart 16, 2007

    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ş on Mart 16, 2007

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

    http://yoldas.cu.edu.tr

  14. tali_off on Mart 17, 2007

    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 on Mart 17, 2007

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

  16. wordpress ci on Nisan 30, 2007

    hocam bunun wordpress lisinden yok mu

  17. ferit on Mayıs 1, 2007

    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 on Haziran 7, 2007

    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 on Haziran 8, 2007

    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 on Haziran 8, 2007

    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 on Eylül 6, 2007

    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 on Nisan 9, 2008

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

  23. Uğur on Nisan 22, 2008

    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ı.. )

Leave a reply