Saving changes is not permitted hatası

SQL Server neredeyse tüm sürümlerinde çıkan Saving changes is not permitted hatası genel olarak daha önceden oluşturulmuş tabloyu tekrar düzenleyip bitirdikten sonra alırız.

Saving-changes-is-not-permitted

Bu hatayı engellemek için yapmamız gereken iş çok basit. Menülerden; Tools > Option menüsüne girip gelen ekranda Designers dan Table and Database Designers kısmını seçiyoruz. Burada Prevent saving changes that require table re-creation seçeneğinin check işaretini kaldırarak bu özelliği pasif hale getirdikten sonra bu hatayla karşılaşmıyoruz.

Windows form da pdf dosya yazdırmak

Masaüstü windows form projelerinde raporlama vb. durumlarda form üzerinden çıktı dosya almak istemişizdir. Bu örneğimizde basit bir windows from dan PDF(Portable Document Format) dosyasına veri aktarımını yani yazdırma işlemini gerçekleştireceğiz.

Pdf bildiğiniz gibi her platformda çalışan ve ücretsiz görüntülenebildiği için excel vb. tarzı dosyalara göre daha fazla rağbet görmekte. Konuyu fazla uzatmadan basit bir form ekranı hazırlayıp windows formdan pdf e yazdırma işlemini yapalım.

csharp-to-pdf

Resimdeki gibi bir form ekranı oluşturun. Buradaki amaç textboxa girilen değerler doğrultusunda önceden belirlediğiniz dizine pdf dosyasını oluşturmak. Bir adet multiline değeri true olan textbox ve buton forma ekledikten sonra aktarım için gerekli olan itextsharp.dll dosyasını projeye referans olarak ekleyin.(Dosyayı indireceğiniz proje içinde bulabilirsiniz)

Formu ve kütüphaneyi projeye ekledikten sonra buton click olayına aşağıdaki kodları yazabiliriz;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;

// Eklemeyi unutmayın !

 private void btnYazdir_Click(object sender, EventArgs e)
        {
            try
            {

                iTextSharp.text.Document pdfDosyam = new iTextSharp.text.Document();
                PdfWriter.GetInstance(pdfDosyam, new FileStream("C:\\digitaldunyam\\coder.pdf", FileMode.Create));

                pdfDosyam.AddCreator("Oluşturucu adını buaraya girebilirsiniz");

                if (pdfDosyam.IsOpen() == false)
                {

                    pdfDosyam.Open();
                }
                pdfDosyam.Add(new Paragraph(txtIcerik.Text));

                pdfDosyam.Close();
                MessageBox.Show("Pdf dosyası oluşturuldu.");

            }
            catch (Exception)
            {

                MessageBox.Show("Hata ! Oluşturulmadı...");
            }
        }

Not: Pdf’i oluşturmak için  C dizine daha önceden digitaldunyam isimli klasör eklemeniz gerekir.

Windows formdan smtp ile mail gönderme

Windows form uygulamasında internet aracılığı ile bir yerlere veya kullanıcıya mail göndermek istemişizdir. Bu ihtiyaca karşılamak için mini bir smtp ile mail gönderme uygulaması hazırladım.

windowsformsmtpgonderimi

