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

11 Kasım 2011 Cuma

C# ile İşlemci bilgilerini elde etmek (CPU Seri No)

CPU - CPU ID - CPU SERİ NO

Bu örnekte sadece birkaç özellik kullanıldı, örneği inceleyerek diğer özellikleri de elde edebilirsiniz.

Örneği kullanabilmek için System.Management.dll kütüphanesini ve System.Management isim alanını kullanmalısınız.

public Hashtable GetCPUInfo()
{
    Hashtable bilgiler = new Hashtable(); //bilgileri tutacak olan hashtable

    ManagementClass mc = new ManagementClass("Win32_Processor");
    ManagementObjectCollection moc = mc.GetInstances();

    foreach (ManagementObject mo in moc)
    {
        if (bilgiler.Count == 0) //sadece ilk işlemciye ait bilgileri almak istiyoruz
        {
            bilgiler.Add("ID",mo.Properties["ProcessorId"].Value.ToString());
            bilgiler.Add("DeviceID",mo.Properties["DeviceID"].Value.ToString());
            bilgiler.Add("Socket", mo.Properties["SocketDesignation"].Value.ToString());
            bilgiler.Add("Manufacturer", mo.Properties["Manufacturer"].Value.ToString());
        }
        mo.Dispose();
    }

    return bilgiler;
}

public string GetCPUSeriNo()
{
    ManagementClass mc = new ManagementClass("Win32_Processor");
    ManagementObjectCollection moc = mc.GetInstances();

    foreach (ManagementObject mo in moc)
    {
        //sadece ilk işlemciye ait bilgileri almak istiyoruz
        return mo.Properties["ProcessorId"].Value.ToString();
        mo.Dispose();
    }
}

TextBox temizlerken kullandığım genel yöntem

Kod örneğini aşağıda bulabilirsiniz.

public void Temizle(ControlCollection controls)
{
    foreach (Control c in controls)
    {
         if (c is TextBox)
            ((TextBox)c).Text = String.Empty;

        Temizle(c.Controls);
    }
}

20 Temmuz 2011 Çarşamba

MySQL Connector / Net 6.4.3 - Download


MySQL Connector / .NET, uygulama geliştiricilere MySQL üzerinde kolayca .NET uygulamaları geliştirme imkanı sağlar. Bu iş için ADO.NET altyapısı kullanılır.

Kurulum, Visual Studio Entegrasyonu, destek ve sıkça sorulan soruları barındıran dokümanlar için bu linki takip edebilirsiniz. Ayrıca .NET üzerinde C#, VB.NET ve PowerShell kullanarak MySQL uygulamaları geliştirmek için buradaki bilgilerden de faydalanabilirsiniz.

MySQL Connector/Net 6.4.3 (DOWNLOAD)

18 Eylül 2010 Cumartesi

Java Dersleri - JDK Download


Java SE Development Kit 6u21 (JDK) bu link üzerinden indirilebilir.

Ayrıca JRE'i de indirmek isterseniz, (Java SE Runtime Environment 6u21bu linki kullanabilirsiniz.

Java Dersleri - DrJava - Sistem Gereksinimleri ve Kurulum


DrJava'nın çalışması için Java 2 v1.4 veya daha yeni sürüm bir virtual machine gerekiyor. Ayrıca derleme yapabilmek için de makinanızda JDK (JRE değil) kurulu olmalı.

Windows platformu için ilgili dosyayı indirip, istediğiniz bir klasöre kopyaladıktan sonra .exe dosyasını çift tıklayıp çalıştırabilirsiniz herhangi bir kurulum gerekmiyor. Uygulamayı ilk kez çalıştırdığınızda dosya tipleri ile ilişkilendirme yapmak isteyip istemediğiniz sorulacak. Bu noktada evet diyerek .java dosyalarının bundan sonra DrJava ile birlikte açılmasını sağlayabilirsiniz.

Uygulamayı çalıştırma esnasında hatalar alıyorsanız ya da aklınızda farklı sorular var ise, uygulamanin resmi sitesinde yer alan ve aşağıda linkini verdiğim, sıkça sorulan sorular bölümüne bakabilirsiniz.
http://drjava.sourceforge.net/faq.shtml

Ayrıca aşağıdaki konuları kapsayan 3 videoyu bu linkten izleyebilirsiniz.
JDK kurulumu,
DrJava kurulumu ve özelleştirilmesi,
ve DrJava kullanımı hakkında bilgiler

