ListView CheckBoxes Kullanımı ve Xml Web Servisler

Hiç yorum yok
Merhaba Arkadaşlar,


Bu bölümde listview üzerinde bulanan propertylerden CheckBoxes özelliğini kullanarak bir uygulama geliştiriyor olacağız.Asıl amacımız CheckBoxes kullanımına bakmak olacak fakat uygulamamız içinde ele alacağımız senaryoda xmlwebservislere,StreamWriter Sınıfına ,Xml WebConfig dosyası içindeki connectionstring sectionına bakıyor olacağız.

Uygulama içerisinde asıl itibari ile xml webservisden 'den dönen değerleri karşılama bu değerleri alıp işeleyip ListView CheckBoxes Kullanımına değinmek istedim.

Umarım faydalı olur.Uygulamanın sources dosyasını vermek verine uygulamanın tamamnını vererek
ilerliyor oalcağım.Sebebi uygulama içinden birden fazla sayfa olması ve bu sayfalar dışında servisde yapılan metodların bulunması

Servis1.asmx

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Configuration;
using System.Net;
using System.Data;
namespace SinanArslanlsvKullanimi
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {
        private string cnnstr = WebConfigurationManager.ConnectionStrings["baglantim"].ConnectionString;
 
        [WebMethod]
        public bool KullaniciVarmi(string KullaniciAdi, string Sifre)
        {
            bool sonuc = false;
            SqlConnection cnn = new SqlConnection(cnnstr);
            SqlCommand cmd = new SqlCommand("Select * from Kullanici where UserName=@UsName and Password=@Pass", cnn);
            cmd.Parameters.AddWithValue("@UsName", KullaniciAdi);
            cmd.Parameters.AddWithValue("@Pass", Sifre);
            try
            {
                if (cnn.State == ConnectionState.Closed)
                {
                    cnn.Open();
                }
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    sonuc = true;
                }
                rdr.Dispose();
            }
            catch (WebException ex)
            {
                string hata = ex.Message;
            }
            finally 
            {
                cnn.Close();
            }
            return sonuc;
        }
 
        [WebMethod]
        public DataSet KategoriGetir()
        {
            DataSet ds = new DataSet();
            using (SqlConnection cnn = new SqlConnection(cnnstr))
            {
                DataTable dt = new DataTable("Kategori");
                SqlDataAdapter adp = new SqlDataAdapter("Select * from Kategoriler", cnn);
                adp.Fill(dt);
                ds.Tables.Add(dt);
            }
            return ds;
        }
 
        [WebMethod]
        public DataSet UrunleriGetir(int type, int KategoriID,string UrunAdi)
        {
            DataSet ds = new DataSet();
            using (SqlConnection cnn = new SqlConnection(cnnstr))
            {
                SqlCommand cmd = new SqlCommand("UrunleriGetir", cnn);
                cmd.CommandType = CommandType.StoredProcedure;
 
                cmd.Parameters.AddWithValue("@type", type);
                cmd.Parameters.AddWithValue("@KategoriID", KategoriID);
                cmd.Parameters.AddWithValue("@UrunAdi", UrunAdi);
 
                DataTable dt = new DataTable("Urunler");
                SqlDataAdapter adp = new SqlDataAdapter(cmd);
                adp.Fill(dt);
                ds.Tables.Add(dt);
            }
            return ds;
        }
 
    }
}
 
