C# Döviz Hesaplama Programı

Mutlu
15 Mart 2016 Salı
0

C# Döviz Hesaplama Programı

Öncelikle Türkiye Cumhuriyeti Merkez Bankasından Xml formatlı verileri çekmek için class oluşturup içerisine şu kodları yazıyoruz.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Xml;



namespace DovizHesap

{

    public class DovizKurlari

    {

        XmlDocument xml = null;

        const string adres = "http://www.tcmb.gov.tr/kurlar/today.xml";

        public enum KurKodu : byte

        {

            USD, CAD, DKK, SEK, NOK, CHF, JPY, SAR, KWD, AUD, EUR, GBP, IRR, SYP, JOG, BGL, ROL, ILS,

        }

        public enum Tur : byte

        {

            ForexBuying, //Döviz alış

            ForexSelling, //Döviz satış

            BanknoteBuying, //Efektif alış

            BanknoteSelling, //Efektif satış

        }

        public DovizKurlari()

        {

            xml = new XmlDocument();

            xml.Load(new XmlTextReader(adres));

        }

        public string TlKarsiligi(KurKodu kodu, Tur turu)

        {

            string kod = kodu.ToString();

            string tur = turu.ToString();

            XmlNodeList MyNode = xml.SelectNodes("/Tarih_Date/Currency[@Kod ='" + kod + "']/" + tur);

            return MyNode.Item(0).InnerText;

        }

    }

}

Daha sonra tasarım kısmına geçiyoruz.

 

Global değişkenlerimizi tanımlayalım ve Form1 Load Olayında Yapılan işlemlere gelelim.

ArrayList araysatis = new ArrayList();

        ArrayList arayalis = new ArrayList();

        NumberFormatInfo nfi = new NumberFormatInfo();

        ArrayList araytopsatis = new ArrayList();

        ArrayList araytopalis = new ArrayList();

            try

            {

                DovizKurlari dk = new DovizKurlari();



                nfi.CurrencyDecimalDigits = 4;

                nfi.NumberDecimalSeparator = ".";

                nfi.NumberGroupSeparator = ".";

                nfi.NumberGroupSizes = new int[] { 3 };

                double usdAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.USD, DovizKurlari.Tur.ForexBuying), nfi);

                double usdSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.USD, DovizKurlari.Tur.ForexSelling), nfi);

                double eurAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.EUR, DovizKurlari.Tur.ForexBuying), nfi);

                double eurSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.EUR, DovizKurlari.Tur.ForexSelling), nfi);

                // double jpyAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.JPY, DovizKurlari.Tur.ForexBuying), nfi);

                // double jpySatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.JPY, DovizKurlari.Tur.ForexSelling), nfi);

                double audAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.AUD, DovizKurlari.Tur.ForexBuying), nfi);

                double audSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.AUD, DovizKurlari.Tur.ForexSelling), nfi);

                double chfAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.CHF, DovizKurlari.Tur.ForexBuying), nfi);

                double chfSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.CHF, DovizKurlari.Tur.ForexSelling), nfi);

                double kwdAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.KWD, DovizKurlari.Tur.ForexBuying), nfi);

                double kwdSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.KWD, DovizKurlari.Tur.ForexSelling), nfi);

                double gbpAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.GBP, DovizKurlari.Tur.ForexBuying), nfi);

                double gbpSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.GBP, DovizKurlari.Tur.ForexSelling), nfi);



                arayalis.Add("1,0000");

                arayalis.Add(usdAlis);

               // lblUSDAlis.Text = arayalis[1].ToString();

                arayalis.Add(audAlis);

                //lblAUDAlis.Text = arayalis[2].ToString();

                arayalis.Add(chfAlis);

                //lblCHFAlis.Text = arayalis[3].ToString();



                arayalis.Add(kwdAlis);

               // lblKWDAlis.Text = arayalis[4].ToString();

                arayalis.Add(eurAlis);

               // lblEURAlis.Text = arayalis[5].ToString();

                arayalis.Add(gbpAlis);

               // lblGBPAlis.Text = arayalis[6].ToString();



                araysatis.Add("1,0000");

                araysatis.Add(usdSatis);

               // lblUSDSatis.Text = araysatis[1].ToString();

                araysatis.Add(audSatis);

               // lblAUDSatis.Text = araysatis[2].ToString();

                araysatis.Add(chfSatis);

               // lblCHFSatis.Text = araysatis[3].ToString();



                araysatis.Add(kwdSatis);

               // lblKWDSatis.Text = araysatis[4].ToString();

                araysatis.Add(eurSatis);

               // lblEURSatis.Text = araysatis[5].ToString();

                araysatis.Add(gbpSatis);

               // lblGBPSatis.Text = araysatis[6].ToString();





            }

            catch (Exception)

            {

            }