Java Dersleri - DrJava (Ücretsiz IDE) Download


DrJava, Java uygulamaları kodlamak için üretilmiş olan ve yeni başlayanlar için anlaşılması ve de kullanılması kolay olan bir uygulama geliştirme ortamıdır. Üretilmesinin ana amaçlarından birisi öğrencilerin Java ile programlamayı anlamasını kolaylaştırmaktır. Programcıların sezgisel bir şekilde kullanabilecekleri, oldukça kullanıcı dostu bir arayüz sunar.

Şu anda mevcut olan son kararlı sürüm drjava-stable-20100913-r5387 , aşağıdaki linkte verdiğim sayfadan indirilebilir. Bu sürüm hem Java5 hem de Java6'yı destekliyor. Aynı sayfa üzerinde DrJava'nın kaynak kodları ve Eclipse için geliştirilen plug-in de bulunabilir.

12 Eylül 2010 Pazar

.NET içerisindeki 5 Temel Tip ve Değer, Referans farkı

.NET 'in 5 temel tipi vardır.
Bunlar Enum , Struct , Interface , Class ve Delegate tipleridir.

Adı geçen tiplerden Enum ve Struct değer türlü olup , diğer 3 tip referans türlüdür.
Değer türlüler belleğin stack bölümünde yer alırken, referans türlüler ise heap bölümünde yer alırlar.

Değer türlüler, datalarını kendi üstlerinde taşırken, referans türlüler veriyi heap bölgesinde tutar ve stack veya heap üzerindeki bir referans (pointer'a benzetebiliriz) ile veriyi işaret ederler. Bu işaretçi işletim sistemine bağlı olarak bellekte 32-bit (4 byte) veya 64-bit (8 byte) yer kaplar.

İki değer türlü arasında atama yapıldığında, verinin yeni bir kopyası çıkartılır ve bir değişken üzerinde yapılan değişiklik diğerini kesinlikle etkilemez. Referans türlüler arasında yapılan atamalarda ise referansın bir kopyası çıkartılır ve iki referans da aynı adresteki datayı işaret ederler. Bu durumda hangi referans üzerinden işlem yapılırsa yapılsın, ortamdaki data tektir ve direkt olarak bir değişken üzerinden yapılan değişiklik , diğeri üzerinden gözlemlenebilir.

7 Ağustos 2010 Cumartesi

The Eight Fallacies of Distributed Computing

Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences.

1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn't change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous

Source

5 Temmuz 2010 Pazartesi

Every line is a child of mine


EVERY LINE IS A CHILD OF MINE
- WHY HAVE YOU COMMENTED OUT THESE LINES OF CODE?
- I DON'T HAVE THE HEART TO KILL THEM

17 Haziran 2010 Perşembe

4 Haziran 2010 Cuma

CDRom'un kapağını açıp kapatan minik bir kod parçası

Bu özellikleri kendi uygulamanızda kullanmak için, winmm.dll dosyasından faydalanarak yazılmış olan aşağıdaki sınıfı projenize dahil edip, static methodlara çağrı yapmanız yeterli.

using System;
using System.Text;
using System.Runtime.InteropServices;

namespace CDRomDriver_Manager
{
    public class CDRomDriveManager
    {
        [DllImport("winmm.dll", EntryPoint = "mciSendStringA", CharSet = CharSet.Ansi)]
        protected static extern int mciSendString(string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, IntPtr hwndCallback);

        public static int OpenTray()
        {
            int result = mciSendString("set cdaudio door open", null, 0, IntPtr.Zero);
            return result;
        }

        public static int CloseTray()
        {
            int result = mciSendString("set cdaudio door closed", null, 0, IntPtr.Zero);
            return result;
        }
    }
}

Lego Printer - Hello World

Apple Mac bilgisayara bağlı LEGO Printer



Legolardan yapılmış bir printerdan basılan "Hello World" videosu :)

13 Mayıs 2010 Perşembe

DevExpress'ten 60 adet ücretsiz Control

DevExpress tarafından WinForms, ASP.NET ve Silverlight için geliştirilmiş çok sayıda control ücretsiz olarak download'a sunuldu.

Ücretsiz içeriğe ulaşabilmeniz için DevExpress sitesinde minik bir üyelik işlemi tamamlamanız gerekiyor. Üyelik sonrasında download ve kurulum detayları mailinize gelecek.