================================================================
Form1 Kullanıcı Giriş
 
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 LsvKullanimi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
            ServisSaglayici.Service1 svc = new ServisSaglayici.Service1();
        private void Form1_Load(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
             ds=svc.KategoriGetir();
             cmbKategori.ValueMember = "CategoryID";
             cmbKategori.DisplayMember = "CategoryName";
             cmbKategori.DataSource = ds.Tables[0].DefaultView;
          
        }
 
        private void cmbKategori_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtKatID.Text = Convert.ToString(cmbKategori.SelectedIndex + 1);
            
        }
 
        private void btnGiris_Click(object sender, EventArgs e)
        {
            if (txtKullaniciAdi.Text == "" || txtSifre.Text == ""||txtKatID.Text=="")
            {
                MessageBox.Show("Tüm Alanlar Doldurulmalıdır");
            }
            else
            {
bool sonuc = svc.KullaniciVarmi(Kontrol.Temizle(txtKullaniciAdi.Text), Kontrol.Temizle(txtSifre.Text));
                if (sonuc)
                {
                    Form2 frm = new Form2(txtKatID.Text);
                    frm.Show();
                    this.Hide();
                }
                else
                {
                    MessageBox.Show("Kullanıcı Adi veya Şifre Hatalı");
                }
            }
        }
    }
}
 =========================================================
form 2 Verileri Listele Seç

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.IO;
 
namespace LsvKullanimi
{
    public partial class Form2 : Form
    {
        public string KategoriID { getset; }
        public Form2(string KatID)
        {
            KategoriID = KatID;
            InitializeComponent();
        }
        int tip = 1;
        ServisSaglayici.Service1 svc = new ServisSaglayici.Service1();
        private void Form2_Load(object sender, EventArgs e)
        {
            txtGelenID.Text = KategoriID;
            Doldur();
        }
 
        private void Doldur()
        {
            lsvSonuc.Items.Clear();
            DataSet ds = new DataSet();
            ds = svc.UrunleriGetir(tip, Convert.ToInt32(KategoriID),txtUrunAra.Text);
            DataTable dt = new DataTable();
            dt = ds.Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                ListViewItem item = new ListViewItem("Sec");
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    item.SubItems.Add(row[i].ToString());
                }
                lsvSonuc.Items.Add(item);
            }
        }
 
        private void btnHepsiniSec_Click(object sender, EventArgs e)
        {
            HepsiniSecSil(true);
        }
 
        private void HepsiniSecSil(bool deger)
        {
            for (int i = 0; i < lsvSonuc.Items.Count; i++)
            {
                lsvSonuc.Items[i].Checked = deger;
            }
        }
 
        private void btnHepsiniBirak_Click(object sender, EventArgs e)
        {
            HepsiniSecSil(false);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            int tip1 = 2;
            lsvSonuc.Items.Clear();
            DataSet ds = new DataSet();
            ds = svc.UrunleriGetir(tip1, Convert.ToInt32(txtGelenID.Text),txtUrunAra.Text);
            DataTable dt = new DataTable();
            dt = ds.Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                ListViewItem item = new ListViewItem("Sec");
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    item.SubItems.Add(row[i].ToString());
                }
                lsvSonuc.Items.Add(item);
            }
 
        }
 
        private void btnListeGetir_Click(object sender, EventArgs e)
        {// tüm liste getir
 
            Doldur();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {//UrunAdına Göre Getir
            int tip2 = 3;
            lsvSonuc.Items.Clear();
            DataSet ds = new DataSet();
            ds = svc.UrunleriGetir(tip2, Convert.ToInt32(txtGelenID.Text), txtUrunAra.Text);
            DataTable dt = new DataTable();
            dt = ds.Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                ListViewItem item = new ListViewItem("Sec");
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    item.SubItems.Add(row[i].ToString());
                }
                lsvSonuc.Items.Add(item);
            }
        }
 
        private void btnYazdir_Click(object sender, EventArgs e)
        {string  gelen1="";string  gelen2="";string  gelen3="";
            int secimsayisi = lsvSonuc.CheckedItems.Count;
            if (secimsayisi > 0)
            {
                for (int i = 0; i < secimsayisi; i++)
                {
                    ListViewItem secim = lsvSonuc.CheckedItems[i];
                   gelen1= secim.SubItems[1].Text.ToString();
                   gelen2 = secim.SubItems[2].Text.ToString();
                   gelen3=secim.SubItems[3].Text.ToString();
                }
                string dosyayolu =Application.StartupPath+"\\Dosya.txt";
                StreamWriter dosyayaz = new StreamWriter(dosyayolu);
                dosyayaz.WriteLine(gelen1+","+ gelen2+","+ gelen3);
                dosyayaz.Close();
                MessageBox.Show("Veriler Yazıldı");
            }
        }
    }
}





