Fonksiyon etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Fonksiyon etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

21 Kasım 2017 Salı

C sharp verilen bir dizide N den fazla tekrarlanan elemanı silme







Liste lst ve sayı N verildiğinde, her lst sayısını en çok N defa içeren, yeniden sıralama yapmadan yeni bir liste oluşturun. Örneğin, N = 2 ve giriş [1,2,3,1,2,1,2,3] ise, [1,2,3,1,2] 'yi alırsınız, bir sonraki [1,2 ], sonuçta 1 ve 2 sonuçta 3 kez olduğundan listeye eklenmez. Ardından 3 2. kez gelir ve dizinin son durumu [1,2,3,1,2,3] olur

Örnek fonksiyon aşağıdaki gibidir:


        public static int[] DeleteNthItem(int[] arr, int x)
        {
            List result = new List();
            for (int i = 0; i < arr.Length; i++)
            {
                if (result.Count(s => s.Equals(arr[i])) < x)
                    result.Add(arr[i]);
            }
            return result.ToArray();
        }


veya


        public static int[] DeleteNth(int[] arr, int x)
        {
            var result = new List();
            foreach (var item in arr)
            {
                if (result.Count(i => i == item) < x)
                    result.Add(item);
            }
            return result.ToArray();
        }





Verilen bir dizinin sol ve sağ tarafının toplamı eşit olan indeksini bulma





Bir dizi tam sayı verilecektir. Göreviniz bu diziyi alıp N'nin solundaki tamsayıların toplamının N sağındaki tam sayıların toplamına eşit olduğu bir dizinin N indeksini bulmanızdır. Bunun gerçekleşmesini sağlayacak bir dizi verilmemişse fonksiyonumuz -1 dönecek.

Örneğin:

Diyelim ki {1,2,3,4,3,2,1} dizisi verildi:
Dizinin 3. konumunda indeksin sol tarafının toplamı ({1,2,3}) ve indeksin sağ tarafının toplamı ({3,2, 1}) ikisi de eşittir 6. Bu durumda fonksiyon dizinin indeksi olarak 3 döndürür.

Başka birine bakalım.
Size {1,100,50, -51,1,1} dizisi verildi:
Dizinin 1. konumunda, dizinin sol tarafının toplamı ({1}) ve dizinin sağ tarafının toplamı ({50, -51,1,1}) toplamı 1 dir. Her iki tarafın toplamı 1 dir. Bu durumda fonksiyon dizinin indeksi olarak 1 döndürür.

Örnek fonksiyon aşağıdaki gibidir:


       
        public static int FindEvenIndex(int[] arr)
        {
            int left = 0,right = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                right = 0;
                for (int j = i+1; j < arr.Length; j++)
                {
                    right += arr[j];
                }
                if (left == right)
                    return i;
                else left += arr[i];
            }

            return -1;
        }



4 Haziran 2017 Pazar

C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Şifre Güncelleme Formu Oluşturma

KONU : C Sharp Uygulamalar - C Sharp formda kullanıcı adı ve şifresini kullanarak kullanıcı şifre güncelleme formu oluşturma örneği. Kullanıcı şifre güncelleme formunun amacı sisteme giriş yapmış bir kullanıcının, kullanıcı adı ve şifresini kullanarak yeni şifre almasını sağlamaktır. Eğer kullanıcı veri tabanında kayıt ise otomatik olarak yeni girdiği şifre güncellenecek. Eğer kullanıcı veri tabanında kayıtlı değilse “Böyle bir kullanici yok veya şifreyi yanlış girdiniz!” hatasını verilecek. Öncelikle access veri tabanında bir kullanıcılar isminde id,kullanıcı adı ve şifresini listeleyeceğimiz tablo oluşturmamız gerekiyor. Daha sonra c sharp da form uygulama oluşturarak aşağıdaki kodları yazarak kullanıcı giriş formunu oluşturalım.
ETİKETLER: c sharp access - c sharp şifre güncelleme - c# şifre güncelleme - c sharp access şifre güncelleme - c sharp access kullanıcı girişi - c sharp kullanıcı - c sharp access giriş - c sharp veri tabanı giriş ekranı - c sharp giriş formu - c sharp giriş formu oluşturma - c sharp kullanıcı adı - c sharp şifre - c sharp access şifre - kullanıcı giriş formu oluşturma






