#Post Title #Post Title #Post Title

Csharp ile email Gönderme

Bu yazımda sizlere C# ile email gönderme işleminin sadece kodlarını yazacağım arkadaşlar herhangi bir sorunuz olursa hem mail adresimden hem de buradan sorularınızı sorabilirsiniz.. İşte kodlar ve programın ekran görüntüsü:



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.Net.Mail;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Text.RegularExpressions;
namespace gymsoftware
{
    public partial class email : Form
    {
        public email()
        {
            InitializeComponent();
        }

     
        MySqlConnection baglan = new MySqlConnection("server=;database=;user=;password=;");
     
     
     

        private void email_Load(object sender, EventArgs e)
        {
            baglan.Open();

         
            MySqlCommand kmm = new MySqlCommand("select x  from y", baglan);
            MySqlDataAdapter da = new MySqlDataAdapter();
            da.SelectCommand = kmm;
            DataTable dt = new DataTable();
            da.Fill(dt);
            comboTo.DataSource = dt;
            comboTo.ValueMember = "x";
         
            comboTo.DisplayMember = "y";
       

            baglan.Close();
        }
     
        private void buttonsend_Click(object sender, EventArgs e)
        {
            try
            {
                string smtp = "";
                if (combosmtp.Text == "Gmail")
                    smtp = "smtp.gmail.com";
                else if (combosmtp.Text == "Hotmail")
                    smtp = "smtp.live.com";

                SmtpClient client = new SmtpClient(smtp, 587);
                client.Credentials = new System.Net.NetworkCredential(textBoxFrom.Text, textPass.Text);
                MailMessage mymail = new MailMessage();
                mymail.To.Add(new MailAddress(comboTo.SelectedValue.ToString()));
                mymail.From = new MailAddress(textBoxFrom.Text);
                mymail.Subject = textsub.Text;
                mymail.Body = textmail.Text;
                client.EnableSsl = true;
                client.Send(mymail);
            }
            catch (Exception) { MessageBox.Show("Connection establishment failed, check your mail address or password,please.!"); }

        }
        public bool IsValidEmail(string email)
        {
         
            string pattern = @"^[-a-zA-Z0-9][-A-Za-z0-9_@.'][-.a-zA-Z0-9][-A-Za-z0-9_@.']*@[-.a-zA-Z0-9]+(\.[-.a-zA-Z0-9]+)*\.
    (com|edu|info|gov|int|mil|net|org|biz|name|museum|coop|aero|pro|tv|[a-zA-Z]{2})$";
         
            Regex check = new Regex(pattern, RegexOptions.IgnorePatternWhitespace);
         
            bool valid = false;

       
            if (string.IsNullOrEmpty(email))
            {
                valid = false;
            }
            else
            {
                valid = check.IsMatch(email);
            }
         
            return valid;
        }


        private void buttonconnect_Click(object sender, EventArgs e)
        {
            if(combosmtp.Text==""){MessageBox.Show("Select your mail server");}
            else if (textPass.Text == "") { MessageBox.Show("Type your password"); }
            else
            {
                bool a = IsValidEmail(textBoxFrom.Text);
                if (a == false) MessageBox.Show("Invalid E-Mail");
                else
                {
                    groupmail.Enabled = true;
                    ovalShape2.Enabled = true;
                    textfrom.Text = textBoxFrom.Text;

                }
            }
        }