Video1 :


Video 2:


Video 3:



Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

Parallel For Kullanımı C#

3 yorum


Merhaba Arkadaşlar,

Bir yazılımcı için kodlamış olduğu bir programda en önemli unsurlardan birisi programın hızlı olmasıdır sanırım. En azından benim için öyle Bu yüzden bu sıralar çokça ihtiyaç duyduğum hızlı döngüler için standart for döngüsünden çok daha hızlı çalışan, yazılım hayatımıza .Net Framework 4.0 ile girmiş olan Parallel.for döngüsünden bahsetmeye karar verdim.
Kavraması ve uygulaması çok basit olan bu yapı yeri geldiğinde hayat kurtarabilmekte. Konuyla ilgili örneğimizde çok temel bir örnek üzerinden gidip bir konsol uygulası üzerinde for ve parallel.for arasındaki farkı göstermeye çalışacağım.





Calculator() isimli metodta yaptıklarımız açık. Aradaki farkı rahat bir şekilde görebilmemiz için döngüyü uzun tuttum sadece.
 



CalculatorParallel() adlı metodumuzda ise Calculator() adlı metodumuzun içerisindeki aynı işlemleri yaptık.Programımızı çalıştıralım ve System.Threading.Tasks isim uzayı altında bulunan paralel for döngümüs klasik for döngüsünden ne kadar hızlıymış görelim 





Arada hemen hemen 25 kat fark var görüldüğü gibi. Peki arka planda neler oluyor? İki ayrı metod için işlemcilerin çalışma yüzdelerine bakalım. Klasik for döngüsü için;




Sıra, paralel for döngüsünde;
  


Her iki resimde de sol üstte görüleceği gibi  alışkın olduğumuz for döngüsü bu işlem için işlemcimizin %23 ünü kullanırken paralel olarak işleyen for döngümüz işlemcimizin %100 ünü kulanmakta.
Evet arkadaşlar,böylece uzun süren döngülerimizi çok kolay bir şekilde çok daha hızlı işletebilmekteyiz.Tabii bunun foreach için olanı da var. Aynı mantık ile çalıştığı için burada ele almıyorum.Ayrıntılı bilgiyi MSDN den bulabilmeniz mümkün. Umarım faydalı olmuştur


Uygulama Kodları :


using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ForAndParallel
{
    class Program
    {
        static void Main(string[] args)
        {
            Calculator();
            CalculatorParallel();
            Console.ReadKey();
        }
        static void Calculator()
        {
            double sonuc = 0;
            Stopwatch sw = new Stopwatch();
            sw.Start();
            for (int i = 0; i < 999999999; i++)
            {
                sonuc += Convert.ToDouble(Math.Sin(i) / Math.Cos(i));
            }
            sw.Stop();
            Console.WriteLine("Paralel Olmayan İşlemin bitme süresi : " + sw.Elapsed.TotalMilliseconds.ToString());
        }
 
        static void CalculatorParallel()
        {
            double sonuc = 0;
            Stopwatch sw = new Stopwatch();
            sw.Start();
            Parallel.For(099999999, i =>
            {
                sonuc += Convert.ToDouble(Math.Sin(i) / Math.Cos(i));
            });
            sw.Stop();
            Console.WriteLine("Paralel İşlemin Tamamlanma Süresi : " + sw.Elapsed.TotalMilliseconds.ToString());
 
        }
    }
}

3 yorum :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

ASENKRON Programlama Giriş