İşlemler için aşağıdaki linki kullanabilirsiniz.
http://www.devexpress.com/Products/Free/WebRegistration60/

Native Client SDK (Sneak Peek)



A sneak peek at the Native Client SDK

22 Nisan 2010 Perşembe

Marble adding machine Video



Bu cihaz ve benzerleri ile ilgili bilgileri aşağıdaki siteden edinebilirsiniz.
http://woodgears.ca/marbleadd/

22 Şubat 2010 Pazartesi

Visual Studio 2010 , 12 Nisan 2010'da bizlerle olacak


Rob Caron'ın verdiği habere göre Visual Studio 2010 ve .NET Framework 4 çok yakında bizlerle olacak. 12 Nisan için yakın demek doğru mu emin değilim fakat uzak olmadığı kesin. Haber ile ilgili diğer detaylar için bu linki takip edebilirsiniz.

13 Kasım 2009 Cuma

using ifadesini kullanarak bir namespace ya da tip için alias oluşturmak

Projeniz dahilinde kullanmak istediğiniz iki ayrı .dll var ve bu iki .dll içerisindeki sınıfları kolayca kullanabilmek için de ilgili namespace'leri kod sayfanıza eklediniz. Buraya kadar herşey güzel fakat aynı isimde iki sınıf olduğundan dolayı, Visual Studio, sınıf adından yola çıkarak hangisini kullanacağını bilemiyor. Çözümü basit, tipin fullname'ini kullanmak fakat her seferinde bu şekilde yazmak biraz zorlayıcı olacaktır. Daha kolay bir çözüm olarak using ifadesini kullanarak tiplere birer takma ad verebiliriz. Takma ad tiplere verilebileceği gibi isimalanlarına (namespace) da verilebilir. Kullanım şekli aşağıdaki gibidir.

using TakmaAd = NameSpace1.Class1;
TakmaAd degisken = new TakmaAd();

Aşağıdaki linkte de konu ile ilgili birşeyler bulabilirsiniz.
http://msdn.microsoft.com/en-us/library/sf0df423(VS.80).aspx

28 Eylül 2009 Pazartesi

.NET ile MD5 Kullanarak Şifreleme İşlemi

String bir ifadenin MD5 ile şifrelenmesini ele alacağımız bir örneğimiz olacak. Bu işlemleri yaparken, System.Text ve System.Security.Cryptography namespace'i altındaki üyelerden faydalanacağız. Kullanacağımız sınıflar UTF8Encoding ve MD5CryptoServiceProvider olacak.

MD5, geri dönüşü olmayan algoritmalardan biri olan Hash Algoritması'nı kullanır. Hash Algoritması ile şifreleme yapacak olan method MD5CryptoServiceProvider sınıfı içerisindeki ComputeHash isimli methoddur. Bu method çalışmak için parametre olarak Stream ya da byte[] ister.

Bizim amacımız string bir değeri şifrelemek olduğu için, öncelikle elimizdeki string ifadeyi bir Stream ya da byte[] haline çevirmeliyiz. Ben byte[] kullanmayı tercih ediyorum. Bu işi gerçekleştirmek için UTF8Encoding sınıfının GetBytes isimli methodunu kullanacağız. Örnek kullanım aşağıda yer alıyor.

string deger = "www.ercanbozkurt.com"; //şifrelemek istediğimiz değer
UTF8Encoding encoder = new UTF8Encoding(); //GetBytes methodunu kullanabilmek için UTF8Encoding sınıfından bir nesne örneği alıyoruz.
byte[] sayisalDeger = encoder.GetBytes(deger); //Değeri GetBytes methoduna parametre olarak geçip sonucu byte[] tipinden bir değişkene alıyoruz.

String tipindeki değerimizi, byte[] olarak elde ettikten sonra sıra geldi şifreleme aşamasına. Örnek kullanım hemen alttaki satırda yer alıyor.

MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); //MD5CryptoServiceProvider sınıfından bir nesne örneği alıyoruz.

byte[] sifreliDeger = md5.ComputeHash(sayisalDeger);  //ComputeHash methodunu kullanarak sayısal değeri şifreliyoruz.


Şifreli değer elde edildikten sonra SQL, Access ya da istediğimiz başka bir ortamda saklanabilir.