        private void buttonexit_Click(object sender, EventArgs e)
        {
            DialogResult cevap;
            cevap = MessageBox.Show("Are you sure you are exit?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (cevap == DialogResult.Yes) { Application.Exit(); }
         
        }
    }
}

[ Read More ]

ListBox ile Alışveriş Sepeti


Bildiğiniz üzere listbox nesnesi alt alta satırların girilebildiği birçok özelliğe sahip bir nesnedir.  
listsepet.item : Listbox daki nesnelerimizle ilgili her işlemi yapmaya yarar
listsepet.Items.Add : Listbox'a satır eklemek icin kullanırız ve eklenen her satır string türünde olmalıdır.
listsepet.Items.Clear : Listbox nesnemizi temizlemeye yarar.
listsepet.Items.Count : Listbox'da kac item oldugunu gösterir dolayısıyla döngülerde işimize yarar.

Bu kucuk bilgilendirmeyi yaptıkdan sonra yukarıda gösterilen resimin kodunu paylasayım sizlerle pek acıklama yapmadan kodu yapıstırsamda yorum olarak her türlü soruyu sorabilirsiniz tabii tavsiyem kopyala yapıstır yapmadan incelemenızdı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 MySql.Data;
using MySql.Data.MySqlClient;
namespace admin_paneli
{
    public partial class urunler : Form
    {
        public urunler()
        {
            InitializeComponent();
        }
        MySqlConnection bagln = new MySqlConnection("server=ip adres;allow user variables=true;database=db adı;user="kullanıcı" ;password=;");
        private void urunler_Load(object sender, EventArgs e)
        {// burada sayfa ilk acıldıgında datagridview ve comboBox nesnlerimize yuklenecek bilgiler kodlanıyor
            listsepet.Text = "";
            bagln.Open();
            MySqlCommand kmm = new MySqlCommand("select * from urunler", bagln);
            MySqlDataAdapter da = new MySqlDataAdapter();
            da.SelectCommand = kmm;
            DataTable dt = new DataTable();
            da.Fill(dt);
            comboBox1.DataSource = dt;
            comboBox1.DisplayMember = "urunadi";
            comboBox1.ValueMember = "urunadi";

          
            string sql = "Select * from urunler";
            MySqlDataAdapter adaptor = new MySqlDataAdapter(sql, bagln);

            DataSet memet = new DataSet();
            adaptor.Fill(memet, "xx");
            dataurunler.DataSource = memet.Tables[0];
            
        
                
            bagln.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MySqlConnection baglan = new MySqlConnection("server=;database=dbname;user=;password=;");
            baglan.Open();
            string sql = "Select * from urunler where urunadi like '%" +txturunbul.Text+ "%'"; // ürün araması
            MySqlDataAdapter adaptor = new MySqlDataAdapter(sql, baglan);
            DataSet memet = new DataSet();
            adaptor.Fill(memet, "xx");
            dataurunler.DataSource = memet.Tables[0];
            
            baglan.Close();
        }
        int toplamurunadedi = 0;
        int toplamfiyat = 0;
        private void btnurunekle_Click(object sender, EventArgs e)
        {
            if (txturunfiyat.Text == "") { MessageBox.Show("Choose at least one product..!"); }

            else if (numericUpDown1.Value==0){ MessageBox.Show("You cannot buy 0 number of product)");}
            else
            {
                int tutar = Convert.ToInt32(txturunfiyat.Text) * Convert.ToInt32(numericUpDown1.Value);
                listsepet.Items.Add("Product Name:" + comboBox1.Text + " Number of Prod. :" + numericUpDown1.Value.ToString() + " Unit Price:" + txturunfiyat.Text + " Total : " + tutar + "TL");
                toplamfiyat += tutar;
                toplamurunadedi += Convert.ToInt32(numericUpDown1.Value);
            }
            numericUpDown1.Value = 0;
        }

       

        private void btnhesapla_Click(object sender, EventArgs e)
        {
            txttoplamfiyat.Text = toplamfiyat.ToString();
            txttoplamurun.Text = toplamurunadedi.ToString();
        }

        private void btnkaydet_Click(object sender, EventArgs e)
        {
            if (msktc.Text == "") { MessageBox.Show("Please Enter your ID number.."); }
            else{
            bagln.Open();

      MySqlCommand km = new MySqlCommand("update borclar set borc= borc+'" + toplamfiyat + "'where tcno='" + msktc.Text + "'",bagln);
      MySqlCommand kk = new MySqlCommand("update borclar set uruntoplam= uruntoplam+'" + toplamurunadedi + "'where tcno='" + msktc.Text + "'", bagln);
     
            km.ExecuteNonQuery();
            kk.ExecuteNonQuery();
            
            bagln.Close();
            MessageBox.Show("You totally bought  " + toplamurunadedi + "  number of product");
            MessageBox.Show("You paid totally " + toplamfiyat + " TL.  We wish to see you again :) ");
        
            }

            listsepet.Items.Clear();
            txttoplamurun.Clear();
            
            txttoplamfiyat.Clear();
          
            txturunfiyat.Clear();
            }
        private void btniptal_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Your shopping has cancelled...");
            listsepet.Items.Clear();
            txttoplamurun.Clear();
           