2 yorum
Merhabalar Arkadaşlar, İlk yazımı sizlerle paylaşmanın heyecanı içerisindeyim. Açıkçası ilk yazımı hangi konuda yazmam gerektiği konusunda bir hayli düşündüm.Çünkü hem yararlı olması hem de anlatamsı kolay konu olması gerekmekteydi.Sonuç olarak c# programa dillerinin bence en büyük nimetlerinden birisi olan asenkron programanın c# 5.0 ile hayatımıza katılan ve senkron metodlarımızı asenkron hale getirmekte bizlere çok çok kolaylık sağlayan asnyc ve await keywordleri üzerinde durmaya ve konunun mantığını anlamaya yardımcı olacak çok temel bir örnek yazmakta karar kıldım.Umarım yararlı olur.  Öncelikle senkron ve asenkron programlama üzerinde duralım. Bilindiği gibi bir kod bloğu içerisinde metodlar yukarıdan aşağıya bir görev sırasında işlemleri gerçekleştirmektedir.Yukarıdaki metod işlemde iken aşağıdaki metoda geçilmez ve beklenir.Bu akış şekline senkron programlama denir.Bu programlama tekniğinin kavranışı ve takibi kolay olmasına rağmen örneğin uzun süren(input output gibi fiziki disk işlemleri,veritabanından büyük miktarda veri çekilmesi vb) işlemlerde kullanıcı arayüzümüz kilitlenir ve cevap veremez duruma gelmektedir.Bu soruna karşı Microsoft ‘un çözümü ise asenkron programlama.Asenkron programada ise bir kod parçası işlenirken aynı zamanda başka bir kod parçası da işlenebilir bu sayede kullanıcı programın bir parçasında işlem yaparken başka bir bölümünde de işlem yapabilir. Bu kadar ufak bir bilgi yeterli olduktan sonra örneğimize geçebiliriz. Örneğimizi bir Windows application olarak geliştiriyor olacağız.Bu örneğimizde farkı görebilmeniz için aynı kodları senkron ve asenkron çalıştırılması arasındaki farkları görebilmeniz için iki adet buton olacak.Aynı kodları bu butonlar aracılığı ile hem senkron hem async ve await keywordleri yardımıyla asenkron yürüteceğiz.Dizaynımız resimdeki gibi.



SENKRON KODLAR





Hello metodunun içeriğinde programı çalıştıran threadi 5 saniyeliğine durdurarak program arayüzünün 5 saniyeliğine kullanılamaz olmasını sağladık.Programı çalıştırıp senkron çalış butonuna basıldığında formu oynatmaya çalıştığımızda 5 saniyeliğine oynatamadığımızı,programın cevap vermediğini göreceksiniz

ASENKRON KODLAR




HelloAsync() metodunda yaptıklarımız, yeni bir task tipi oluşturup bu taskın içerisinde Hello() metodunu çağırmak.Planladığımız Hello() metodundaki arayüzü kullanılamaz hale getiren thread bekletme işlemini farklı bir task tipi içerisinde yaptığımız için kullanılıcı arayüzü kullanıcının bu 5 saniyelik süre içerisinde de kullanılabilir olmasını sağlamak.btnAsenron butonunun click eventinde gördüğümüz async anahtar kelimesi bu metodun içerisinde asenkron bir işlemin yapılacağı, metodun içerisindeki await anahtar kelimesi ile de bu keywordden sonra gelen metodun asenkron çağrılacağını CLR a bildirmektir.Programı çalıştırıp asenkron çalış butonuna bastığımızda ise programı çalıştıran threadimiz 5 saniyeliğine bekletilse dahi kullanıcı arayüzü farklı bir task tipi içerisinde işlem gördüğü için formu oynatmaya çalıştığımızda oynatabildiğimizi yani aslında arkada thread uyusa dahi programın bize cevap verdiğini göreceğiz. Sonuç olarak, asenkron programlama Windows application ve Windows phone uygulamaları için hayati önem taşımaktadır.Bu makalemizde üzerinde durmamamıza rağmen bir metodun asenkron olarak çalıştırılabilmesi için Task tipinden bir değer döndürmesi gerekmektedir.Task tipini arayı soğutmadan ele alırız.Okuduğunuz için çok teşekkür eder her türlü sorunuzu mailim üzerinden yollayabileceğiniz gibi yorumlara da yazabileceğinizi belirtmek isterim.Umarım verimli olmuştur.İyi kodlamalar