Daha sonra Hesapla butonuna tıkladığımızda yapılacak işlemlerimizi ekliyoruz.

try

            {

                //alış hesap

                string a = arayalis[cbParaBirimi.SelectedIndex].ToString();

                double myConverted = double.Parse(a);

                if (cbParaBirimi.SelectedIndex != 0)

                {

                    myConverted += Convert.ToDouble(araysatis[cbParaBirimi.SelectedIndex]) - Convert.ToDouble(arayalis[cbParaBirimi.SelectedIndex]);

                 }

                for (int i = 0; i < araysatis.Count; i++)

                {

                    string b = arayalis[i].ToString();

                    double myConverted2 = double.Parse(b);

                    if (i != 0)

                    {

                        myConverted2 += Convert.ToDouble(araysatis[i]) - Convert.ToDouble(arayalis[i]);

                    }

                    double t = double.Parse(txtDovizMiktari.Text);

                    double k = myConverted * t;

                    double p = k / myConverted2;

                    araytopalis.Add(p);

                }

                lblTATL.Text = Convert.ToDouble(araytopalis[0]).ToString("F2");

                lblTAUSD.Text = Convert.ToDouble(araytopalis[1]).ToString("F2");

                lblTAAUD.Text = Convert.ToDouble(araytopalis[2]).ToString("F2");

                lblTACHF.Text = Convert.ToDouble(araytopalis[3]).ToString("F2");

                lblTAKWD.Text = Convert.ToDouble(araytopalis[4]).ToString("F2");

                lblTAEUR.Text = Convert.ToDouble(araytopalis[5]).ToString("F2");

                lblTAGBP.Text = Convert.ToDouble(araytopalis[6]).ToString("F2");



                //satış hesap

                string x = araysatis[cbParaBirimi.SelectedIndex].ToString();

                double myConverted3 = double.Parse(x);

                if (cbParaBirimi.SelectedIndex != 0)

                {

                    myConverted3 -= Convert.ToDouble(araysatis[cbParaBirimi.SelectedIndex]) - Convert.ToDouble(arayalis[cbParaBirimi.SelectedIndex]);

                }

                for (int j = 0; j< arayalis.Count; j++)

                {

                    string b = araysatis[j].ToString();

                    double myConverted2 = double.Parse(b);

                    if (j != 0)

                    {

                        myConverted2 -= Convert.ToDouble(araysatis[j]) - Convert.ToDouble(arayalis[j]);

                    }

                    double t = double.Parse(txtDovizMiktari.Text);

                    double k = myConverted3 * t;

                    double p = k / myConverted2;

                    araytopsatis.Add(p);

                }

               

                lblTSTL.Text = Convert.ToDouble(araytopsatis[0]).ToString("F2");

                lblTSUSD.Text = Convert.ToDouble(araytopsatis[1]).ToString("F2");

                lblTSAUD.Text = Convert.ToDouble(araytopsatis[2]).ToString("F2");

                lblTSCHF.Text = Convert.ToDouble(araytopsatis[3]).ToString("F2");

                lblTSKWD.Text = Convert.ToDouble(araytopsatis[4]).ToString("F2");

                lblTSEUR.Text = Convert.ToDouble(araytopsatis[5]).ToString("F2");

                lblTSGBP.Text = Convert.ToDouble(araytopsatis[6]).ToString("F2");



                araytopalis.Clear();

                araytopsatis.Clear();

            }

            catch

            {

                MessageBox.Show("Bir Değer Girmelisiniz");

            }