            txttoplamfiyat.Clear();
           
            txturunfiyat.Clear();
            toplamurunadedi = 0;
           toplamfiyat = 0;
        }

        private void button3_Click(object sender, EventArgs e) //Back butonu
        {
            adminanaekran addm = new adminanaekran();
            addm.Show();
            this.Close();
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            MySqlConnection baglan = new MySqlConnection("server=;database=;user=;password=;");
            baglan.Open();
            MySqlCommand mm = new MySqlCommand("select urunfiyati from urunler where urunadi='" + comboBox1.Text + "'", baglan);
            MySqlDataReader read = mm.ExecuteReader();
            while (read.Read())
            {
                txturunfiyat.Text = read[0].ToString(); // ComboBox'ta o an secili olan ürünün fiyatı cekiliyor
            }
            baglan.Close();
        }

        private void btnremove_Click(object sender, EventArgs e)
        {
            int i;
            for (i = listsepet.SelectedIndices.Count - 1; i >= 0; i--)
            {
             
                listsepet.Items.RemoveAt(listsepet.SelectedIndices[i]); // Sectigimiz elemanları remove butonuyla //silmemizi sağlar
            }
        }

        
    
      
        
    }
}





[ Read More ]

Datagridview kayıtları Excele Aktarma

Bir önceki yazımızda yeni kullanıcı ve kaydetme işlemlerini gördük şimdi ise bu kaydettiğimiz kullanıcıları nasıl Microsoft Excel'e yollayacagımızı görelim.





Resmin sağ tarafında bulunan Excel ikonuna tıkladığımız zaman çalışacak kodumuza bakalım;



private void WrdExcl(DataGridView myData, string dosyaadi)
{
    string cikti = "";
    // Export titles:
    string baslik = "";

    for (int j = 0; j < myData.Columns.Count; j++)
        baslik = baslik.ToString() + Convert.ToString(myData.Columns[j].HeaderText) + "\t";
    cikti += baslik + "\r\n";
    // Export data.
    for (int i = 0; i < myData.RowCount - 1; i++)
    {
        string stLine = "";
        for (int j = 0; j < myData.Rows[i].Cells.Count; j++)
            stLine = stLine.ToString() + Convert.ToString(myData.Rows[i].Cells[j].Value) + "\t";
        cikti += stLine + "\r\n";
    }
    Encoding utf16 = Encoding.GetEncoding(1254);
    byte[] uret = utf16.GetBytes(cikti);
    FileStream fs = new FileStream(dosyaadi, FileMode.Create);
    BinaryWriter bw = new BinaryWriter(fs);
    bw.Write(uret, 0, uret.Length); //write the encoded file
    bw.Flush();
    bw.Close();
    fs.Close();
}

private void btnWord_Click(object sender, EventArgs e)
{
    SaveFileDialog sss = new SaveFileDialog();
    sss.Filter = "Word Documents (*.doc)|*.doc";
    sss.dosyaadi = "export.doc";
//Excel icin  "Excel Sheets(*.xls

|*.xls
)"
    if (sss.ShowDialog() == DialogResult.OK)
    {

        WrdExcl(dataGridView1, sss.dosyaadi); //kendi datagridview nesnenizin ismini girin
    }
}




[ Read More ]

CSharp.Net ile Kullanıcı Ekleme, Kaydetme

Öncelikle formumuza gerekli olan nesneleri ekliyoruz bu nesneler sizin dizaynınıza göre değişiklik gösterebilir. Ben aşağıdaki resimde görüldüğü üzere bir form tasarladım;



-Bize kolaylık saglaması açısından bir listeleme fonksiyonu tanımlıyoruz. Bu fonksiyon ile veritabanımızdan bilgileri çekip datagridview nesnemiz ile göstereceğiz ve her ekleme silme işleminde bu fonksiyonu yeniden çağırarak yeniden listeleme işlemini gerçekleştirmiş olacağız.