Uygulama Source :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace AsyncAwaitBlog
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btnSenkron_Click(object sender, EventArgs e)
        {
            Hello();
        }
 
        private void Hello()
        {
            Thread.Sleep(5000);//Threadi 5 saniye uyutarak programın çalışmasını durdurduk.
            MessageBox.Show("Merhaba!");
        }
 
        private Task HelloAsync()
        {
            return Task.Factory.StartNew(() =>
            {
                Hello();
            });
        }
 
        private async void btnAsenkron_Click(object sender, EventArgs e)
        {
          await HelloAsync();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
        
    }
}


Proje indir Mert Turan

2 yorum :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

Xml Nedir

Hiç yorum yok
Merhaba Arkadaşlar ;


Bu bölümde daha önceden xml web serviceleri anlatırken kısaca değindiğimiz xml'i ele alıp işliyor olacağız

Xml Nedir?

Bağımsız bir kuruluş olan W3C (World Wide Web Consortium) organizasyonu tarafından tasarlanan ve herhangi bir kurumun tekelinde bulunmayan XML (eXtensible Markup Language), kişilerin kendi sistemlerini oluşturabilecekleri, kendi etiketlerini tanımlayarak çok daha rahat ve etkin programlama yapabilecekleri ve bu belirlenen etiketleri kendi yapıları içerisinde standardize edebilecekleri esnek, genişleyebilir ve kolay uygulanabilir bir meta dildir.

Kullanmış olduğumuz xml


Dailymotion 'la yaşadığım sorun üzerine uygulamanın source kısmını paylaşıyorum.


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;
using System.Xml.XPath;
using System.Data.SqlClient;
using System.IO;
 