UYGULAMAYI İNDİR




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace C_Sharp_Form_Kullanici_Giris_Formu
{
    public partial class SifreDegistir : Form
    {
          /// Bağlantı yapılacak veri tabanı ve kaynak dosyanın ismi
        OleDbConnection baglanti =
 new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Veritabanim.accdb");

        public SifreDegistir()
        {
            InitializeComponent();
        }

        ///  Access veri tabanına bağlantı açma metodu
        public void BaglantiAc()
        {
            try
            {
                if (baglanti.State != ConnectionState.Open)
                {
                    baglanti.Open();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Veri tabanına bağlantı yapılamıyor.", "Hata",
 MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        /// Girilen Kullanıcıyı arama metodu. Burada sorgu cümleciği tanımlayarak sorgunun nasıl
        /// yapılacağını belirliyoruz. Eğer veri tabanında giriş yapmaya çalışan kullanıcının bilgileri 
        /// var ise bu metot bulunan kullanıcının id değerini dönecek.
        public int KullaniciAra()
        {
            int id = -1;

            try
            {

                BaglantiAc();
                string sorgu = "Select * from kullanicilar where kullaniciadi='"
 + txtKullaniciAdi.Text + "' And sifre='" + txtKullanilanSifre.Text + "' ";

                OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
             
                OleDbDataReader okuyucu = komut.ExecuteReader();
               
                if (okuyucu.Read())
                {
                    id = int.Parse(okuyucu["id"].ToString());
                }

                baglanti.Close();

            }
            catch (Exception)
            {
                MessageBox.Show("Veri tabanına bağlantı yapılamıyor.","HATA",
 MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return id;
        }

        private bool SifreGuncelle(string sifre, int id)
        {
            bool onay = false;
         
            try
            {

                BaglantiAc();
            
                OleDbCommand komut = new OleDbCommand();
           
                komut.Connection = baglanti;
               
                //ID değerine göre Kayıt Değiştirme sorgusu belirleniyor
                komut.CommandText = "update kullanicilar set sifre=@Sifre where id=@Id";
                
                //Parametrelerin hangi alanlardan veri alacağı belirleniyor
                komut.Parameters.AddWithValue("@Sifre", sifre);
                komut.Parameters.AddWithValue("@Id", id);

                if (komut.ExecuteNonQuery() == 1)
                {
                    onay = true;
                }
                else
                {
                    onay = false;
                }

                baglanti.Close();

            }
            catch (Exception )
            {
                MessageBox.Show("İşlem yapılamadı","HATA",
 MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return onay;
        }

        private void btnSifreDegistir_Click(object sender, EventArgs e)
        {
            int kullaniciVarMi = KullaniciAra();

            if (kullaniciVarMi > 0)
            {
                string kullanilanSifre, yeniSifre, yeniSifreTekrar;

                kullanilanSifre = (txtKullanilanSifre.Text).Trim();
                yeniSifre = (txtYeniSifre.Text).Trim();
                yeniSifreTekrar = txtYeniSifreTekrar.Text;

                ///yeni girilen şifler boş olmamalı ve
                ///yeni şifre ve tekra girilen yeni şifre birbirinin aynısı olmalı
                if (yeniSifre == "" || yeniSifreTekrar == "" || yeniSifre != yeniSifreTekrar)
                {
                    MessageBox.Show("Şifreler birbirini tutmuyor. Lütfen tekrar giriş yapınız", 
"HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    txtYeniSifre.Text = "";
                    txtYeniSifreTekrar.Text = "";
                }
                else
                {
                   bool islemTamamlandiMi=  SifreGuncelle(yeniSifre, kullaniciVarMi);
                   if (islemTamamlandiMi)
                   {
                       MessageBox.Show("Şifreniz Güncellendi", "BİLGİ", 
MessageBoxButtons.OK, MessageBoxIcon.Information);
                   }
                   else
                   {
                       MessageBox.Show("Şifre Güncelleme Başarısız", "HATA", 
MessageBoxButtons.OK, MessageBoxIcon.Error);
                   }
                }
            }
            else
            {
                MessageBox.Show("Böyle bir kullanici yok veya şifreyi yanlış girdiniz!", 
"HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

    }
}

UYGULAMAYI İNDİR


C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Giriş Formu Oluşturma


C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Şifre Güncelleme Formu Oluşturma


C Sharp Uygulamalar Kitaplık Programı


C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Listbox Kutusunda Listeleme


C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Combobox Kutusunda Listeleme


C Sharp Form Uygulamar XML Veri Ekleme XML Veri Silme XML Veri Güncelleme XML Veri Tabanı


C Sharp Form Uygulamalar XML Yazma XML Okuma XML Veri Tabanı (XML Reader WML Writer )

22 Mart 2016 Salı

C Sharp Sos Oyunu 5x5 Rastgele Otomatik Doldurma










using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace C_Sharp_Sos_5x5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Random rastgele = null;
        int satır_sayısı = 5;
        int sütun_sayısı = 5;
        TextBox[,] alanlar;

        private void Form1_Load(object sender, EventArgs e)
        {
            rastgele = new Random();

            alanlar = new TextBox[satır_sayısı, sütun_sayısı];
            for (int i = 0; i < satır_sayısı; i++)
            {
                for (int j = 0; j < sütun_sayısı; j++)
                {

                    TextBox yenitextBox = new TextBox();
                    yenitextBox.Location = new System.Drawing.Point(50 + j * 25, i * 25 + 50);
                    yenitextBox.Name = i + " * " + j;
                    yenitextBox.Size = new System.Drawing.Size(20, 20);
                    yenitextBox.TabIndex = 1;
                    yenitextBox.BorderStyle = BorderStyle.FixedSingle;

                    yenitextBox.KeyUp += new KeyEventHandler(yenitextBox_KeyUp);
                    this.Controls.Add(yenitextBox);

                    alanlar[i, j] = yenitextBox;

                }
            }
        }

        void yenitextBox_KeyUp(object sender, KeyEventArgs e)
        {
            (sender as TextBox).Text = (sender as TextBox).Text.ToUpper();
            if ((sender as TextBox).Text.Length > 1)
                (sender as TextBox).Text = (sender as TextBox).Text.Substring(0,1);
            else
            {
                bool oyunbitti = false;
                oyunbitti = SosOlanlariBoya(oyunbitti);

            }
        }

        private bool SosOlanlariBoya(bool oyunbitti)
        {
            for (int i = 0; i < satır_sayısı; i++)
            {
                for (int j = 0; j < sütun_sayısı; j++)
                {
                    if (alanlar[i, j].Text.ToUpper() == "S")
                    {
                        try
                        {
                            if (alanlar[i, j + 1].Text.ToUpper() == "O" && alanlar[i, j + 2].Text.ToUpper() == "S")
                            {
                                oyunbitti = true;
                                alanlar[i, j].BackColor = Color.Lime;
                                alanlar[i, j + 1].BackColor = Color.Lime;
                                alanlar[i, j + 2].BackColor = Color.Lime;
                            }
                        }
                        catch (Exception)
                        {
                        }

                        try
                        {
                            if (alanlar[i + 1, j + 1].Text.ToUpper() == "O" && alanlar[i + 2, j + 2].Text.ToUpper() == "S")
                            {
                                oyunbitti = true;
                                alanlar[i, j].BackColor = Color.Lime;
                                alanlar[i + 1, j + 1].BackColor = Color.Lime;
                                alanlar[i + 2, j + 2].BackColor = Color.Lime;
                            }
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            if (alanlar[i + 1, j].Text.ToUpper() == "O" && alanlar[i + 2, j].Text.ToUpper() == "S")
                            {
                                oyunbitti = true;
                                alanlar[i, j].BackColor = Color.Lime;
                                alanlar[i + 1, j].BackColor = Color.Lime;
                                alanlar[i + 2, j].BackColor = Color.Lime;
                            }
                        }
                        catch (Exception)
                        {
                        }
                        try
                        {
                            if (alanlar[i + 1, j - 1].Text.ToUpper() == "O" && alanlar[i + 2, j - 2].Text.ToUpper() == "S")
                            {
                                oyunbitti = true;
                                alanlar[i, j].BackColor = Color.Lime;
                                alanlar[i + 1, j - 1].BackColor = Color.Lime;
                                alanlar[i + 2, j - 2].BackColor = Color.Lime;
                            }
                        }
                        catch (Exception)
                        {
                        }


                    }
                }
            }


            return oyunbitti;
        }


        private void btnYeniOyun_Click(object sender, EventArgs e)
        {

            for (int i = 0; i < satır_sayısı; i++)
            {
                for (int j = 0; j < sütun_sayısı; j++)
                {
                    alanlar[i, j].Text = "";
                    alanlar[i, j].BackColor = Color.LightGray;
                    if (rastgele.Next(2) == 0)
                    {
                        alanlar[i, j].Text = "S";
                    }
                    else
                    {
                        alanlar[i, j].Text = "O";
                    }
                }
            }

            SosOlanlariBoya(false);
      
        }
    }
}



2 Mayıs 2014 Cuma

C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Giriş Formu Oluşturma




KONU : C Sharp Uygulamalar - C Sharp formda kullanıcı adı ve şifresi girişi için kullanıcı giriş formu oluşturma örneği. Kullanıcı giriş formunu amacı giriş ekranından kullanıcı adı ve şifre girişi yapana kullanıcının kayıtlı kullanıcı olup olmadığını tespit etmek. Eğer kullanıcı veri tabanında kayıt ise otomatik olarak giriş kabul edilecek. Eğer kullanıcı veri tabanında kayıtlı değilse “Hatalı kullanıcı girişi!” hatasını verilecek. Öncelikle access veri tabanında bir kullanıcılar isminde id,kullanıcı adı ve şifresini listeleyeceğimiz tablo oluşturmamız gerekiyor. Daha sonra c sharp da form uygulama oluşturarak aşağıdaki kodları yazarak kullanıcı giriş formunu oluşturalım.
ETİKETLER: c sharp access - c sharp access kullanıcı girişi - c sharp kullanıcı - c sharp access giriş - c sharp veri tabanı giriş ekranı - c sharp giriş formu - c sharp giriş formu oluşturma - c sharp kullanıcı adı - c sharp şifre - c sharp access şifre - kullanıcı giriş formu oluşturma






UYGULAMAYI İNDİR




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace C_Sharp_Form_Kullanici_Giris_Formu
{
    public partial class Form1 : Form
    {
        OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=veritabani.accdb");


        public Form1()
        {
            InitializeComponent();
        }

        /// Tamam butonu tıklandığında çalışacak olan metot.
        private void btnTamam_Click(object sender, EventArgs e)
        {
            bool kullaniciVarMi = KullaniciAra();

            //Eğer kullanıcı veritabanında var ise dönen değer 0 dan büyük olacak
            // ve bu değer veribanında id değerine eşit olacak.
            if (kullaniciVarMi)
            {
                MessageBox.Show("Sisteme Girişiniz Kabul Edildi...", "BİLGİ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                
                //şifre girme işlemi başarılı bu kullanıcı giriş formunu kapatalım
                this.Close();

                // Kodun bu kısmında giriş yapıldıktan sonra açılacak pencereyi girmemiz gerekiyor
            }
            else
            {
                MessageBox.Show("Hatalı Kullanıcı Girişi", "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        /// Access veri tabanına bağlantı açma metodu
        public void BaglantiAc()
        {
            try
            {
                if (baglanti.State == ConnectionState.Open)
                    MessageBox.Show("Bağlantı zaten açık", "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                else
                    baglanti.Open();
            }
            catch (Exception )
            {
                MessageBox.Show("Bağlantı yapılamadı", "HATA",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }

        }

        /// Girilen Kullanıcıyı arama metodu. Burada sorgu cümleciği tanımlayarak sorgunun nasıl
        /// yapılacağını belirliyoruz. Eğer veri tabanında giriş yapmaya çalışan kullanıcının bilgileri 
        /// var ise metot true dönecek.
        public bool KullaniciAra()
        {
            bool kullaniciVarMi = false;

            try
            {

                BaglantiAc();
                
                string sorgu = "Select * from kullanicilar where kullaniciadi='" + txtKullaniciAdi.Text + "' and sifre='" + txtSifre.Text + "' ";

                OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
               
                OleDbDataReader okuyucu = komut.ExecuteReader();

                if (okuyucu.Read())
                {
                    kullaniciVarMi = true;
                }

                baglanti.Close();

            }
            catch (Exception)
            {
                MessageBox.Show("Access veri tabanına bağlanılamadı.", "HATA",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }

            return kullaniciVarMi;
        }

      

    }
}






UYGULAMAYI İNDİR


C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Giriş Formu Oluşturma


C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Şifre Güncelleme Formu Oluşturma


C Sharp Uygulamalar Kitaplık Programı


C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Listbox Kutusunda Listeleme


C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Combobox Kutusunda Listeleme


C Sharp Form Uygulamar XML Veri Ekleme XML Veri Silme XML Veri Güncelleme XML Veri Tabanı


C Sharp Form Uygulamalar XML Yazma XML Okuma XML Veri Tabanı (XML Reader WML Writer )

10 Şubat 2014 Pazartesi

C Sharp Form Grafik Nesnesi Kullanarak Forma Yazı Yazdırma Örnekleri



KONU : C Sharp ( C# ) form uygulamalar grafik nesnesini kullanarak form üzerine yazı yazma, c# forma yazı yazdırma, csharp timer kullanımı, c sharp forma grafiksel görseller ekleme ve timer kullanımı.






UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Grafik_nesnesi_ile_yazı_yaz
{

    public partial class Form1 : Form
    {
        private System.Windows.Forms.Timer timer;

        private System.Windows.Forms.Button button;
        int tiklama = 0;

        public Form1()
        {
            // form ile ilgili ayarları yapma

            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Grafik nesnesinin çalışması için gerekli ayarlar

            timer.Enabled = false;

            timer.Interval = 100;
        }

        private void button_Click(object sender, EventArgs e)
        {

            // Grafik nesnesi ile yazma, tek tıklamalarda duracak

            // Grafik nesnesi ile yazma, çift tıklamalarda başlayacak

            if (tiklama % 2 == 0)
            {
                timer.Enabled = true;

                IsmıYaz();

                button.Text = "Durdur";
            }
            else
            {
                timer.Enabled = false;

                button.Text = "Yazdır";
              
            }

            tiklama++;

        }

        private void IsmıYaz()
        {
            //bu fonksiyon ile grafik nesnesi kullanarak form üzerinde

            //rasgele bir noktaya tırnak içinde verilen yazıyı yazdıracağız

            Graphics g;

            g = this.CreateGraphics();

            Random rdm = new Random();//raagele noktalar oluşturmak için bu

            //rdm random sınıfının bir örneğini kullancağız
            try
            {
                g.DrawString("Bu bir c sharp uygulamasıdır", new Font(FontFamily.Families[rdm.Next(100)], 30,
        FontStyle.Bold), new SolidBrush(Color.FromArgb(rdm.Next(255),
        rdm.Next(255), rdm.Next(255))), rdm.Next(this.Width), rdm.Next(this.Height));
            }
            catch
            { }
        }

        private void timer_Tick(object sender, EventArgs e)
        {
            IsmıYaz();

            //bu metod ile timerın her tick olayında ekranın herhangi bir 

            //yerine rastgele bir font da Fetih Köksal yazısı eklenecek.
        }
    }
}

UYGULAMAYI İNDİR

12 Ocak 2014 Pazar

C Sharp Form Uygulamar XML Veri Ekleme XML Veri Silme XML Veri Güncelleme XML Veri Tabanı



KONU : C Sharp ( C# ) xml write reader uygulaması , xml yazma ve okuma uygulama örnekleri, C Sharp xml document ,xmlnode, xml veri kaydetme, silme, güncelleme, c sharp xml veri silme, kaydetme, güncelleme uygulaması





UYGULAMAYI İNDİR




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace XmlDocument_xmlnode_xml_veri_kaydetme_silme_guncelleme
{
    public partial class Form1 : Form
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

            Application.Run(new Form1());
        }

        public Form1()
        {
            InitializeComponent();
        }

        //bir dosyayı bellege almak için kullanılır

        XmlDocument xmldocument = null;

        void CalisanlariGetir()
        {
            //çalışanlar listesini temizle

            lstb_calisanlar.Items.Clear();

            foreach (XmlNode calisan in xmldocument.DocumentElement.ChildNodes)
            {
                if (calisan.Attributes[0].InnerText == null || calisan.Attributes[0].InnerText.Trim().Equals("")) continue;

                lstb_calisanlar.Items.Add(calisan.ChildNodes[0].InnerText+" "+calisan.ChildNodes[1].InnerText);
            }
        }

        string xmldocument_dosya = "Calisanlar.xml";

        private void Form1_Load(object sender, EventArgs e)
        {
            // xmlDocument e yeni bir örnek oluşturulur.

            xmldocument = new XmlDocument();

            xmldocument.Load(xmldocument_dosya);

            //Çalışanlar listesi doldurulur.

            CalisanlariGetir();
        }

        //Bir çalışan güncellenmek istendiğinde çalışanın bilgileri bu node tutulacak

        XmlNode guncellenecekNod = null;


        private void btnKaydet_Click(object sender, EventArgs e)
        {
            if (guncellenecekNod == null)
            {
                //yeni bir kayıt yapılacak

                //bir örnek node alınır

                XmlNode yeninod = xmldocument.DocumentElement.ChildNodes[0].Clone();


                //ID attribute degeri

                yeninod.Attributes[0].InnerText = Guid.NewGuid().ToString();


                //Ad degeri

                yeninod.ChildNodes[0].InnerText = txtAd.Text;


                //soyad degeri

                yeninod.ChildNodes[1].InnerText = txtSoyad.Text;

                yeninod.ChildNodes[2].InnerText = npdMaas.Value.ToString();

                xmldocument.DocumentElement.AppendChild(yeninod);

                CalisanlariGetir();
            }
            else
            {
                //guncelleme yapılacak

                guncellenecekNod.ChildNodes[0].InnerText = txtAd.Text;

                guncellenecekNod.ChildNodes[1].InnerText = txtSoyad.Text;

                guncellenecekNod.ChildNodes[2].InnerText = npdMaas.Value.ToString();

                xmldocument.Save(xmldocument_dosya);

                xmldocument.Load(xmldocument_dosya);

                CalisanlariGetir();

                guncellenecekNod = null;
            }    
        }

        private void btnYazdir_Click(object sender, EventArgs e)
        {
            xmldocument.Save(xmldocument_dosya);

            xmldocument.Load(xmldocument_dosya);//veriyi tekrar çektik

            CalisanlariGetir();
        }

        private void listBox1_DoubleClick(object sender, EventArgs e)
        {
            // seçilen elemanın indexi 0 dan küçükse çık

            if (lstb_calisanlar.SelectedIndex < 0)
                return;

            guncellenecekNod = xmldocument.DocumentElement.ChildNodes[lstb_calisanlar.SelectedIndex + 1];

            txtAd.Text = guncellenecekNod.ChildNodes[0].InnerText;

            txtSoyad.Text = guncellenecekNod.ChildNodes[1].InnerText;

            npdMaas.Value = Convert.ToDecimal(guncellenecekNod.ChildNodes[2].InnerText);
        }

        private void silToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int indeks = lstb_calisanlar.SelectedIndex;

            if (indeks > -1)
            {
                DialogResult cevap = MessageBox.Show("Silmek istediğinize emin misiniz?", "Soru", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                if (cevap == DialogResult.Yes)
                {
                    xmldocument.DocumentElement.RemoveChild(xmldocument.DocumentElement.ChildNodes[indeks + 1]);

                    xmldocument.Save(xmldocument_dosya);

                    xmldocument.Load(xmldocument_dosya);

                    CalisanlariGetir();

                    txtAd.Text = "";

                    txtSoyad.Text = "";

                    npdMaas.Value = 0;
                }
            }
        }

    
    }
}


UYGULAMAYI İNDİR

29 Aralık 2013 Pazar

C Sharp Uygulamalar Rastgele Seçilen Şehir İsmi Bulmaca Oyunu Oyna



KONU : C Sharp Uygulamalar - C Sharp ( C# ) şehir ismi bulmaca oyunu uygulaması. textbox ve label kullanarak kelimeyi harflere bölme. Label nesnesinin backcolor ve forecolor özelliklerini kullanarak oyun alanı oluşturma.





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace C_Sharp_Textbox_Label_Uygulamasi
{
    public partial class Form1 : Form
    {
        string[] sehirlerListesi = { "İstanbul", "Ankara", "İzmir", "Adana", "Adıyaman", 
                                       "Afyonkarahisar", "Ağrı", "Aksaray", "Amasya", "Antalya",
                                       "Ardahan", "Artvin", "Aydın", "Balıkesir", "Bartın", "Batman",
                                       "Bayburt", "Bilecik", "Bingöl", "Bitlis", "Bolu", "Burdur", 
                                       "Bursa", "Çanakkale", "Çankırı", "Çorum", "Denizli", 
                                       "Diyarbakır", "Düzce", "Edirne", "Elazığ", "Erzincan", 
                                       "Erzurum", "Eskişehir", "Gaziantep", "Giresun", "Gümüşhane", 
                                       "Hakkari", "Hatay", "Iğdır", "Isparta", "Kahramanmaraş", 
                                       "Karabük", "Karaman", "Kars", "Kastamonu", "Kayseri",
                                       "Kırıkkale", "Kırklareli", "Kırşehir", "Kilis", "Kocaeli",
                                       "Konya", "Kütahya", "Malatya", "Manisa", "Mardin", "Mersin",
                                       "Muğla", "Muş", "Nevşehir", "Niğde", "Ordu", "Osmaniye", "Rize",
                                       "Sakarya", "Samsun", "Siirt", "Sinop", "Sivas", "Şırnak",
                                       "Tekirdağ", "Tokat", "Trabzon", "Tunceli", "Şanlıurfa", "Uşak",
                                       "Van", "Yalova", "Yozgat", "Zonguldak" };
  
        string bulunacakSehirIsmi = "";
        int bulunanHarfSayisi = 0;
        int kalanHak = 4;
        Random rastgele;


        public Form1()
        {
            InitializeComponent();
        }

        private void btnOyunuBaslat_Click(object sender, EventArgs e)
        {
            bulunanHarfSayisi = 0;
            btnHarfGir.Enabled = true;
            btnTahminEt.Enabled = true;
            lblGirilenHarfler.Text = "";
            kalanHak = 4;
            lblKalanHak.Text = kalanHak.ToString();

            YeniSehirSec();

            grpOyunAlani.Controls.Clear();

            for (int i = 0; i < bulunacakSehirIsmi.Length; i++)
            {
                Label label = new Label();
                label.Location = new Point(20*i+30,20);
                label.Text = bulunacakSehirIsmi[i].ToString();
                label.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.50F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(162)));
                label.Size = new System.Drawing.Size(15, 20);
                label.BackColor = Color.Red;
                label.ForeColor = Color.Red;
                grpOyunAlani.Controls.Add(label);
            }
        }

        private void btnHarfGir_Click(object sender, EventArgs e)
        {
           
            bool harfVarMi = false;

            if (txtHarf.Text.Length != 1)
            {
                MessageBox.Show("Lütfen tek harf giriniz.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                if (lblGirilenHarfler.Text.Contains(txtHarf.Text))
                {
                    MessageBox.Show("Bu harfi daha önce girdiniz.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                    txtHarf.Text = "";
                    txtHarf.Focus();

                    return;
                }

                foreach (Control item in grpOyunAlani.Controls)
                {
                    if (item is Label)
                    {
                        Label label = item as Label;
                        if (label.Text.ToUpper() == txtHarf.Text.ToUpper())
                        {
                            label.ForeColor = Color.Black;
                            label.BackColor = Color.Lime;
                            harfVarMi = true;
                            bulunanHarfSayisi++;
                        }
                    }
                }
            }

            if (!harfVarMi)
            {
                kalanHak--;

                lblKalanHak.Text = kalanHak.ToString();

                if (kalanHak == 0)
                {
                    btnHarfGir.Enabled = false;
                    btnTahminEt.Enabled = false;
                    MessageBox.Show("Oyun Bitti. Kaybettiniz. Yeni Oyun için yeni kelime giriniz. \n Cevap : " + bulunacakSehirIsmi, "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

           
            lblGirilenHarfler.Text += txtHarf.Text + "  ";
          


            if (bulunanHarfSayisi == bulunacakSehirIsmi.Length)
            {
                btnHarfGir.Enabled = false;
                btnTahminEt.Enabled = false;
                MessageBox.Show("Oyun Bitti. Kazandınız. Yeni Oyun için yeni kelime giriniz.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            txtHarf.Text = "";
            txtHarf.Focus();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            btnHarfGir.Enabled = false;
            btnTahminEt.Enabled = false;
            rastgele = new Random();

            this.AcceptButton = btnHarfGir;
        }

        private void YeniSehirSec()
        {
            int rastgeleSayi = rastgele.Next(0, sehirlerListesi.Length);

            bulunacakSehirIsmi = sehirlerListesi[rastgeleSayi];
        }

        private void btnTahminEt_Click(object sender, EventArgs e)
        {
            if (bulunacakSehirIsmi.ToUpper() == txtKelime.Text.ToUpper())
            {
                foreach (Control item in grpOyunAlani.Controls)
                {
                    if (item is Label)
                    {
                        Label label = item as Label;
                        label.ForeColor = Color.Black;
                        label.BackColor = Color.Lime;
                    }
                }
                MessageBox.Show("Oyun Bitti. Tebrikler Kazandınız. Yeni Oyun için yeni kelime giriniz.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Oyun Bitti. Kaybettiniz. Yeni Oyun için yeni kelime giriniz. \n Cevap : " + bulunacakSehirIsmi, "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            btnHarfGir.Enabled = false;
            btnTahminEt.Enabled = false;
        }



    }
}

  


C Sharp WPF Uygulaması
UYGULAMAYI İNDİR

8 Temmuz 2013 Pazartesi

C Sharp Form Uygulamalar Tam EkranEkran Koruyucu Yapma



KONU : C Sharp Uygulamalar ( C# ) form da dinamik grafik sınıfını kullanarak ekran koruyucu yapma, c# da ekran koruyucu yapmak, Grafik nesnesini kullanarak c sharp da ekran koruyucu yapmak
ETİKETLER: csharp ekran koruyucu - C# ekran koruyucu - ekran koruyucu indir - ekran koruyucu - ekran koruyucu programı - ekran koruyucu yapma - ekran koruyucu uygulama - ekran koruyucu uygulaması - ekran koruyucu örnekleri





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ekrankoruyucu
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            g = this.CreateGraphics();
        }

        string[] isimler={"onur","ECE","Fatih","hakan","ismet","ebru"};
        
        Random rdm = new Random();

        Color[] renkler = { Color.Black, Color.Yellow, Color.Tomato, Color.SpringGreen, Color.Maroon };
        
        PointF nokta = new PointF();
        
        Font yazi = new Font("Verdana", 20, FontStyle.Italic);

        private void Form1_Load(object sender, EventArgs e)
        {

        }
      
        //grafik nesnesini ekrana rastgele yazı yazdırmak için kullanacağım

        Graphics g = null;
        
        private void timer1_Tick(object sender, EventArgs e)
        {
            string isim=isimler[rdm.Next(0,isimler.Length)];
        
            float yaziGenisligi=g.MeasureString(isim,yazi).Width;
            
            float yaziYuksekligi = g.MeasureString(isim, yazi).Height;
            
            nokta.X = rdm.Next(10,Convert.ToInt16(this.ClientSize.Width-yaziGenisligi));
            
            nokta.Y = rdm.Next(10, Convert.ToInt16(this.ClientSize.Height - yaziYuksekligi));
            
            Color renk=renkler[rdm.Next(0,renkler.Length)];
            
            g.DrawString(isim, yazi, new SolidBrush(renk), nokta);

        }

        private void çıkışToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // sağ tıklayınca meu strip açılsın ve çıkış seçeneği aktif olsun

            this.Close();
        }

        private void Form1_MouseClick(object sender, MouseEventArgs e)
        {
            //ekran üzerinde  mouse a sağ tıklanınca menustring görünür olsun

            if (e.Button == MouseButtons.Right)
                contextMenuStrip1.Visible = true;
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            
            if(e.KeyCode == Keys.F4) 
                e.Handled = true; 
            
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
           // if (e.CloseReason == CloseReason.TaskManagerClosing || e.CloseReason == CloseReason.UserClosing)
           //     e.Cancel = true;

            if (e.CloseReason == CloseReason.TaskManagerClosing)
                e.Cancel = true;
        }
    }
}


UYGULAMAYI İNDİR

25 Mayıs 2013 Cumartesi

C Sharp Uygulamaları İskambil Kağıt Dağıtma Örnek Uygulama



KONU : C Sharp Uygulamalar - C Sharp ( C# ) form uygulamalar iskambil kağıtları karma ve dağıtma. İskambil kağıtlarını form üzerinde picturebox nesnesi ile gösterme. Oyuncu Kağıt görsellerini form üzerinde sıralama ve yerleştirme. İskambil kağıt oynama alanı oluşturma.
ETİKETLER: c sharp iskambil - c# iskambil - c# iskambil oyunu - c# pişti oyunu - c# pişti - c# ile pişti - c# batak oyunu - c# batak oyunu -c sharp kağıt oyun alanı - oyun alanı oluşturma- kağıt oyunları - picturebox - resimleri bölme - resimleri rastgele dağıtma.



UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace iskambilOyun
{
    public partial class Form1 : Form
    {
        #region Global değişkenler
        ArrayList resimler = new ArrayList();
        ArrayList kartlar = new ArrayList();
        ArrayList etiketler = new ArrayList();
        int[] oyunEl = new int[52];
        int deste = 20, el = 5;
        Label[] lblPuan;
        int acikKartSayisi = 0;
        int[] xx = new int[4];
        int[] yy = new int[4];

        #endregion

        #region Form1
        public Form1()
        {
            InitializeComponent();
        }
        #endregion

        #region Form u yukle
        private void Form1_Load(object sender, EventArgs e)
        {
            resimleriOlustur();
            Dagit_Click(sender, e);
            kartlariSirala();
            ekranaYukle();
            elPuanları();
            ayniOlanKartlar();
        }
        #endregion

        #region Yeni oyun Başlat
        private void yeniOyunToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Temizle();
            resimleriOlustur();
            Dagit_Click(sender, e);
            kartlariSirala();
            ekranaYukle();
            elPuanları();
            ayniOlanKartlar();
        }
        #endregion

        #region Ekranı temizle
        private void Temizle()
        {
            for (int i = 0; i < deste; i++)
            {
                ((PictureBox)kartlar[i]).Dispose();
            }
            for (int i = 0; i < 8; i++)
            {
                ((Label)etiketler[i]).Dispose();
            }
            acikKartSayisi = 0;
        }
        #endregion

        #region Kartları Dağıt
        private void Dagit_Click(object sender, EventArgs e)
        {
            ArrayList kagitlar = new ArrayList();
            kagitlar.Clear();
            kartlar.Clear();
            etiketler.Clear();
            int x = 375, y = 50, kart = 0, random;
            Random rdn = new Random();
            for (int i = 0; i < 4; i++)
            {
                Label lbl = new Label();
                lbl.Name = i.ToString();
                xx[i] = x - 100;
                yy[i] = y + 115;
                lbl.Location = new Point(x - 100, y + 115);
                etiketler.Add(lbl);
                this.Controls.Add(lbl);
                for (int j = 0; j < el; j++)
                {
                    PictureBox pcb = new PictureBox();
                    pcb.Name = kart.ToString();
                    pcb.Size = new Size(73, 98);
                    pcb.Location = new Point(x, y);
                    pcb.Click += new EventHandler(pcb_Click);
                    pcb.BringToFront();
                    x -= 25;

                    random = rdn.Next(0, 52);
                    while (kagitlar.Contains(random))
                        random = rdn.Next(0, 52);
                    kagitlar.Add(random);
                    kartlar.Add(pcb);
                    oyunEl[kart++] = random;

                    //pcb.Image = (Image)resimler[random];
                    this.Controls.Add(pcb);
                }

                if (i != 1)
                    y += 200;
                if (i == 1)
                    x = 600;
                if (i == 2)
                    x = 375;
                if (i == 0)
                    x = 135;
            }
        }
        #endregion

        #region Kart resimlerini olustur
        void resimleriOlustur()
        {
            Bitmap resim = new Bitmap(1, 1);
            Graphics gr = null;
            //Bu Bitmap için grafik nesnesi oluştur
            int x = 0, y = 0, w = 73, h = 98;
            for (int i = 0; i < 4; i++)
            {
                for (int k = 0; k < 13; k++)
                {
                    Rectangle seçili_alan = new Rectangle(x, y, w, h);
                    //Seçili alan büyüklüğünde bir Bitmap oluştur
                    resim = new Bitmap(seçili_alan.Width, seçili_alan.Height);
                    //Bu Bitmap için grafik nesnesi oluştur
                    gr = Graphics.FromImage(resim);
                    //Picture Box içindeki resmi yeni resmin 0,0 noktasına çiz
                    gr.DrawImage(pictureBox1.Image, 0, 0, seçili_alan, GraphicsUnit.Pixel);
                    //Yeni resmi pictureBox içine ata
                    resimler.Add(resim);
                    x += 73;
                }
                y += 98;
                x = 0;
            }
            gr.Dispose();
        }
        #endregion

        #region Tıklanan kartı ortaya al
        void pcb_Click(object sender, EventArgs e)
        {
            PictureBox pcb = (PictureBox)sender;
            pcb.Location = new Point(325, 250);
            pcb.BringToFront();
            int kartNo = int.Parse(pcb.Name);
            int lblNo = 0;
            if (kartNo < el && kartNo >= 0)
                lblNo = 0;
            else
                if (kartNo < 2 * el && kartNo >= el)
                    lblNo = 1;
                else
                    if (kartNo < 3 * el && kartNo >= 2 * el)
                        lblNo = 2;
                    else
                        lblNo = 3;

            Label lbl = ((Label)etiketler[lblNo]);
            int lblToplam = int.Parse(lbl.Text.Substring(14));
            int kartPuan = 0;
            if (oyunEl[kartNo] % 13 == 0)
                kartPuan = 11;
            else
                if (oyunEl[kartNo] % 13 > 9)
                    kartPuan = 10;
                else
                    kartPuan = oyunEl[kartNo] % 13 + 1;
            lblToplam -= kartPuan;
            lbl.Text = "Toplam Puan = " + lblToplam.ToString();
            acikKartSayisi--;
            DialogResult c = DialogResult.None;
            if (acikKartSayisi == 0)
                c = MessageBox.Show("Yeni oyun başlasın mı?", "Yeni Oyun", MessageBoxButtons.YesNo);
            if (c == DialogResult.Yes)
                yeniOyunToolStripMenuItem_Click(sender, e);
            else if (c == DialogResult.No)
                Close();

        }
        #endregion

        #region Kartları Sırala
        void kartlariSirala()
        {
            ArrayList oyun = new ArrayList();
            for (int i = 0; i < 4; i++)
            {
                for (int k = 0; k < el; k++)
                    oyun.Add(oyunEl[i * el + k]);
                oyun.Sort();
                for (int k = 0; k < el; k++)
                    oyunEl[i * el + k] = int.Parse(oyun[k].ToString());
                oyun.Clear();
            }
        }
        #endregion

        #region Kartları Göster
        void ekranaYukle()
        {
            for (int i = 0; i < deste; i++)
            {
                PictureBox pcb = (PictureBox)kartlar[i];
                pcb.Image = (Image)resimler[oyunEl[i]];
                acikKartSayisi++;
            }
        }
        #endregion

        #region Puanları Hesapla
        private void elPuanları()
        {
            int toplamPuan = 0, kartPuan = 0;

            for (int i = 0; i < 4; i++)
            {
                for (int k = 0; k < el; k++)
                {
                    if (oyunEl[i * el + k] % 13 == 0)
                        kartPuan = 11;
                    else
                        if (oyunEl[i * el + k] % 13 > 9)
                            kartPuan = 10;
                        else
                            kartPuan = oyunEl[i * el + k] % 13 + 1;
                    toplamPuan += kartPuan;
                }
                Label lbl = (Label)etiketler[i];
                lbl.Text = "Toplam Puan = " + toplamPuan.ToString();
                toplamPuan = 0;
            }
        }
        #endregion

        #region Puanları Hesapla
        private void ayniOlanKartlar()
        {
            string aynısıvar = "";
            int aynı = 1;
            int name = 4;
            for (int j = 0; j < 4; j++)
            {
                string etiket = "";
                aynısıvar = "";

                for (int i = 0; i < el; i++)
                {
                    if (aynısıvar.IndexOf((oyunEl[5 * j + i] % 13).ToString()) < 0)
                        for (int k = i + 1; k < el; k++)
                        {
                            if (oyunEl[5 * j + i] % 13 == oyunEl[5 * j + k] % 13)
                            {
                                aynı++;
                                aynısıvar = (oyunEl[5 * j + 1] % 13).ToString() + " ";
                            }
                        }
                    if (aynı > 1)
                        etiket += aynı.ToString() + " tane " + (oyunEl[5 * j + i] % 13 + 1).ToString() + " ";
                    aynı = 1;
                }
                if (etiket == "")
                    etiket += "Aynı Olan Kart Yok";
                else
                    etiket += " var";

                Label lblet = new Label();
                lblet.Name = name.ToString();
                lblet.Location = new Point(xx[j], yy[j] + 30);
                lblet.Text = etiket;
                etiketler.Add(lblet);
                this.Controls.Add(lblet);
                name++;
            }
        }
        #endregion

        private void denemeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            List< Image > parcaResimler = new List< Image >();
            Bitmap resim;
            Graphics gr = null;
            Image alinanResim = Image.FromFile(@"C:\alinan.jpg");
            int sutunSayisi = 2;
            int satirSayisi = 5;
            int x = 0;
            int y = 0;
            for (int i = 0; i < satirSayisi; i++)
            {
                for (int k = 0; k < sutunSayisi; k++)
                {
                    Rectangle seçili_alan = new Rectangle(x, y, alinanResim.Width / sutunSayisi, alinanResim.Height / satirSayisi);
                    //Seçili alan büyüklüğünde bir Bitmap oluştur
                    resim = new Bitmap(seçili_alan.Width, seçili_alan.Height);
                    //Bu Bitmap için grafik nesnesi oluştur
                    gr = Graphics.FromImage(resim);
                    //Picture Box içindeki resmi yeni resmin 0,0 noktasına çiz
                    gr.DrawImage(alinanResim, 0, 0, seçili_alan, GraphicsUnit.Pixel);
                    //Yeni resmi parcaResimler içine image olarak kaydet
                    parcaResimler.Add(resim);
                    x += alinanResim.Width / sutunSayisi;
                }
                y += alinanResim.Height / satirSayisi;
                x = 0;
            }
            gr.Dispose();

            x = 30;
            y = 30;


            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    PictureBox pcb = new PictureBox();

                    pcb.Size = new Size(alinanResim.Width / sutunSayisi, alinanResim.Height / satirSayisi);
                    pcb.Location = new Point(x, y);
                    pcb.Click += new EventHandler(pcb_Click);
                    pcb.BringToFront();
                    pcb.Image = parcaResimler[i * 5 + j];
                    x += 50;
                    y += 50;
                    this.Controls.Add(pcb);
                }
            }

        }

    }
}


UYGULAMAYI İNDİR

20 Mart 2013 Çarşamba

C Sharp Form Uygulamalar XML Yazma XML Okuma XML Veri Tabanı (XML Reader WML Writer )



KONU : C Sharp ( C# ) xml write reader uygulaması , xml yazma ve okuma uygulama örnekleri, c sharp xml veri tabanı oluşturma, c sharp form personel listesi oluşturma.





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace XmlWriterReader
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            //Formda kullanılacak elemanları ayarla
        }

        // Personeller için jenerik bir list oluştur

        List< Personeller > personeller = new List< Personeller >();


        private void buton_Ekle_Click(object sender, EventArgs e)
        {
            //Personel ekleme alanıda girilen personeli

            //jenerik listeye ekle

            Personeller personel = new Personeller();

            personel.Ad = txtAd.Text;

            personel.Soyad = txtSoyad.Text;

            personel.Tel = txtTel.Text;

            personeller.Add(personel);

            //Personeli ekledikten sonra textbox ları temizle

            txtSoyad.Text = txtAd.Text = txtTel.Text = "";

            ListeyiGuncelle();
        }


        void ListeyiGuncelle()
        {
            //Personelleri listeme alanında bulunan listeyi

            //temizleyip güncelle

            listBox1.Items.Clear();

            listBox1.Items.AddRange(personeller.ToArray());
        }


        // Personellerin ad, soyad ve telefon bilgilerinin tutulacağı

        // dosyanın ismi

        string dosya = "personeller.xml";

        void XmleYaz(List< Personeller > personeller)
        {
            //dosyayı yazacak nesne

            XmlTextWriter yazici = new XmlTextWriter(dosya, System.Text.Encoding.Unicode);

            yazici.Formatting = Formatting.Indented;

            //herbir child node bir öncekinin altına yazılsın

            yazici.Indentation = 3;//ne kadar içe kayacak: Ad,Soyad,Tel

            yazici.WriteStartDocument();

            yazici.WriteStartElement("Personeller");


            // Jenerik Personler listesinde bulunanları XML documanına yaz veya kaydet

            foreach (Personeller personel in personeller)
            {
                yazici.WriteStartElement("Personel");

                //yazici.WriteAttributeString("ID", Guid.NewGuid().ToString());

                yazici.WriteElementString("Ad", personel.Ad);

                yazici.WriteElementString("Soyad", personel.Soyad);

                yazici.WriteElementString("Tel", personel.Tel);

                yazici.WriteEndElement();
            }

            yazici.WriteEndElement();

            yazici.WriteEndDocument();

            yazici.Close();
        }


        private void buton_Kaydet_Click(object sender, EventArgs e)
        {
            //XML e verleri Kaydetme 

            XmleYaz(personeller);

            MessageBox.Show("İşlem tamamdır...");
        }


        private void buton_Veriyi_Guncelle_Click(object sender, EventArgs e)
        {
            // Listeyi güncelleme, XML dokumanı okuyarak, personleler listesini güncelleme

            XmlTextReader okuyucu = new XmlTextReader(dosya);

            personeller.Clear();

            Personeller personel = null;

            while (okuyucu.Read())
            {
                //string isim = okuyucu.Name;
                if (okuyucu.NodeType == XmlNodeType.Element)
                {
                    personel = new Personeller();

                    okuyucu.ReadToFollowing("Ad");

                    personel.Ad = okuyucu.ReadInnerXml();


                    okuyucu.ReadToFollowing("Soyad");

                    personel.Soyad = okuyucu.ReadInnerXml();


                    okuyucu.ReadToFollowing("Tel");

                    personel.Tel = okuyucu.ReadInnerXml();


                    personeller.Add(personel);

                }
            }

            okuyucu.Close();

            ListeyiGuncelle();

        }

        public class Personeller
        {
            //personeller sınıfı, personlein ad,soyad e tel no sunu tutmak için kullanılacak

            public string Ad { get; set; }

            public string Soyad { get; set; }

            public string Tel { get; set; }


            //personel.ToString() çağrıldığında gelecek olan bilgiyi değiştir

            public override string ToString()
            {
                return this.Ad + " \t" + this.Soyad + " \t: \t" + this.Tel;
            }
        }
    }
}


UYGULAMAYI İNDİR