void listele()
{
MySqlConnection baglan = new MySqlConnection("server=local veya uzak baglantı adresi;database=(database isminiz);user=kullanıcı adı;password=******;");
baglan.Open();
string sql = "Select * from kullanicilar";
MySqlDataAdapter adaptor = new MySqlDataAdapter(sql, baglan);
DataSet memet = new DataSet();
adaptor.Fill(memet, "xx");
dataGridView1.DataSource = memet.Tables[0];
baglan.Close();
}

- Daha sonra formumuzun Load olayında listele() fonksiyonunu çağırıp veritabanında kayıtlı kullanıcıları resimde görüldügü gibi listeliyoruz.



- Geldik kullanıcı ekleme işlemine "Save" butonuna tıkladığımızda bakalım hangi kodlarımız devreye girecek?

private void button1_Click(object sender, EventArgs e)
{
MySqlConnection baglan = new MySqlConnection("server=local veya uzak baglantı adresi;database=(database isminiz);user=kullanıcı adı;password=******;");
baglan.Open();
MySqlCommand kom = new MySqlCommand("insert into kullanicilar(adi,soyadi,tcno,dtarihi,telefon,adres,email)values(@ad,@soyad,@tc,@dtar,@tel,@adres,@mail)",baglan);
kom.Parameters.AddWithValue("@ad",textname.Text);
kom.Parameters.AddWithValue("@soyad",textsurname.Text);
kom.Parameters.AddWithValue("@tc", maskedTextBox2.Text);
kom.Parameters.AddWithValue("@dtar",dateTimePicker1.Value);
kom.Parameters.AddWithValue("@tel",maskedTextBox1.Text);
kom.Parameters.AddWithValue("@adres", textadres.Text);
kom.Parameters.AddWithValue("@mail", textmail);

kom.ExecuteNonQuery();
baglan.Close();

listele();


}
Şimdi burda bu komutları uzun uzun anlatmak isterdim fakat öğrencilik hali hepsi anlatmaya kalkılsa projeler ve dersler yan yatar;)

-"Add New" butonu da bir kayıt yaptıktan sonra başka bir kayıt için ekranı temizler. O nasıl olacak derseniz buyrun;

private void button2_Click(object sender, EventArgs e)
{
textname.Clear();
textsurname.Clear();
maskedTextBox2.Clear();
textadres.Clear();
maskedTextBox1.Clear();
textmail.Clear();
textadres.Clear();

}
Datagridview nesnemizdek kayıtları Excel'e nasıl aktaracağız derseniz bir sonraki kayıda göz atabilirsiniz;)

[ Read More ]

Datagridview Kullanımı

Bu yazı değerli bir abim olan Can GÜLDOĞAN tarafından yazılmıstır

