Enumaration tipinde String değerler elde etmek için aşağıdaki kod bloğunu kullanabilirsiniz;

public enum MyEnum
{
    [
DescriptionAttribute(@"string olarak taşımak istediğin 1. değer"
)]
    StringValue1 = 1,

    [DescriptionAttribute(@"string olarak taşımak istediğin 2. değer"
)]
    StringValue2 = 2
    
}

şeklinde Enum tanımlamasını yapıp,

public static string GetStringValueOf(Enum value)
{

    FieldInfo fi = value.GetType().GetField(value.ToString());
    DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false
);

    if (attributes.Length > 0)
        return
attributes[0].Description;
    else
        return
value.ToString();
}

şeklinde de Enumaration tipindeki string değerini alabilirsiniz. Tabiki bu yöntemi kullanabilmek için gerekli namespace leri eklemiş olmamız gerekiyor.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
muammerhallac , Tarih : 5. Şubat 2010, 18:00

Uzun zamandır yazı yazamıyordum. Nedenini bilen arkadaşlarım vardır; askerlik görevimi yerine getiriyordum. iyisiyle kötüsüyle kısa dönem olarak Antep-İslahiye de askerlik görevimi yerine getirdim. Askerlik hakikaten biz erkeklerin hayatlarında bir dönüm noktası, bir kilometre taşı oluyor. Milattan önce ve Milattan sonra yerine biz de askerden önce ve askerden sonra diye bahsedebiliyoruz. Askerlik boyunca kısa zaman içerisinde de olsa birçok şey öğrendim. Uzun zaman sürecek arkadaşlar, dostlar edindim. Gerek asker arkadaşlarım, gerek komutanlarım olsun kendisinden bir çok şey öğrendiğim insanlar oldu.

Kendisinden; yaptığı işi en iyi şekilde yapmayı, her ne şartta olursa olsun bir işi yarım bırakmamayı, yaptığı işi nasıl daha iyi yapabilirimi öğrendiğim çok kıymetli Topçu Bnb. Evren ULU komutanıma teşekkürü bir borç bilirim. Aynı zamanda, farklı bir bakış açısına ve insanlara bakış şeklimi değiştiren komutanlarıma/arkadaşlarıma (Topçu Bnb. Şafak MERT, Topçu Bnb. Ethem DERELİ, Mly. Ütğm. Sevran ŞAKTANLI, Topçu Çvş. Hakan ŞATIR, Topçu Çvş. Emre TAVŞANCIL, Muh. Çvş. M. Deniz KONUK, Bkm. Çvş. Efe TELCİLER, Topçu Çvş. Uğur YİĞİTBAŞI, Topçu Çvş. Muhammed KONAR ...) buradan teşekkür etmek istiyorum. Ayrıca ismini yazamadığım bir çok arkadaşımdan ve komutanımdan da özür diliyorum.

Herşeye rağmen askerlik görevimi yerine getirmenin verdiği mutluluk ve rahatlıkla bundan sonra daha iyi ve daha güzel işler yapmak dileğiyle...

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
muammerhallac , Tarih : 18. Nisan 2009, 13:46

Bazen işletim sistemimizi herhangi bir nedenle yeniden başlatmak veya kapatmak isteriz. (Örneğin bir program kurduğumuz zaman.) Bu işlemi Başlat > Bilgisayarı Kapat adımlarını izleyerek çok kolay bir şekilde yapabiliyoruz. Peki bu ihtiyaca bir program yazarken ihtiyaç duyarsak ne olacak? Veya geçenlerde benim içine düştüğüm bir duruma düşerseniz ne olacak :)

Geçen gece bilgisayarımda biraz uzun sürecek bir işlem yapıyordum. Büyük bir çoğunluğu bitmişti ki işin uyku bastırdı :). Şimdi bilgisayarı kapatsam yaptığım iş boşa gidecek ve yeniden yapıp zaman kaybedeceğim, bitmesini beklesem hiç olmayacak....  bende o kadar yapılan işi boşa atmak istemedim, ne yapabilirim diye düşündüm aklıma .NET in nimetlerinden olan System.Management namespace i altındaki WMI sınıfları geldi. Daha önce bu sınıfları araştırmamıştım ama bir iki dakikalık araştırmadan sonra implementasyonunun hiç de kolay olmadığını gördüm. Araştırmaya bir kaç dakika daha devam edince çok kullanışlı ve implementasyonu tek satır olacak şekilde yazılmış bi sınıf buldum. Bu sınıfı sizinle paylaşmak istedim. Daha önce ihtiyacı olanlar mutlaka ulaşmışlardır zaten bu sınıfa. Yeni  araştıranlar  için belki yardımcı olur diye paylaşmak istedim. Sınıfın kaynak kodlarına ve yardım dosyalarına aşağıdaki linkten ulaşabilirsiniz. Sınıfın kullanım şeklini ise yine aşağıda görebilirsiniz.