Resimdeki gibi bir form ekranı hazırlayıp kod tarafına buton clik olayından geçebiliriz. Geçemeden önce örnek uygulama google gmail smtp ayarları ile yapıldığını hatırlatayım. Kendi gmail adresiniz ve şifrenizi girerek smtp mail gönderim testini yapabilirsiniz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private void btnGonder_Click(object sender, EventArgs e)
        {
            //using System.Net.Mail; 
            try
            {
                MailMessage mail = new MailMessage();
                SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
                mail.From = new MailAddress("postaadresin@gmail.com"); // gmail adresiniz

                mail.To.Add(txtGonderilecekAdres.Text);
                mail.Subject = txtBaslik.Text;
                mail.Body = txtKonu.Text;

                SmtpServer.Port = 587; // gmail port numarası 587 olduğu için bu port numarasını kullandık
                SmtpServer.Credentials = new System.Net.NetworkCredential("postaadresin@gmail.com", "sifresi"); // gmail adresiniz ve şifresini buraya girin
                SmtpServer.EnableSsl = true;

                SmtpServer.Send(mail);
                MessageBox.Show("Mail gönderildi");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

Gerekli açıklamalar kodlar içinde mevcut. SmtpClient, SmtpServer sınıflarını kullanarak yapılmış örnek uygulama.

Windows formda geri sayım sayacı

Windows formda timer kullanımına örnek olarak basit bir geri sayım sayacı örneği ile merhaba. Basit bir geri sayım sayacı bazen kafaları karıştırmıştır. Bu gibi durumlar için basit bir örnek ile sayım aracını göstermek istedim.

geri-sayim-araci

Resimdeki gibi biraz afilli bir forma timer, textbox, buton ve label kontrolleri ekleyerek başlayabiliriz. Zamanı kısıtlı arkadaşlar örneği aşağıdaki bağlantıdan indirebilir…

Form tasarımından sonra kod tarafına geçebiliriz. İlk olarak sayacı başlatacak olan buton kontrolü clik olayına aşağıdaki kodları yazıyoruz. Burada yapılan global olarak tanımlanan sayı değişkenine kullanıcıdan textbox aracılığı ile alınan sayıyı atadıktan sonra timer kontrolünü bir saniyede bir çalışacak şekilde aktif ediyoruz.

1
2
3
4
5
6
7
 int sayi;
        private void btnBasla_Click(object sender, EventArgs e)
        {
            sayi = Convert.ToInt32(textBox1.Text);
            timer1.Enabled = true; // Timer aktif ediyoruz
            timer1.Interval = 1000; // Saniyede bir çalışması için interval değerini 1000 yapıyoruz
        }

Aktif edilen timer içindeki kodu her bir saniyede bir çalıştıracağı için gelen sayıyı birer azaltıp label kontrolü yardımı ile azalan sayıyı gösteriyoruz. Ve sıfır olunca timer kontrolünü durduruyoruz.

1
2
3
4
5
6
7
8
9
 private void timer1_Tick(object sender, EventArgs e)
        {
            sayi--; //timer her saniyede sayıyı 1 azaltacak
            lblSayi.Text = sayi.ToString();
            if (sayi == 0)
            {
                timer1.Enabled = false;
            }
        }

Programlama kodunu farklı kod dillerine çevirme

C# VB.Net vb. gibi programlama dillerinin kod yapısı birbirine benzerdir. Yazılım dünyasında şöyle bir kolaylık vardır; sıfırdan herhangi bir programlama dilini tam olarak öğrenen diğer dilleri öğrenmesi daha kısa sürede ve kolay olur.

Konumuza geçersek a firmasında çalıştığınızı varsayıp çalıştığınız yer sizin C# da yazdığınız bir uygulamayı VB.net ile tekrar yazmanızı ister ve sizinde VB.net bilginiz kötüyse bir anda harıl harıl kendinizi VB.net öğrenmeye aşkıyla tutuştuğunuzu hissedersiniz. Bu gibi durumlarda yardımınıza online olarak kullanabileceğiniz programlama dilleri arası çevirici aracı tavsiye ediyoruz.

http://www.developerfusion.com/tools/convert/csharp-to-vb/ sitesinden C# VB.net kod çevirisi, aynı şekilde Ruby ve Python dillerine çevirebilirsiniz.

2013 yılında öğrenilmesi gereken programlama dilleri

Bu aralar coder.digitaldunyam.net‘in Google amca ile arası limoni olduğu için bu haberi burada yazma ihtiyacı duydum. jobstractor.com’un yaptığı araştırmaya göre, şirketlerin en çok aradığı elemanlarından istediği programlama dillerinin başında ilk sıralarda PHP ve Java geliyor. Biz yazılımcıların, bu talep pastasını görerek tatmak için öğrenmemiz gereken dilin hangisi olduğunu öğreniyoruz.

Ağırlıklı blogumda konu aldığım .Net teknolojileri ve başında gelen C# sıralamanın biraz gerisinde. Tabi bu grafik şirketlerin talep ettiği programlama dili bilen eleman ihtiyacı.

En çok aranan dil sıralaması

  • PHP 12,664
  • Java 12,558
  • Objective C 8,925
  • SQL 5,165
  • Android (Java) 4,981
  • Ruby 3,859
  • JavaScript 3,742
  • C# 3,549
  • C++ 1,908
  • ActionScript 1,821
  • Python 1,649
  • C 1,087
  • ASP.NET 818

en-cok-aranan-diller