namespace XmlNedirNasilKullanilir
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string dosyayolu = Application.StartupPath + "\\Urunler.xml";
        private void btnVerioku_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            ds.ReadXml(dosyayolu);
            dgvSonuc.DataSource = ds.Tables["Urun"];
 
        }
 
        private void btnVeriAra_Click(object sender, EventArgs e)
        {
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(dosyayolu);
 
            XmlNode secilenNode = xmldoc.ChildNodes[1];
            foreach (XmlNode item in secilenNode)
            {
                if (item.Attributes["UrunID"].Value == "53")
                {
                    MessageBox.Show("Aranan Urun " + item.ChildNodes[0].InnerText + " \n" + item.ChildNodes[1].InnerText);
                    break;
                }
            }
        }
 
        private void btnxpat_Click(object sender, EventArgs e)
        {
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(dosyayolu);
 
            XmlNode secilennode = xmldoc.SelectSingleNode("Urunler/urun[@UrunID=53]");
 
            if (secilennode != null)
            {
                MessageBox.Show("Aranan Urun " + secilennode.ChildNodes[0].InnerText + " \n" + secilennode.ChildNodes[1].InnerText);
            
            }
        }
 
        private void btnVeriGuncelle_Click(object sender, EventArgs e)
        {
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(dosyayolu);
 
            XmlNode secilennode = xmldoc.SelectSingleNode("Urunler/urun[@UrunID=53]");
            if (secilennode != null)
            {
                secilennode.ChildNodes[0].InnerText = "Deneme";
                xmldoc.Save(dosyayolu);
                MessageBox.Show("Veri Güncellendi");
            }
            
            else {
                MessageBox.Show("Bir Hata oluştu");
            }
        }
 
        private void btnSil_Click(object sender, EventArgs e)
        {
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(dosyayolu);
 
            XmlNode secilennode = xmldoc.SelectSingleNode("Urunler/urun[@UrunID=53]");
            if (secilennode != null)
            {
                xmldoc.DocumentElement.RemoveChild(secilennode);
                xmldoc.Save(dosyayolu);
                MessageBox.Show("Silme İşlemi Başarılı");
            }
        }
 
        private void btnVeriEkle_Click(object sender, EventArgs e)
        {
            
            
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(dosyayolu);
 
            XmlElement eklenecekelement = xmldoc.CreateElement("urun");
            XmlAttribute ekatb = xmldoc.CreateAttribute("UrunID");
            ekatb.Value = "999";
            eklenecekelement.Attributes.Append(ekatb);
 
            XmlNode xadi = xmldoc.CreateNode(XmlNodeType.Element, "UrunAdi""");
            xadi.InnerText = "Deneme1";
            eklenecekelement.AppendChild(xadi);
 
            XmlNode xfiyat = xmldoc.CreateNode(XmlNodeType.Element, "Fiyat""");
            xfiyat.InnerText = "999";
            eklenecekelement.AppendChild(xfiyat);
 
            xmldoc.DocumentElement.AppendChild(eklenecekelement);
            xmldoc.Save(dosyayolu);
 
            MessageBox.Show("Ekleme İşlemi Başarılı");
            
        }
 
        private void btnXpathArama_Click(object sender, EventArgs e)
        {
            XPathDocument xmldoc = new XPathDocument(dosyayolu);
            XPathNavigator xnav = xmldoc.CreateNavigator();
            XPathNodeIterator secilenNode = xnav.Select("Urunler/urun/UrunAdi");
 
            string metin = "";
            while (secilenNode.MoveNext())
            {
                if (secilenNode.Current.InnerXml.StartsWith("S"))
                {
                    metin+=secilenNode.Current.InnerXml+"\n";
                    MessageBox.Show(metin);
                }
            }
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection cnn = new SqlConnection("Server=.;Database=KuzeyRuzgari;trusted_connection=true");
            SqlDataAdapter adp = new SqlDataAdapter("Select * from Urunler", cnn);
            DataTable dt = new DataTable("Urun");
            adp.Fill(dt);
            DataSet ds = new DataSet("Urunler");
            ds.Tables.Add(dt);
 
            FolderBrowserDialog fd = new FolderBrowserDialog();
            DialogResult dr = fd.ShowDialog();
 
            if (dr == DialogResult.OK)
            {
                ds.WriteXml(fd.SelectedPath + "\\SqldenXml.xml");
                MessageBox.Show("Veriler xmle yazıldı");
            }
            else
            {
                MessageBox.Show("Yer Secilmedi");
            }
        }
 
        private void btnxmltosql_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog fd = new FolderBrowserDialog();
            DialogResult dr = fd.ShowDialog();
 
            if (dr == DialogResult.OK)
            {
                string dosya = fd.SelectedPath + "\\SqldenXml.xml";
                if (File.Exists(dosya))
                {
                    SqlConnection cnn = new SqlConnection("Server=.;Database=KuzeyRuzgari;trusted_connection=true");
                    SqlDataAdapter adp = new SqlDataAdapter("Select * from Urunler", cnn);
                    SqlCommandBuilder ck = new SqlCommandBuilder(adp);
                    DataSet ds = new DataSet();
                    ds.ReadXml(dosya);
                    adp.Update(ds.Tables[0]);
                    MessageBox.Show("Veriler Veri Tabanına Eklendi");
                }
                else
                {
                    MessageBox.Show("Hata İle Karşılaşıldı");
                }
            }
            else
            {
                MessageBox.Show("Onaylanmadı");
            }
        }
 
    }
} 
 


Video 1 :

Xml Nedir Nasil Kullanilir Giris Videosu paylaşan: sinan-d-arslan-1

Video 2:

Xml Nedir Bolum 2 paylaşan: sinan-d-arslan-1

Video :3

Xml Nedir Bolum 3 paylaşan: sinan-d-arslan-1

Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

C# Basit Barcode okuma Programı

10 yorum
Merhaba Arkadaşlar ,