Sınıfın Kaynak Kodları : 
WindowsController.zip (33,94 kb)

Sınıfın Kullanım Şekli:
Yukarıda bulunan dosyadaki WindowsController.cs sınıfını projenize ekledikten sonra;

WindowsController
.ExitWindows(RestartOptions.Hibernate, true
);
WindowsController.ExitWindows(RestartOptions.LogOff, true
);
WindowsController.ExitWindows(RestartOptions.PowerOff, true
);
WindowsController.ExitWindows(RestartOptions.Reboot, true
);
WindowsController.ExitWindows(RestartOptions.ShutDown, true
);
WindowsController.ExitWindows(RestartOptions.Suspend, true);

seçeneklerinden birini kullanarak windowsa istediğiniz gibi fing attırabilirsiniz :). Yukarıdaki seçenekleri denemek bayaa bir zamanımı aldı, malum bilgisayarın kapanıp açılması felan zaman alıyor biraz :)

Buradan çıkaracağımız ders : Bir çok gelişme ve/veya araştırma zor durumda kalma, ÜŞENME veya ihtiyaçtan doğar :))))

Geniş bilgi için http://www.mentalis.org/soft/class.qpx?id=7 adresini ziyaret edebilirsiniz.

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Windows uygulamalarında uygulamamızın çalıştığı bilgisayarın MAC adresini aşağıdaki şekilde almamız mümkündür.

[System.Runtime.InteropServices.DllImport("iphlpapi.dll", ExactSpelling = true)]
public static extern int SendARP(int hedefIP, int kaynakIP, [System.Runtime.InteropServices.Out] byte[] MAC, ref int MACuzunlugu);

public string GetMAC(string bilgisayarAdi)
{
System.Net.IPAddress[] IPs = System.Net.Dns.GetHostEntry(bilgisayarAdi).AddressList;
byte[] dizi = new byte[6];
int uzunluk = dizi.Length;
SendARP((int)IPs[0].Address, 0, dizi, ref uzunluk);
return BitConverter.ToString(dizi, 0, 6);
}

Daha sonra da aşağıdaki gibi istediğimiz bi yerde mac adresini alabiliriz.

private void button4_Click(object sender, EventArgs e)
{
this.textBox2.Text = GetMAC(System.Windows.Forms.SystemInformation.ComputerName.ToString());
}

Web uygulamalarında ise aşağıdaki şekilde alabilirsini;

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Net;

using System.Runtime.InteropServices;

public class MACAddr

{

[
DllImport("iphlpapi.dll", ExactSpelling = true)]

public static extern int SendARP(int DestIP, int SrcIP, [Out] byte[] pMacAddr, ref int PhyAddrLen);

public static string GetMacAddress(string sName)

{

string s = string.Empty;

System.Net.IPHostEntry Tempaddr = null;Tempaddr = (System.Net.

IPHostEntry)Dns.GetHostByName(sName);

System.Net.IPAddress[] TempAd = Tempaddr.AddressList;

string[] Ipaddr = new string[3];foreach (IPAddress TempA in TempAd)

{

Ipaddr[1] = TempA.ToString();

byte[] ab = new byte[6];

int len = ab.Length;

int r = SendARP((int)TempA.Address, 0, ab, ref len);string sMAC = BitConverter.ToString(ab, 0, 6);

Ipaddr[2] = sMAC;

s = sMAC;

}

return s;

}

}


"GetMacAddress" fonksiyonunu uygulamanızda aşağıdaki şekilde çağırabilirsiniz.

lblMessage.Text =
MACAddr.GetMacAddress(System.Environment.MachineName);

Hatırlatmalar:
iphlpapi.dll dosyası hakkında detaylı bilgi için http://support.microsoft.com/dllhelp/?fid=111155&l=55&det=1 adresini ziyaret edebilirsiniz. Bu adreste dll den dışarı verilen işlevler ve diğer bir takım bilgilere ulaşabilirsiniz.

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
 

 Microsoft' un sayısız servisleri arasına bir yeni sevis daha eklendi. Adı "Photosynth"

