20 Kasım 2014 Perşembe

Resim Captcha Oluşturma

GDI+ konusuna giriş yaparken GDI+ kullacağımız yerler  kısmında captcha çizdirmek için kullanabileceğimizi not almıştık. Bu yazımda GDI+ DrawString() ve DrawRectangle()metodlarını kullanarak resimli bir captcha oluşturmaktan bahsedeceğim.
Forma bir PictureBox (pbCaptcha) ve Button (btnReCaptcha) ekleyelim.
//global alanda tanımlayalım.
 Bitmap bmp;
 Graphics grp;
 string chars = "abcdefghıijklmnoöprsştuüvyz0123456789";
 Random rdm = new Random();
Daha sonra butonun click olayına kodlarımızı ekleyelim:
private void btnReCaptcha_Click(object sender, EventArgs e)
 {
 bmp = new Bitmap(pbCaptcha.Width, pbCaptcha.Height);
 grp = Graphics.FromImage(bmp);
string captcha = String.Empty;
 for (int i = 0; i < 5; i++)
 {
 int x = rdm.Next(0, chars.Length);
 char c = chars[x];
 captcha += c;
 }
HatchBrush brush = new HatchBrush(HatchStyle.Cross, Color.Green, Color.Black);
 Rectangle rec = new Rectangle(0, 0, bmp.Width, bmp.Height);
 grp.FillRectangle(brush, rec);
Font f = new Font("Tahoma", 13, FontStyle.Bold);
 grp.DrawString(captcha, f, Brushes.White, new PointF(5, 5));
pbCaptcha.Image = bmp;
 grp.Dispose();
 }

Windows Masaüstü için Visual Studio Express 2012

Yakın zaman önce Microsoft, Visual Studio Express  2012 ailesi için planladığı sürümleri paylaşmıştı. Bazılarınızın gözünden kaçmış olabilir; ama paylaşılan bu sürümler arasında önemli bir eksiklik vardı; masaüstü desteği…
   Microsoft’un Visual Studio Express’in ailesinin yeni sürümünde masaüstü uygulama geliştirme desteğini çekmesi aslına bakarsanız stratejik bir adım olarak görülmeli; çünkü Express’in gibi Visual Studio’nun ücretsiz sürümlerinde bu destek verilmezken ücretli sürümlerinde hala masaüstü uygulaması sorunsuzca geliştirilebilmekte. Visual Studio Express’in hedef kitlesinin açık kaynak kod geliştiriciler, öğrenciler ve yazılım geliştirmeye yeni başlayanlar olduğunu düşünecek olursak; Microsoft’un bu kesimi yavaş yavaş masaüstü yazılımları geliştirmekten Metro style uygulama geliştirme, Windows Phone uygulamaları geliştirme, web uygulamaları geliştirme ve Azure üzerinde uygulama geliştirme gibi konulara kaydırmak istediğini düşünebiliriz. Açıklanan sürümlere baktığımızda da karşımıza çıkan tablo aslında tam da bu olacaktır.
   Öte yandan, bu strateji ile ilgili bir sıkıntı da var ki; bu yönde atılan bir adım ardından açık kaynak kodlu Windows uygulamaları önemli bir darbe yemiş olacak. Düşünün internette indirdiğiniz bir açık kaynak kodunu Visual Studio’nun son sürümünde derleyemeyecek, yeniliklerinden faydalanamayacaksınız. Mecburen Visual Studio 2010 veya alt sürümlerini kullanmanız gerekecek. Peki nereye kadar? Tabi ki Microsoft’un bu sürümlere olan desteği sonlanana kadar… Peki ya sonra??
   Durum böyle olunca da insanın aklına ister istemez şu soru geliyor; Windows 8 ile birlikte artık Windows üzerinde/Windows için uygulama geliştirme paralı mı oluyor? Sadece Visual Studio’nun ücretli sürümleri satın alınırsa mı masaüstü uygulaması geliştirilebilecek??!
   Tam da bu noktada Microsoft çok farklı kanallardan yoğun geri bildirimler aldı. Özellikle topluluklardan gelen geri bildirimleri dinleyen Microsoft önemli bir kararla Windows masaüstü uygulamaları geliştirmeye elverişli bir Visual Studio Express 2012 sürümünü duyurdu; Visual Studio Express 2012 for Windows Desktop.
   Daha önceki express sürümlerinden farklı olarak, duyurusu yapılan Visual Studio Express 2012 for Windows Desktop Visual Basic, Visual C# ve C++ dillerini aynı anda desteklemekte. Üstelik bu sürümle birlikte her bir programlama dili için ayrı ayrı uygulamalar yüklemenize gerek bulunmuyor. Sonbaharda çıkması planlanan bu yeni Visual Studio Express sürümüyle desteklenen tüm Windows işletim sistemleri için uygulama geliştirebileceksiniz.

17 Kasım 2014 Pazartesi

Javascript Fonksiyonlar

Javascript fonksiyonlar 2 türlü olabilir:
1- Parametresiz:
function ()
//Parametresiz olduğu için Parantez açıp kapatmalıyım.
//Aynı C#'taki methodlar gibi.
 {
 //Bu fonksyion çağırılacağı zaman çalıştırılmasını istediğini kodlar...
 }
2-Parametreli:

function (parametre1,parametre2, parametre3...)
//Parametre vermek istediğim zaman sadece C#'ta yaptığımız gibi tipini vermiyoruz sadece adını yazıyoruz.
 {
 //Çalıştırılacak kodları buraya yazıyorum.