Daha sonra 2. Formumuzun tasarımını oluşturuyoruz.

Ve Kurları Gör butonuna tıkladığımızdaki işlemleri gerçekleştiriyoruz.

Form2 frm = new Form2();

 frm.Show();

Şimdi ise Form2 deki işlemlerimize geçiyoruz.Global değişkenler ve Form2 nin load ın da yapılan işlemler şu şekildedir.

ArrayList araysatis = new ArrayList();

        ArrayList arayalis = new ArrayList();

        NumberFormatInfo nfi = new NumberFormatInfo();



try

            {

                DovizKurlari dk = new DovizKurlari();



                nfi.CurrencyDecimalDigits = 4;

                nfi.NumberDecimalSeparator = ".";

                nfi.NumberGroupSeparator = ".";

                nfi.NumberGroupSizes = new int[] { 3 };

                double usdAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.USD, DovizKurlari.Tur.ForexBuying), nfi);

                double usdSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.USD, DovizKurlari.Tur.ForexSelling), nfi);

                double eurAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.EUR, DovizKurlari.Tur.ForexBuying), nfi);

                double eurSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.EUR, DovizKurlari.Tur.ForexSelling), nfi);

                // double jpyAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.JPY, DovizKurlari.Tur.ForexBuying), nfi);

                // double jpySatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.JPY, DovizKurlari.Tur.ForexSelling), nfi);

                double audAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.AUD, DovizKurlari.Tur.ForexBuying), nfi);

                double audSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.AUD, DovizKurlari.Tur.ForexSelling), nfi);

                double chfAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.CHF, DovizKurlari.Tur.ForexBuying), nfi);

                double chfSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.CHF, DovizKurlari.Tur.ForexSelling), nfi);

                double kwdAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.KWD, DovizKurlari.Tur.ForexBuying), nfi);

                double kwdSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.KWD, DovizKurlari.Tur.ForexSelling), nfi);

                double gbpAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.GBP, DovizKurlari.Tur.ForexBuying), nfi);

                double gbpSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.GBP, DovizKurlari.Tur.ForexSelling), nfi);



                arayalis.Add("1,0000");

                arayalis.Add(usdAlis);

                lblUSDAlis.Text = arayalis[1].ToString();

                arayalis.Add(audAlis);

                lblAUDAlis.Text = arayalis[2].ToString();

                arayalis.Add(chfAlis);

                lblCHFAlis.Text = arayalis[3].ToString();



                arayalis.Add(kwdAlis);

                lblKWDAlis.Text = arayalis[4].ToString();

                arayalis.Add(eurAlis);

                lblEURAlis.Text = arayalis[5].ToString();

                arayalis.Add(gbpAlis);

                lblGBPAlis.Text = arayalis[6].ToString();



                araysatis.Add("1,0000");

                araysatis.Add(usdSatis);

                lblUSDSatis.Text = araysatis[1].ToString();

                araysatis.Add(audSatis);

                lblAUDSatis.Text = araysatis[2].ToString();

                araysatis.Add(chfSatis);

                lblCHFSatis.Text = araysatis[3].ToString();



                araysatis.Add(kwdSatis);

                lblKWDSatis.Text = araysatis[4].ToString();

                araysatis.Add(eurSatis);

                lblEURSatis.Text = araysatis[5].ToString();

                araysatis.Add(gbpSatis);

                lblGBPSatis.Text = araysatis[6].ToString();





            }

            catch (Exception)

            {

            }

Evet Bütün Herşey bu kadar. Kolay gelsin. 



Yorum yaz