Bu bölümde basit şekilde bir barcode okuma programı yazıyor olacağız.projeyi indire bilmeniz ve kaynak kodlarına erişebilmeniz için aşağıdaki linklere tıklayarak projede kullanılan ddl dosyası ve fontları ayrıca proje source tarafını elde edebilirsiniz.Bu aşamada son olarak açacağınız proje üzerine gelip properties diyerek den  freamwork 4 e çekmeniz ve indirmiş olduğunuz font ve dll li proje referans edip eklemniz yeterli olacaktı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 BarcodeSamples
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btnCreateCode_Click(object sender, EventArgs e)
        {
            BarcodeLib.Barcode b = new BarcodeLib.Barcode();
 
            int genislik = Convert.ToInt32(txtWidth.Text);
            int yukseklik = Convert.ToInt32(txtHeight.Text);
            b.Alignment = BarcodeLib.AlignmentPositions.CENTER;
 
            BarcodeLib.TYPE type = BarcodeLib.TYPE.UNSPECIFIED;
            switch (cmbBarcodeTypes.SelectedItem.ToString())
            {
                case "UPC-A":
                    type = BarcodeLib.TYPE.UPCA;
                    break;
 
                case "UPC-E":
                    type = BarcodeLib.TYPE.UPCE;
                    break;
 
                case "UPC 2 Digit Ext.":
                    type = BarcodeLib.TYPE.UPC_SUPPLEMENTAL_2DIGIT;
 
                    break;
                case "UPC 5 Digit Ext.":
                    type = BarcodeLib.TYPE.UPC_SUPPLEMENTAL_5DIGIT;
 
                    break;
                case "EAN-13":
                    type = BarcodeLib.TYPE.EAN13;
 
                    break;
                case "JAN-13":
                    type = BarcodeLib.TYPE.JAN13;
 
                    break;
                case "EAN-8":
                    type = BarcodeLib.TYPE.EAN8;
 
                    break;
                case "ITF-14":
                    type = BarcodeLib.TYPE.ITF14;
 
                    break;
                case "Codabar":
                    type = BarcodeLib.TYPE.Codabar;
 
                    break;
                case "PostNet":
                    type = BarcodeLib.TYPE.PostNet;
 
                    break;
                case "Bookland/ISBN":
                    type = BarcodeLib.TYPE.BOOKLAND;
 
                    break;
                case "Code 11":
                    type = BarcodeLib.TYPE.CODE11;
 
                    break;
                case "Code 39":
                    type = BarcodeLib.TYPE.CODE39;
 
                    break;
                case "Code 39 Extended":
                    type = BarcodeLib.TYPE.CODE39Extended;
 
                    break;
                case "Code 93":
                    type = BarcodeLib.TYPE.CODE93;
 
                    break;
                case "LOGMARS":
                    type = BarcodeLib.TYPE.LOGMARS;
 
                    break;
                case "MSI":
                    type = BarcodeLib.TYPE.MSI_Mod10;
 
                    break;
                case "Interleaved 2 of 5":
                    type = BarcodeLib.TYPE.Interleaved2of5;
 
                    break;
                case "Standard 2 of 5":
                    type = BarcodeLib.TYPE.Standard2of5;
 
                    break;
                case "Code 128":
                    type = BarcodeLib.TYPE.CODE128;
 
                    break;
                case "Code 128-A":
                    type = BarcodeLib.TYPE.CODE128A;
 
                    break;
                case "Code 128-B":
                    type = BarcodeLib.TYPE.CODE128B;
 
                    break;
                case "Code 128-C":
                    type = BarcodeLib.TYPE.CODE128C;
 
                    break;
                case "Telepen":
                    type = BarcodeLib.TYPE.TELEPEN;
 
                    break;
                case "FIM":
                    type = BarcodeLib.TYPE.FIM;
 
                    break;
                default:
                    MessageBox.Show("Barkod türü belirtin !");
                    break;
            }
            try
            {
                if (type != BarcodeLib.TYPE.UNSPECIFIED)
                {
                    pcBarcode.Image = b.Encode(type, txtInsertCode.Text, genislik, yukseklik);
                }
 
                pcBarcode.Width = pcBarcode.Image.Width;
                pcBarcode.Height = pcBarcode.Image.Height;
 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}

Proje Dosyası indir
Dll indir
Font indir

10 yorum :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.