1- Öncelikle bir sql server a bağlantı yapmamız lazım..
2- Bağlantı yaptıktan sonra bir ADAPTOR oluşturmamız lazım..
3- Bir DATA SET oluşturmamız lazım ( ki bu DATASET'ı gridview değerleri göstermek için kullanıyor yani geçici bir yazboz tahtası olarak düşünelim)
4- ADAPTOR'umuz DATASET'imizin içini dolduran tek araç (Yani bu yazboz tahtasını adaptör kullanıyor birtek). Bu araç data setimizi doldursun..
5- DATAGRIDVIEW 'ımızda bu ADAPTORUN yazdığı DATASET'ın içindekileri bize göstersin..

Şimdi ben size öncelikle ilgili c# kodunu veriyorum..



string sql = "select * from student"; // tipik bir sql komutu

SqlConnection connection = new SqlConnection("Data Source=sunucu_adı;Initial Catalog=database_adi;Integrated Security=True"); // Bağlantı Connection String ile yapıldı
connection.Open();

SqlDataAdapter adaptor= new SqlDataAdapter(sql, connection);
// adaptor oluşturduk ve içine sql ile connection nesnelerini attık..
DataSet can = new DataSet();
// can diye bir data set oluşturdum
adaptor.Fill(can, "xx");
//adaptor can data setinin için sql sorgumuzun cevabı ile doldurdu ve xx diye bir tabloya attı
dataGridView1.DataSource = can.Tables[0];
// data gridview1 imizin data soruce u can datasetimizin ilk tablosu olsun dedik..
connection.Close();
// bağlantımızı sonlandırdık..

Yukarıdaki kodu kısaca size açıkladım.. Açıkçası burada yazmak bek kolay olmuyor..
Şimdi bir windows application oluşturup bu kodu deneyelim..

Öncelikle bir buton ve data gridview ekleyelim





Amacımız butona basınca sql sorgumuzun çalışması... Şimdi button1 e tıklayıp kodumuzu ekleyelim..





Eklediğimiz kod yukarıdakinin aynısı ama bir tek fark var
sunucu adınız ve data base adınız farlı olabilir
ben sunucu olarak localhost yazdım ve data base'imde school sizin kiler farklı olabilir..
Artı bu şekilde data base'e erişmek istiyorsanız ( Ki ben bir çok program yazdım bu şekilde birçok değeri rahatlıkla işleye biliyorum.. Neyse Konu yb değil )

using System.Data.SqlClient;

satırını başa eklemeyi unutmayın (ki resimde altını kırmızı çizdim)

neyse efendim tüm bunları yaptıktan sonra programı run yapalım




form önce bu şekilde görünüyor..
Biz kodumuzu butona tıklanınca değişiklik olsun diye yazdık..
Butona tıklayınca aşağıdaki sonucu almanız içten bile değil :))




İlerleyen günlerde datagridview hakkında daha ileri seviye şeyler anlatacağım..
Tavsiyem internetteki videoları da izlemeniz.
Çokta sıfıra inerek anlatmıyorum biliyorum ama blogger ortamında yazı yayınlamak hemde istediğiniz gibi yayınlamak pekte kolay değil açıkçası..
Biraz birşeyler bilen arkadaşlar için çok kolay gelecek bu yazılar.. Ama sıfır bilen arkadaşlar kendilerini epeybir geliştirmek zorundalar.. Çünkü hiç visual c# bilmeyen arkadaşlar değilde bilipte bu konularda eksikliği olan projesi olan arkadaşları hedefleyip onlara göre yazıyorum..

İyi Çalışmalar
[ Read More ]

Web 1.0 , Web 2.0 , Web 3.0 nedir , aralarındaki farklılıklar

WEB 1.0

            Web 1.0 da kullanıcılar sadece okuyucuydu ve sadece bilgiyi alabilen konumdaydı. Çünkü bu kadarına izin verilen bir kullanıcı topluluğu vardı, tüm kontroller web sitesinin elindeydi. Web var olan bilgileri elde etmek, çoğunlukla onlara çeşitli web sunucuları tarafından sağlanan içeriği okumak, program ve dosya indirmek için kullanmaktaydılar.

[ Read More ]

E-Ticaret Nedir? Faydaları Nelerdir?


E-Ticaret: İnternet ortamında insanların belirli sistemler üzerinde gerçek ve ya sanalürünleri para karşılığında satın alması işlemidir. Kısaca tanımayalacak olursak e-ticarete, ticaretin elektronik versiyonu diyebiliriz.
Bu tanımın dünyaca kabul görmüş kurumlar tarafından daha resmi şekilde olanı ise şöyledir;
OECD (İktisadi İşbirliği ve Kalkınma Teşkilatı)
Sayısallaştırılmış yazılı metin, ses ve görüntünün işlenmesi ve iletilmesine dayanan kişileri ve kurumları ilgilendiren tüm ticari işlemlerdir.
OECD, e-ticaret sürecini ise şu şekilde tanımlamıştır;
  • Ticaret öncesi firmaların elektronik ortamda bilgilenmesi ve araştırma yürütmesi,
  • Firmaların elektronik ortamda buluşması,
  • Ödeme sürecinin yerine getirilmesi,
  • Taahhüdün yerine getirilmesi, mal veya hizmetin müşteriye teslimi, Satış sonrasıbakımdestek, vb. hizmetlerin temin edilmesi.
[ Read More ]