Kısaca iki teknolojinin birleşimi;  fotoğrafları (sitede verilen örnek albümlerde fotoğraf sayıları 250 veya daha fazla olabiliyor) yeniden konumlandırarak sanal bir sahne oluşturarak bunu internet üzerinden kullanıcılara ulaştırmak.
Bu servis sayesinde resimlerini çektiğiniz bir mekanın 3 boyutlu görünümünü oluşturabiliyorsunuz.

 

Sitede tüm dünyadan ve Türkiye' den yüzlerce mekanın 3 boyutlu albümlerine ulaşmanız mümkün. Albümleri incelemek isterseniz bu adresten
 siteye ulaşabilirsiniz. Hatta isterseniz kendi albümünüzü bile oluşturabilirsiniz.

 Ancak servis, sisteminizdeki grafik kaynaklarını yüksek oranda tükettiği için servisin çalışabilmesi için bazı gereksinimlere ihtiyacı var. Bunlar:
1. Windows XP (SP2 veya SP3) veya Vista işletim sistemi
2. 256 MB minimum olmak üzere 1GB önerilen RAM
3. 32 MB ekran kartı (64 önerilen)

2 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

NotePad2,  en yaygın kullanılan programlama dilleri için söz dizimi vurgulamasını destekleyen, kurulum gerektirmeyen, açık kaynak kodlu, çok küçük boyutlu ve Windows un klasik NotePad' i ile değiştirilebilen bir program.

Özellikleri:
- Sözdizimi vurgulaması: HTML, XML, PHP, ASP (JS, VBS), CSS, JavaScript, VBScript, C/C++, C#, Kaynak Komut Dosyaları, Makefiles, Java, Visual Basic, Pascal, Assembly, SQL, Perl, Python, Yapılandırma Dosyaları, Apache Yapılandırma Dosyaları, Toplu İş Dosyaları, Diff Dosyaları
- Notepad2 içinde ve dışında sürükle / bırak yöntemi ile metin düzenleme
- Temel düzenli ifadeleri arama ve değiştirme
- Kullanışlı sözcük, satır ve blok düzenleme kısayolları
- Dikdörtgen seçim (Alt+Mouse)
- Ayraç eşleştirme, otomatik girintileme, uzun satır işaretleme, büyütme/küçültme işlevleri
- Unicode, UTF-8, Unix ve Mac metin dosyaları desteği
- Açık kabuk kısayolları
- Yüksek ayarlanabilirlik

İndirip denemek isteyenler http://www.flos-freeware.ch/notepad2.html adresinden programın kaynak kodlarına ve yürütülebilir haline ulaşabilirler.

Birde indirip normal NotePad ile değiştirmek isteyenler aşağıdaki adımları izleyerek programı kullanabilirler:

Not Defteri programını Notepad2 ile değiştirme işlemine başlamadan önce C:\WINDOWS\system32 klasöründeki ya da C:\WINDOWS klasöründeki Notepad.exe dosyasının yedeğini alın. (Daha sonra değiştirmek isterseniz tekrar kullanmak için)

* Notepad2.exe dosyasının adını Notepad.exe olarak değiştirin.
* Başlat menüsünden Çalıştır'ı tıklayın. Açılan pencereye C:\WINDOWS\system32\dllcache yazın ve TAMAM butonunu tıklayın.
* Adını Notepad.exe değiştirdiğiniz dosyayı panoya kopyalayın.
* Kopyaladığınız Notepad.exe dosyasını 2'nci aşamada açtığınız C:\WINDOWS\system32\dllcache klasörüne yapıştırın.

Dosya Değişimini Onayla uyarısını Evet diye cevaplayın.

* Geri tuşuna basın, C:\WINDOWS\system32 klasörüne geleceksiniz, panodaki Notepad.exe dosyasını bu kez C:\WINDOWS\system32 klasörüne yapıştırın.

Dosya Değişimini Onayla uyarısını Evet diye cevaplayın.

Birkaç saniye içinde Windows Dosya Koruması uyarısı alacaksınız. Açılan pencerede İptal'i tıklayın, daha sonra gelen uyarıda da Evet'i tıklayın.

* Geri tuşuna tekrar basın, C:\WINDOWS klasörüne geleceksiniz,
panodaki Notepad.exe dosyasını şimdi de C:\WINDOWS klasörüne yapıştırın.
Dosya Değişimini Onayla uyarısını Evet diye cevaplayın.

Bu işlemden sonra, Windows Not Defteri yerine her açtığınızda Notepad2 açılacaktır.

Yedeğini aldığınız Orijinal Notepad.exe dosyasını kullanarak aynı işlemi yaptığınızda Not Defteri programını geri getirebilirsiniz. 

Kaynak : Chip.com.tr

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5