<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CETURK &#187; Memik</title>
	<atom:link href="http://www.ceturk.com/author/memik/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ceturk.com</link>
	<description>Türkiye&#039;nin Bilişim Platformu</description>
	<lastBuildDate>Sat, 05 May 2012 16:04:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Delphi Prism İle Çalışmaya Başlamak</title>
		<link>http://www.ceturk.com/delphi-prism-ile-calismaya-baslamak/</link>
		<comments>http://www.ceturk.com/delphi-prism-ile-calismaya-baslamak/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 19:22:30 +0000</pubDate>
		<dc:creator>Memik</dc:creator>
				<category><![CDATA[Delphi/Kylix]]></category>
		<category><![CDATA[Dersler]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Delphi Prism]]></category>
		<category><![CDATA[Install Delphi Prism]]></category>
		<category><![CDATA[InstallAware]]></category>
		<category><![CDATA[Interbase]]></category>
		<category><![CDATA[Memik YANIK]]></category>
		<category><![CDATA[Microsoft Visual Studio 2008]]></category>
		<category><![CDATA[Oxygene]]></category>
		<category><![CDATA[Rad Studio 2010]]></category>
		<category><![CDATA[Visual Studio 2008 for Oxygene]]></category>

		<guid isPermaLink="false">http://www.ceturk.com/?p=4292</guid>
		<description><![CDATA[Bir önceki makalemizde Oxygene’in Delphi Prism olmadan önceki hali hakkında kısaca bilgi verdik. Şimdi sırada Delphi Prism üzerinde konuşmak var. Bu amaçla embarcadero.com’dan Delphi Prism’in en son sürümün deneme kopyasını indirip Install.exe adlı programı çalıştırdım. Aşağıda verilen ekran görüntüsünden fark edeceğiniz gibi Delphi Prism paketinden ayrıca Interbase veritabanı ve InstallAware adlı setup programı çıkmaktadır. Bu [...]]]></description>
			<content:encoded><![CDATA[<p>Bir önceki makalemizde Oxygene’in <strong>Delphi Prism</strong> olmadan önceki hali hakkında kısaca bilgi verdik. Şimdi sırada Delphi Prism üzerinde konuşmak var. Bu amaçla embarcadero.com’dan Delphi Prism’in en son sürümün deneme kopyasını indirip <strong>Install.exe</strong> adlı programı çalıştırdım. Aşağıda verilen ekran görüntüsünden fark edeceğiniz gibi Delphi Prism paketinden ayrıca <strong>Interbase</strong> veritabanı ve <strong>InstallAware</strong> adlı setup programı çıkmaktadır.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_11.jpg"><img class="alignnone size-full wp-image-4293" src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_11.jpg" alt="delphi_prism_makale_1_resim_1" width="600" height="425" /></a></p>
<p>Bu penceredeki <strong>Install Delphi Prism</strong> seçeneği tıklandığında birkaç klasik sorudan sonra kurulum tamamlanmaktadır. Delphi Prism’i kurduktan sonra, ister Visual Studio kurulurken Başlat menüsünde hazırlanan komutu verin ister Delphi Prism’e ait komutu verin Visual Studio başlatılmaktadır. Visual Studio 2008’i başlatıp yeni bir Delphi Prism projesi hazırlamak üzere ekrana <strong>New Project</strong> diyalog kutusunu getirdik.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_2.jpg"><img class="alignnone size-full wp-image-4294" src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_2.jpg" alt="delphi_prism_makale_1_resim_2" width="583" height="344" /></a></p>
<p>Aşağıda verilen ekran görüntüsünden fark etmiş olacağınız gibi <strong>Windows Application</strong> şablonu ile yeni bir proje hazırlayınca bu projeye <strong>Program.pas</strong> ve <strong>Main.Pas</strong> adında 2 kod dosyası hazırlanmaktadır. Program.pas dosyasında uygulamanın başlangıç noktası olan <strong>Main</strong>() metodu bulunurken, Main.pas dosyasında .NET Framework ile gelen <strong>Form</strong> sınıfının mirasçısı bir Class hazırlanıp bu Class’ın yani formun uygulamanın başlangıç formu olması sağlanmaktadır.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_3.jpg"><img class="alignnone size-full wp-image-4295" src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_3.jpg" alt="delphi_prism_makale_1_resim_3" width="700" height="395" /></a></p>
<p>Ancak bu makalelerde sizlere işin özünü anlatmayı hedeflediğim için Visual Studio 2008’den yararlanarak hazırladığım bu projeyi bir tarafa bırakıp Not Defteri ile en kısıtlı özelliklere sahip ve konsolda çalışan bir Delphi Prism uygulaması hazırlayacağız. Bunu yaparken yani en kısıtlı özelliklere sahip konsol uygulamasını hazırlarken konunun hemen anlaşılmasını sağlamak için kodu parça parça vereceğiz. En kısıtlı özelliklere sahip Delphi Prism uygulaması bile <strong>namespace</strong> olarak düzenlendiği için aşağıdaki gibi bir namepace hazırladık.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_4.jpg"><img class="alignnone size-full wp-image-4296" src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_4.jpg" alt="delphi_prism_makale_1_resim_4" width="388" height="123" /></a></p>
<p>Namespace’in sonunu işaret eden <strong>end</strong> deyiminin sonuna noktalı virgül(;) yerine nokta konulması gerekiyor. Tabi bu şekilde düzenlenen Delphi Prism kodu derlendiğinde hata meydana gelir. Çünkü tıpkı Delphi uygulamalarında olduğu gibi Delphi Prism kodunun en azından <strong>interface</strong> ve <strong>implementation</strong> bölgelerine sahip olması gerekiyor. Bu nedenle koda ekleme yapıp interface ve implementation bölgelerine yer verdik.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_5.jpg"><img class="alignnone size-full wp-image-4297" src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_5.jpg" alt="delphi_prism_makale_1_resim_5" width="373" height="156" /></a></p>
<p>Delphi Prism uygulamasının mutlaka gerek duyduğu interface ve implementation bölgelerine bu şekilde yer verilse bile bu kod derlenirse hata meydana gelir. Çünkü uygulamanın başlangıç noktası olan <strong>Main(</strong>) metoduna sahip olması gerekiyor. Bu nedenle bu koda ekleme yapıp Main() metoduna yer verdik.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_6.jpg"><img class="alignnone size-full wp-image-4298" src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_6.jpg" alt="delphi_prism_makale_1_resim_6" width="407" height="189" /></a></p>
<p>Bu şartlarda bu kod hatasız derlenip çalıştırılır. Bu kodu yakında incelediğinizde Delphi Prism’de Delphi’den farklı olarak geriye değer göndermeyen metotlar <strong>method</strong> anahtar kelimesiyle başlayabilmektedir. Yok eğer ben eski alışkanlıklarımı sürdürüp geriye değer göndermeyen metotları hazırlarken <strong>procedure</strong> anahtar kelimesinden yararlanacağım diyorsanız bu kodu aşağıdaki gibi değiştirebilirsiniz.</p>
<p> namespace ilk_uzay;<br />
 interface<br />
 implementation<br />
 <strong> procedure Main;<br />
</strong>    begin<br />
     Console.WriteLine(&#8216;wwww.memikyanik.com&#8217;);<br />
   end;<br />
end.</p>
<p>Not Defteri ile veya başka bir editörle hazırladığınız Delphi Prism kodunu konsolda derlemek istiyorsanız aşağıda yeri ve adı işaret edilen exe dosyadan yani <strong>Oxygene.exe</strong> adlı derleyiciden yararlanmanız gerekir.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_7.jpg"><img class="alignnone size-full wp-image-4299" src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_7.jpg" alt="delphi_prism_makale_1_resim_7" width="516" height="229" /></a></p>
<p>Bu dosya kurulum sırasında arama yoluna dahil edildiği için PAS uzantılı kod dosyaları istenen klasöre kaydedilip istenen klasörde iken derleme yapılabilir. “ilk.pas” adını verdiğim kod dosyasını derlemek için DOS penceresinde önce derleyicinin, ardından derlemek istediğimiz PAS dosyasının adını yazdık.<a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_9.jpg"></a><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_10.jpg"></a><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_8.jpg"></a></p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_8.jpg"><img src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_8.jpg" alt="delphi_prism_makale_1_resim_8" width="452" height="143" /></a></p>
<p>Bu şekilde yapılan derleme sonucu “ilk.exe” adında bir çalışabilir .NET uyumlu dosya hazırlanır. Bu exe uzantılı dosya çalıştırıldığında ise Console sınıfının <strong>WriteLine</strong>() metoduna parametre olarak verilen sabit bilgi konsola yazılır. Delphi Prism’in bazı özelliklerini ortaya çıkarmak için yukarıda verdiğim kodu aşağıdaki gibi değiştirdik.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_9.jpg"><img src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_9.jpg" alt="delphi_prism_makale_1_resim_9" width="390" height="224" /></a></p>
<p>Bu kodda tıpkı Delphi’de olduğu gibi Main() metodu içinde <strong>var</strong> bloğuna yer verip “yil” adında ve integer tipinde bir değişken tanımladık. Devamında Console sınıfının <strong>Read</strong>() metodu sayesinde konsola yazılan bilgiyi bu değişkene aktardık. Delphi Prism’de değişken tanımlamak için metodun asıl işlem yapan satırlarının dışında <strong>var</strong> bloğuna yer vermek şart olmadığı için bu kodu aşağıdaki gibi düzenlemek mümkündür. </p>
<p>namespace ilk_uzay;<br />
 interface<br />
 implementation<br />
  procedure Main;<br />
  begin<strong>  <br />
  var yil : integer;<br />
</strong>    Console.Write(&#8216;Hangi Yıldayız :&#8217;);<br />
    yil := Console.Read();<br />
  end;<br />
end. </p>
<p>Açıkçası Delphi Prism’de <strong>var</strong> anahtar kelimesiyle istenen yerde değişken tanımlanabilmektedir. Şimdi bu Delphi Prism koduna ekleme yapıp kullanıcıdan istenip “yıl” adını verdiğimiz değişkene aktarılan bilgiyi <strong>WriteLine</strong>() metodu ile tekrar ekrana yazacağız. </p>
<p>namespace ilk_uzay;<br />
 interface<br />
 implementation<br />
  method Main;<br />
   begin<br />
     var yil : integer;<br />
     Console.Write(&#8216;Hangi Yıldayız :&#8217;);<br />
     yil := Console.Read();<br />
     Console.WriteLine();<br />
     Console.Write(&#8220;Girdiğiniz Yıl :&#8221;);<br />
     Console.WriteLine(yil);<br />
   end;<br />
end. </p>
<p> Bu şekilde düzenlenen Delphi Prism kodu derlenirken hata vermediği gibi çalıştırıldığında da hata vermez ama girilen yıl bilgisi ile sonradan WriteLine() metodu ile ekrana yazılan yıl bilgisi birbirinden farklı olur. Aşağıda verdiğim ekran görüntüsünü bu Delphi Prism kodunu derleyip çalıştırdıktan sonra aldım.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_10.jpg"><img src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_10.jpg" alt="delphi_prism_makale_1_resim_10" width="396" height="143" /></a></p>
<p>Yukarıda verilen koda dikkat ederseniz konsoldan bilgi okuma işlemi <strong>Read</strong>() metodu ile yapılmaktadır. Read() metodu konsoldan okuma yaparken girilen bilginin ilk karakterinin ASCII kodunu geriye göndermektedir. Console sınıfının <strong>Realline</strong>() metodu ise farklı bir şekilde çalışmaktadır ve konsoldan yani DOS penceresinden okuduğu bilginin String tipte olduğunu varsaymaktadır. Bu nedenle yukarıda verdiğimde örnekte değişiklik yapıp okuma işlemini Read() yerine <strong>Realline</strong>() metodu ile yapmaya çalıştık. </p>
<p>namespace ilk_uzay;<br />
 interface<br />
 implementation<br />
  method Main;<br />
   begin<br />
     var yil : integer;<br />
     Console.Write(&#8216;Hangi Yıldayız :&#8217;);<br />
<strong>      yil := Console.Realline();<br />
</strong>     Console.WriteLine();<br />
     Console.Write(&#8220;Girdiğiniz Yıl :&#8221;);<br />
     Console.WriteLine(yil);<br />
   end;<br />
end. </p>
<p>Bu şekilde değiştirdiğimiz Delphi Prism kodunu derlemek istersek derleyici hata rapor eder. Çünkü Console sınıfının <strong>Realline</strong>() metodu tarafından okunup geriye gönderilen bilgi String tipte olmasına rağmen burada integer tipindeki değişkene aktarmaya çalışıyorum. Bu hatanın önüne geçmek için String tipte bir değişken tanımlayıp kullandık. Bu hali ile programımız istediğimiz sonucu verir. </p>
<p>namespace ilk_uzay;<br />
 interface<br />
 implementation<br />
  method Main;<br />
   begin<br />
     var yil : string;<br />
     Console.Write(&#8216;Hangi Yıldayız :&#8217;);<br />
     yil := Console.Realline();<br />
     Console.WriteLine();<br />
     Console.Write(&#8220;Girdiğiniz Yıl :&#8221;);<br />
     Console.WriteLine(yil);<br />
   end;<br />
end.</p>
<p>Her ne kadar Delphi Prism %100 nesne yönelimli bir programlama dili olsa bile sizi <strong>Class</strong> hazırlamak zorunda bırakmıyor. Deneysel uygulamalar hariç Class hazırlamak gerekeceği için şimdi yukarıda verilen kodda değişiklik yapıp bir Class’a sahip olmasını sağlayacağız.</p>
<p><a href="http://www.ceturk.com/images/delphi_prism_makale_1_resim_112.jpg"><img src="http://www.ceturk.com/images/delphi_prism_makale_1_resim_112.jpg" alt="delphi_prism_makale_1_resim_11" width="441" height="280" /></a></p>
<p>Delphi ve Delphi Prism’de Class’lar <strong>interface</strong> bölgesinde <strong>type</strong> ile <strong>end</strong> anahtar kelimelerinin arasında <strong>class</strong> anahtar kelimesiyle tanımlanır. Burada “ilk_sinif” adını verdiğimiz Class’ın henüz metodu, özelliği, alanı vs yoktur. Class’ın <strong>public</strong> üyeleri public bloğunda, <strong>private</strong> üyeleri ise private bloğunda tanımlanmaktadır. Şimdi bu konsol uygulamasındaki <strong>Main</strong>() metodunun “ilk_sinif” adını verdiğim Class’ın public bir üyesi yani metodu olmasını sağlayacağız. Bu amaçla namespace’in <strong>interface</strong> bölgesindeki <strong>type</strong> bloğunda aşağıdaki gibi değişiklik yaptık. </p>
<p>namespace ilk_uzay;<br />
 interface<br />
  type<br />
    ilk_sinif = class<br />
   public<br />
      <strong>class method Main;<br />
</strong>   private<br />
  end;<br />
 implementation<br />
  method Main;<br />
   begin<br />
     Console.WriteLine(&#8216;wwww.memikyanik.com&#8217;);<br />
     Console.Write(&#8216;Çıkmak İçin Bir Tuşa Basın&#8217;);<br />
     Console.ReadKey();<br />
   end;<br />
end.</p>
<p>Bu şekilde düzenlenen Delphi Prism kodu derlenmek istenirse hata meydana gelir. Çünkü bu sınıfın Main() adında ve herhangi bir parametreye sahip olmayan bir metoda sahip olduğu işaret edilmekle birlikte namespace’in <strong>implementation</strong> bölgesinde bu sınıfla ilişkilendirilen bir metot yoktur. Mevcut Main() metodunun başına <strong>class</strong> ve <strong>method</strong> anahtar kelimesinden sonra class adı aşağıdaki gibi yazılırsa sorun çözülür. </p>
<p>namespace ilk_uzay;<br />
interface<br />
  type<br />
    ilk_sinif = class<br />
   public<br />
      class method Main;<br />
   private<br />
  end;<br />
 implementation</p>
<p>  <strong>class method ilk_sinif.Main;<br />
</strong>   begin<br />
     Console.WriteLine(&#8216;wwww.memikyanik.com&#8217;);<br />
     Console.Write(&#8216;Çıkmak İçin Bir Tuşa Basın&#8217;);<br />
     Console.ReadKey();<br />
   end;<br />
end.</p>
<p>Bu kodda method anahtar kelimesi yerine <strong>procedure</strong>’yi kullanabileceğinizi biliyorsunuz. Bir sonraki makalemizde Delphi Prism anlatmaya kaldığımız yerden devam edeceğiz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceturk.com/delphi-prism-ile-calismaya-baslamak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.ceturk.com/images/delphi_prism_makale_1_resim_11.jpg" length="48165" type="image/jpg" />	</item>
		<item>
		<title>Delphi Prism İle Tanışmak</title>
		<link>http://www.ceturk.com/delphi-prism-ile-tanismak/</link>
		<comments>http://www.ceturk.com/delphi-prism-ile-tanismak/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 18:26:18 +0000</pubDate>
		<dc:creator>Memik</dc:creator>
				<category><![CDATA[Delphi/Kylix]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Delphi Prism]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[Memik YANIK]]></category>
		<category><![CDATA[Microsoft Visual Studio 2008]]></category>
		<category><![CDATA[Oxygene]]></category>
		<category><![CDATA[Rad Studio 2007]]></category>
		<category><![CDATA[Rad Studio 2010]]></category>
		<category><![CDATA[RemObjects]]></category>
		<category><![CDATA[Visual Studio 2008 for Oxygene]]></category>

		<guid isPermaLink="false">http://www.ceturk.com/?p=4230</guid>
		<description><![CDATA[Varsayalım ki daha önce Delphi ile az çok program yazdınız. Konu Web uygulamaları olduğunda Delphi’nin geri kaldığını düşünüyorsanız imdadınıza Delphi Prism yetişiyor. Öncelikle 1 yıl önce kişisel sitemde sizinle paylaştığım Delphi Prism’le ilgili kısa makaleyi küçük ekleme ve değişikliklerle tekrar size sunacağım. Devamında birkaç makale boyunca Delphi Prism’den söz edeceğim. Yakın bir zamanda(yani 2008 yılı [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ceturk.com/images/oxygene_31.jpg"></a><a href="http://www.ceturk.com/images/oxygene_65.jpg"></a>Varsayalım ki daha önce Delphi ile az çok program yazdınız. Konu Web uygulamaları olduğunda Delphi’nin geri kaldığını düşünüyorsanız imdadınıza <strong>Delphi Prism</strong> yetişiyor. Öncelikle 1 yıl önce <a href="http://www.memikyanik.com/">kişisel sitemde</a> sizinle paylaştığım Delphi Prism’le ilgili kısa makaleyi küçük ekleme ve değişikliklerle tekrar size sunacağım. Devamında birkaç makale boyunca Delphi Prism’den söz edeceğim.</p>
<p>Yakın bir zamanda(yani 2008 yılı içinde) <strong>Delphi Prism</strong> adında yeni bir uygulama geliştirme aracı daha doğrusu bir derleyici programcıların istifadesine sunuldu. Bu ürün vesilesi ile öncelikle bir Delphi tarihi özeti geçeceğim. Microsoft’un ilk .NET Framework sürümünü hazırladığı günlerde Delphi’nin kullanıma sunulmuş en son sürümü Delphi 7 idi. Masaüstü uygulamalar geliştirmek için o günlerin en iyi programlama dili ve uygulama geliştirme aracıydı. Derken Microsoft firması .NET Framework teknolojisini ve .NET uyumlu programlama dillerini kullanıma sundu. Bir süre sonra Borland firması Delphi 8 adıyla Delphi&#8217;nin .NET uyumlu sürümünü piyasaya vermekle birlikte Microsoft’un Visual Studio’su ve yeni programlama dilleri(Visual Basic .NET ve C#) kadar programcılardan ilgi görmedi. İşin özü konu Web uygulamaları geliştirmek olduğunda programcılar ağırlıklı olarak tercihlerini Microsoft ürünü araçlardan yana yaptılar. Kişisel görüşüme göre asıl sorun Borland’ın .NET Framework desteği konusunda Microsoft’u çok geriden takip etmesiydi. Örneğin Delphi ile Web uygulaması geliştiren programcılar .NET Framework 2.0 desteği için uzun süre beklemek zorunda kaldılar. Şu günlerde(2008 yılı içinde) Microsoft firması Visual Studio 2008 ile .NET Framework 3.5 desteğini sunarken Borland(artık CodeGear demek gerek) ürünü <strong>Rad Studio 2007</strong> ile gelen .NET uyumlu Delphi 2007 ile ancak .NET Framework 2.0 uyumlu ASP.NET uygulamaları geliştirmek mümkün olabildi. Bir süre önce <strong>Embarcadero</strong> firması(Delphi ve C++ Builder’ın yeni sahibi firma) <strong>RemObjects</strong> firmasının <strong>Oxygene</strong> adlı Object Pascal derleyicisinin haklarını satın alıp <strong>Delphi Prism</strong> adıyla piyasaya verdi. </p>
<p>Konunun uzmanlarının bildiği gibi C#, C++ ve Visual Basic programlama dilleri ile .NET uyumlu uygulamalar geliştirmek için kullanılan bilgisayara ilgilenilen .NET Framework sürümünü kurmak yeterli olmaktadır. Çünkü Microsoft firması sözünü ettiğim derleyicileri .NET Framework ile birlikte ücretsiz olarak dağıtmaktadır. Programcı kodunu istediği dilde Not Defteri veya başka bir editörle yazıp .NET Framework ile gelen derleyici ile derleyip kullanabiliyor. Tabii Not Defteri gibi bir editörle .NET uyumlu uygulama geliştirmek zahmetli olduğu için programcılar Visual Studio&#8217;yu veya yukarıda saydığım dillere özel ücretsiz <strong>Express Edition</strong>&#8216;ları kullanıyorlar.</p>
<p>Gelelim Delphi Prism&#8217;e. Yukarıda anlatılanlara göre Microsoft&#8217;un .NET Framework ile birlikte verdiği derleyiciler .NET ile gelen sınıfları kullandıkları için .NET Framework kurulu olmayan bilgisayarda C# veya Visual Basic derleyicilerinden yararlanmak mümkün değildir. Bu durumda .NET uyumlu Delphi kodunu derleyebilmek için eski adı <strong>Oxygene </strong>olan<strong> Delphi Prism</strong> derleyicisini kurmamız gerekiyor. Bu amaçla CodeGear.com&#8217;dan veya RemObjects.com<strong>&#8216;</strong>dan<strong> </strong>deneme sürümünü indirip kurduğunuzda Delphi dilinin kurallarına göre .NET uyumlu uygulama geliştirmek mümkün hale geliyor.</p>
<p>Tabii programcılar Rad Studio veya Visual Studio gibi IDE&#8217;lere alışalı yıllar olduğu için IDE desteği olmayan derleyicilere dönüp bakmıyorlar. Bu nedenle <strong>RemObjects </strong>firması<strong> Oxygene</strong> adlı Object Pascal derleyicisini hazırlarken Visual Studio desteğini verdi. Başka bir deyişle <strong>RemObjects </strong>firması .NET Framework ile gelen derleyicilerin sayısını bir arttırıp Visual Studio ile Object Pascal kodu yazabilme imkanını Delphi programcılarına sundu.</p>
<p>Yani işin özü şudur: Daha önce Delphi ile masaüstü uygulamalar geliştirdiniz; sonra baktınız ki Delphi&#8217;nin .NET uyumlu sürümü .NET uyumlu Web uygulamalarını geliştirmede yetersiz kalıyor. Ötesi Visual Basic veya C# gibi yeni bir programlama dili öğrenmek istemiyorsunuz. Bu durumda imdadınıza <strong>Oxygene</strong> adlı <strong>Object Pascal</strong> derleyicisi yetişiyor. Ne mi yapmak gerekiyor? Kullandığınız bilgisayara önce .NET Framework, sonra Visual Studio&#8217;yu kuruyorsunuz. Devamında RemObjects.com&#8217;dan Oxygene&#8217;i indirip kuruyorsunuz. Sonra ekrana Visual Studio&#8217;nun <strong>New Project</strong> diyalog kutusunu getirdiğinizde tıpkı Visual Basic gibi tıpkı C# gibi <strong>Oxygene</strong> adlı Object Pascal derleyicisinin listelendiğini görüyorsunuz.</p>
<p><a href="http://www.ceturk.com/images/oxygene_14.jpg"><img class="alignnone size-full wp-image-4231" src="http://www.ceturk.com/images/oxygene_14.jpg" alt="oxygene_1" width="601" height="336" /></a></p>
<p><strong>Oxygene</strong> programcılardan ilgi görünce Delphi ve C++ Builder&#8217;ın yeni sahibi <strong>Embarcadero</strong> firması <strong>RemObjects</strong> firması ile anlaşıp Oxygene&#8217;e <strong>Delphi Prism</strong> adını verip dağıtmaya başladı. Tekrar etmek gerekirse Delphi Prism ile uygulama geliştirebilmek için kullandığınız bilgisayara önceden .NET Framework ve Visual Studio’yu kurmanız gerekiyor. Çünkü Delphi Prism, Visual Studio ile entegre çalışıyor. Yani Visual Studio’dan yararlanıyor.</p>
<p>Delphi Prism kimler için sorusuna şu cevap verilebilir: Visual Studio ile Delphi programlama dilini kullanarak masaüstü ve web uygulamaları geliştirmek isteyenler tercih edebilir. Tabii Visual Studio ortamında kullanılan Delphi Prism %100 klasik Delphi uyumlu değildir. Çünkü Oxygene yani Delphi Prism ile Delphi diline yapılmış eklemeler ve geliştirmeler bulunmaktadır. Örneğin Procedure ve Function yerine, yani her ikisinin yerine <strong>Method</strong> anahtar kelimesi kullanılabilmektedir.</p>
<p>Yakın bir zamanda piyasaya verilen <strong>Rad Studio 2010</strong> paketinden çıkan Delphi sürümü ile ASP.NET uygulaması geliştirmek mümkün değildir. Akla hemen şu soru geliyor : Delphi Prism, <strong>Embarcadero</strong> firmasının Rad Studio’su ile entegre çalışabiliyor mu? Cevap: Hayır. Belki bir süre sonra Delphi Prism&#8217;in Rad Studio ile çalışan versiyonu hazırlanır.</p>
<p>Kısaca özetlemek gerekirse Delphi Prism, .NET Framework ve Visual Studio&#8217;dan yararlanıp Delphi dilini kullanarak masaüstü ve ASP.NET uygulamaları geliştirmenize imkan sağlıyor. Burada yayınlamak istediğim makale dizisini hazırlarken .NET Framework 3.5 ve Visual Studio 2008 kurulu bir makineden yararlanacağım. Delphi Prism&#8217;in deneme sürümünü aşağıda verilen adresten indirebilirsiniz.</p>
<p><a href="https://downloads.embarcadero.com/free/delphi_prism">https://downloads.embarcadero.com/free/delphi_prism</a> </p>
<p>Konuyu adım adım anlatmak için Oxygene&#8217;nin henüz Delphi Prism olmadan önceki halini RemObjects.com’dan indirip kuracağım. RemObjects.com’dan indirdiğim exe dosyayı çalıştırınca ekrana ilk olarak aşağıda verdiğim diyalog kutusu geldi.</p>
<p><a href="http://www.ceturk.com/images/oxygene_21.jpg"><img class="alignnone size-full wp-image-4232" src="http://www.ceturk.com/images/oxygene_21.jpg" alt="oxygene_2" width="500" height="380" /></a></p>
<p>Oxygene, Visual Studio’nun hem 2008 hem de 2005 sürümünü desteklemektedir. Başka bir deyişle Oxygene&#8217;i kurmak istediğiniz bilgisayarda Visual Studio 2005 varsa bundan yararlanabiliyor. Kurma işlemine devam etmek üzere <strong>Next</strong> düğmesini tıkladığınızda ekrana önce lisans haklarıyla ilgili diyalog kutusu gelmektedir. Devamında Oxygene’nin kurulacağı klasörün seçildiği diyalog kutusuyla karşılaşılmaktadır.</p>
<p><a href="http://www.ceturk.com/images/oxygene_32.jpg"><img class="alignnone size-full wp-image-4234" src="http://www.ceturk.com/images/oxygene_32.jpg" alt="oxygene_3" width="500" height="380" /></a></p>
<p>Verilen ekran görüntüsünden fark edeceğiniz gibi Oxygene, Delphi Prism olarak paketlenmeden önceki halinde varsayım olarak <strong>RemObjects Software\Oxygene</strong> klasörüne kurulmaktadır. Kurma işlemine devam etmek üzere Next düğmesini tıkladığınızda ekrana Visual Studio ile ilgili diyalog kutusu gelmektedir.</p>
<p><a href="http://www.ceturk.com/images/oxygene_41.jpg"><img class="alignnone size-full wp-image-4235" src="http://www.ceturk.com/images/oxygene_41.jpg" alt="oxygene_4" width="500" height="380" /></a></p>
<p>Verilen ekran görüntüsünden fark etmiş olacağınız gibi Oxygene ile birlikte ayrıca Visual Studio 2008’ın SP1’li kopyası gelmektedir. Bu sırada Oxygene kurmak istediğim bilgisayarda Visual Studio’nun 2008 sürümü olsaydı bu diyalog kutusundaki <strong>Install Visual Studio 2008 for Oxygene</strong> onay kutusu seçilemez durumda olurdu. </p>
<p>Verilen bu ekran görüntülerini dikkatlice incelediğinizde Oxygene’in .NET Framework’ün 3.5 sürümüne gerek duyduğunu fark ederseniz. Bu nedenle Oxygene kurmak istediğiniz bilgisayara önceden .NET Framework 3.5 kurmanız önerilir.</p>
<p><a href="http://www.ceturk.com/images/oxygene_53.jpg"><img class="alignnone size-full wp-image-4236" src="http://www.ceturk.com/images/oxygene_53.jpg" alt="oxygene_5" width="500" height="380" /></a></p>
<p>İşleme devam etmek üzere Next düğmesi tıklandığında ekrana aşağıdakine benzer bir diyalog kutusu gelmektedir. Bu ekran görüntüsünü aldığım sırada kullandığım bilgisayarda Visual Studio 2008 kuruluydu. Bu sırada kullandığım bilgisayarda Visual Studio 2005 kurulu olsaydı bu Visual Studio sürümünü temsil eden onay kutusu seçilebilir durumda olurdu. Oxygene uygulamalarını hangi Visual Studio sürümüyle geliştirmek istiyorsanız o sürümü veya sürümleri seçmelisiniz.</p>
<p><a href="http://www.ceturk.com/images/oxygene_65.jpg"><img src="http://www.ceturk.com/images/oxygene_65.jpg" alt="oxygene_6" width="500" height="380" /></a></p>
<p>Oxygene’i ile uygulama geliştirirken Visual Studio’nun 2008 sürümünden yararlanmak istediğim için bu diyalog kutusundaki <strong>Microsoft Visual Studio 2008</strong> onay kutusunu seçip işleme devam etmek üzere Next düğmesini tıkladım. Bir sonraki adımda konsolda derleme yapılırken kullanılacak derleyicinin arama yoluna dahil edilmesi ve pas uzantılı kod dosyalarının Oxygene’le açılması konusunda ayarlamalar yapılmaktadır.</p>
<p><a href="http://www.ceturk.com/images/oxygene_7.jpg"><img class="alignnone size-full wp-image-4238" src="http://www.ceturk.com/images/oxygene_7.jpg" alt="oxygene_7" width="500" height="380" /></a> </p>
<p>Kurma işlemine devam etmek üzere Next düğmesini tıkladığınızda size birkaç soru daha yöneltildikten sonra kurma işlemi kısa sürede tamamlanır. Oxygene kurulduktan sonra Başlat menüsüne Visual Studio 2008’i başlatan bir komut eklenmektedir. Daha önce işaret edildiği gibi Oxygene veya Delphi Prism kurulduktan sonra Visual Studio’nun <strong>New Project</strong> diyalog kutusuna Oxygene’le ilgili seçenekler olmaktadır. Oxygene uygulamalarını hazırlarken Visual Studio’dan yararlanmak istemiyorsanız kodunuzu Not Defteri gibi bir editörle hazırlayıp komut satırı derleyicisi ile derleme yapabilirsiniz. Bu derleyicinin yerini aşağıda görebilirsiniz.</p>
<p><a href="http://www.ceturk.com/images/oxygene_8.jpg"><img class="alignnone size-full wp-image-4239" src="http://www.ceturk.com/images/oxygene_8.jpg" alt="oxygene_8" width="491" height="253" /></a></p>
<p>Bu makalelerde Oxygene yerine elden geçirilip <strong>Delphi Prism 2010</strong> adıyla piyasaya verilen sürümü kullanmak istediğim için embarcadero.com’dan deneme sürümü indirip kurdum. Bir sonraki makalede temelden Delphi Prism’den söz etmeye başlayacağız.</p>
<p>Memik YANIK<br />
<a href="mailto:memikyanik@hotmail.com">memikyanik@hotmail.com</a><br />
<a href="http://www.memikyanik.net">www.memikyanik.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceturk.com/delphi-prism-ile-tanismak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.ceturk.com/images/oxygene_14.jpg" length="46987" type="image/jpg" />	</item>
		<item>
		<title>SQL Server 2008 Express Edition’ı Kurmak</title>
		<link>http://www.ceturk.com/sql-server-2008-express-edition%e2%80%99i-kurmak/</link>
		<comments>http://www.ceturk.com/sql-server-2008-express-edition%e2%80%99i-kurmak/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 21:39:30 +0000</pubDate>
		<dc:creator>Memik</dc:creator>
				<category><![CDATA[MS SQL]]></category>
		<category><![CDATA[Veri Tabanı]]></category>
		<category><![CDATA[Memik YANIK]]></category>
		<category><![CDATA[Ms Sql Server 2008]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[SQL Server 2008 Express Edition]]></category>
		<category><![CDATA[Sql Server 2008 Kurmak]]></category>

		<guid isPermaLink="false">http://www.ceturk.com/?p=3293</guid>
		<description><![CDATA[Bu makaleyi programcılar için yazdığımıza göre uygulama geliştirme sürecini göz önüne almak gerekiyor. Programcı SQL Server’ı kullandığı bilgisayara kurup veritabanı hazırlayıp herhangi bir programlama diliyle geliştirdiği projesini test edecektir. Bu nedenle konu SQL Server olduğunda programcılar işe SQL Server’ı kurmakla başlarlar. SQL Server’ın 2000 ve 2005 sürümlerinin kurulumu son derece kolay ve sorunsuzdu. 2008 sürümü [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_23.jpg"></a><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_28.jpg"></a>Bu makaleyi programcılar için yazdığımıza göre uygulama geliştirme sürecini göz önüne almak gerekiyor. Programcı SQL Server’ı kullandığı bilgisayara kurup veritabanı hazırlayıp herhangi bir programlama diliyle geliştirdiği projesini test edecektir. Bu nedenle konu SQL Server olduğunda programcılar işe SQL Server’ı kurmakla başlarlar. SQL Server’ın 2000 ve 2005 sürümlerinin kurulumu son derece kolay ve sorunsuzdu. 2008 sürümü biraz karmaşıktır. Bu nedenle bu makalede kurulumun ayrıntılarından söz edildi.</p>
<p>SQL Server’ın Express yerine asıl sürümlerinden yararlanmak istiyorsanız karşınıza birden fazla seçenek çıkıyor. <strong>Enterprise</strong> ve <strong>Standard</strong> ilk akla gelen sürümlerdir. <strong>Developer</strong> sürüm, Enterprise sürümle benzer özelliklere sahip olsa bile lisanslama şartları farklıdır. Bu makalenin potansiyel okurlarının bir kısmı SQL Server’ın ücretsiz Express Edition sürümünü tercih edecekler fazla olduğu için Express sürümü nasıl kurabileceğinizden söz ettik. Bu düşünce ile microsoft.com’da arama yapıp SQL Server’ın <strong>Express</strong> sürümüyle ilgili aşağıda verilen sayfayı bulduk.</p>
<p><img class="alignnone size-full wp-image-3294" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_1.jpg" alt="sql_server_2008_express_kurma_1" width="687" height="413" /></p>
<p>Bu sayfada gördüğünüz gibi SQL Server 2008’in Express sürümüyle ilgili 3 farklı sürümün linki var. En kısıtlı <strong>Runtime Only</strong> adlı olanı SQL Server veritabanı hazırlamak ve bu veritabanını kullanan uygulamalar geliştirmek için yeterlidir. Bu durumda veritabanı ve tablo hazırlamak için Visual Studio’nun <strong>Server Explorer</strong> penceresinden yararlanmanız gerekir. Gerçekte Visual Studio ile SQL Server veritabanını kullanan uygulamalar geliştirmek için SQL Server’ın <strong>Runtime Only</strong> sürümü yeterlidir. Runtime Only sürüm yaklaşık 65 Mb’tır.</p>
<p>Veritabanı hazırlarken Visual Studio’nun Server Explorer penceresi yerine SQL Server Management Studio adlı aracı kullanmak istiyorsanız bu kez <strong>SQL Server 2008 Express With Tools</strong>’u indirip kurmalısınız. Yok eğer SQL Server Management Studio aracından başka rapor servisinden yararlanmak istiyorsanız bu penceredeki <strong>SQL Server 2008 Express with Advanced Services </strong>adlı sürümden yararlanmalısınız. Kendim bu sürümü kullanmak istediğim için indirip çalıştırınca aşağıdaki gibi bir sonuçla karşılaştım.</p>
<p><img class="alignnone size-full wp-image-3297" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_21.jpg" alt="sql_server_2008_express_kurma_2" width="645" height="496" /></p>
<p><span>SQL Server 2008’i kurmak istediğiniz bilgisayarın SQL Server 2008’e uygun olup olmadığını öğrenmek istiyorsanız  <strong>Planning</strong> sekmesindeki System Configuration Checker seçeneğini tıklamalısınız. Bu sırada kullandığım bilgisayarda <strong>PowerShell</strong> kurulu olmadığı için SQL Server 2008’in kurma programı bilgisayarın SQL Server 2008’e uygun olmadığını rapor etti. SQL Server’ın 2008 sürümleri .NET Framework 3.5 SP1, <strong>Windows Installer 4.5</strong> ve <strong>PowerShell</strong> bileşenlerine gerek duymaktadır.</span></p>
<p><span><img class="alignnone size-full wp-image-3298" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_31.jpg" alt="sql_server_2008_express_kurma_3" width="738" height="540" /></span></p>
<p><span><span>Bu nedenle microsoft.com’da arama yapıp PowerShell’i indirebileceğim adresi bulup indirdim. Ekranda <strong>Setup Support Rules</strong> penceresi varken PowerShell’i indirip kurup <strong>Re-run</strong> düğmesini tıklayıp kullandığımız sistemin yeniden kontrol edilmesini sağladık.</span></span></p>
<p><span><span><img src="http://www.ceturk.com/images/sql_server_2008_express_kurma_41.jpg" alt="sql_server_2008_express_kurma_4" width="714" height="533" /></span></span></p>
<p><span><span><strong><span>Installation Center</span></strong><span> penceresine dikkatlice baktığınızda pencerenin sol tarafında <strong>Planning</strong>, <strong>Installation</strong>, <strong>Maintence</strong>, <strong>Tools</strong>, <strong>Resource</strong>, <strong>Advanced</strong> ve <strong>Options</strong> sekmeleri bulunmaktadır. Tahmin edeceğiniz gibi Planning kategorisinde kurma öncesi hazırlıklar ve kurma hakkında bilgi içeren dokümanlarla ilgili seçenekler bulunmaktadır. Bu sırada <strong>Installation</strong> kategorisine geçilirse SQL Server Installation Center penceresi aşağıda verilen şekle dönüşür. </span></span></span></p>
<p><span><span><span><img class="alignnone size-full wp-image-3301" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_5.jpg" alt="sql_server_2008_express_kurma_5" width="678" height="351" /></span></span></span></p>
<p><strong>Maintenance</strong> kategorisinde SQL Server 2008 sürümlerine yükseltme, SQL Server 2008’in tamir edilmesi ve cluster yapısında çalışan node’lar üzerinden SQL Server 2008’i kaldırmakla ilgili linklere ulaşabilirsiniz.</p>
<p><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_6.jpg"><img class="alignnone size-full wp-image-3302" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_6.jpg" alt="sql_server_2008_express_kurma_6" width="625" height="350" /></a></span></span></span></p>
<p><span><span><span><strong><span>Tools</span></strong><span> kategorisinde SQL Server 2008 için geliştirilmiş araçları gerek kurulum öncesi gerekse de kurulum sonrası farklı ihtiyaçlarınız için kullanabilirsiniz. Örneğin; <strong>System Configuration Checker</strong> aracı ile mevcut sistemin SQL Server 2008 kurulumu için hazır olup olmadığını test edebilirsiniz</span></span></span></span></p>
<p><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_7.jpg"><img class="alignnone size-full wp-image-3303" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_7.jpg" alt="sql_server_2008_express_kurma_7" width="621" height="350" /></a></span></span></span></span></p>
<p><span><span><span><span><strong><span>Resources</span></strong><span> kategorisinde SQL Server 2008 ile ilgili yardım dosyalarına, doküman kütüphanesine ve online kaynak sayfalarına ulaşabileceğiniz linkler bulunmaktadır.</span></span></span></span></span></p>
<p><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_8.jpg"><img class="alignnone size-full wp-image-3304" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_8.jpg" alt="sql_server_2008_express_kurma_8" width="593" height="350" /></a></span></span></span></p>
<p><span><span><span><strong><span>Advanced</span></strong><span> kategorisinde SQL Server 2008 ile failover cluster kurulumları için kullanılan araçlar bulunmaktadır. Sistemimize yeni bir SQL Server 2008 kurulumu yapacağımız için <strong>Installation</strong> kategorisine geçerek “<strong>New SQL Server stand-alone installation or add features to an existing installation”</strong> linkini tıkladık.</span></span></span></span></p>
<p><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_9.jpg"><img class="alignnone size-full wp-image-3305" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_9.jpg" alt="sql_server_2008_express_kurma_9" width="649" height="396" /></a></span></span></span></p>
<p><span><span><span><span>SQL Server 2008’in Express sürümünün kurulumu Enterprise ve Standard sürümden pek farklı değildir. SQL Server’ın kurma programı her önemli işlem öncesi sistemi kontrol etmektedir. Bu nedenle <strong>Installation</strong> kategorisindeki <strong>New SQL Server stand-alone installation… </strong>seçeneğini tıkladığınızda ekrana <strong>Setup Support Rules</strong> penceresi gelmekte kurma öncesi sistem kontrol edilmektedir.</span></span></span></span></p>
<p><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_10.jpg"><img class="alignnone size-full wp-image-3306" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_10.jpg" alt="sql_server_2008_express_kurma_10" width="689" height="515" /></a></span></span></span></span></p>
<p><span><span><span><span><span>İşleme devam etmek üzere bu penceredeki OK düğmesi tıklanınca ekrana <strong>Product Key</strong> penceresi gelir. Express Edition ücretsiz olduğu için normal sürümün aksine ürün anahtarı girilmeden bir sonraki adıma geçilebilmektedir.</span></span></span></span></span></p>
<p><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_11.jpg"><img class="alignnone size-full wp-image-3307" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_11.jpg" alt="sql_server_2008_express_kurma_11" width="686" height="515" /></a></span></span></span></span></span></p>
<p><span><span><span><span><span><span>SQL Server 2008’in Express sürümü ücretsiz olduğundan seri numarası girilmiyor. Kurma işlemine devam etmek üzere Next düğmesi tıklandığında ekrana bu kez <strong>Lisense Terms </strong>penceresi gelir. </span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_12.jpg"><img class="alignnone size-full wp-image-3308" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_12.jpg" alt="sql_server_2008_express_kurma_12" width="700" height="514" /></a></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>Lisans haklarıyla ilgili penceredeki <strong>I accept the license terms</strong> onay kutusunu seçip Next düğmesini tıkladığınızda karşınıza aşağıda verilen S<strong>etup Support Files </strong>penceresi gelir. SQL Server 2008’i kurma işlemine devam edebilmek için öncelikle S<strong>etup Support Files </strong>adlı bileşenin kurulması gerekmektedir.</span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_13.jpg"><img class="alignnone size-full wp-image-3309" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_13.jpg" alt="sql_server_2008_express_kurma_13" width="697" height="513" /></a></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span>Bu penceredeki <strong>Install</strong> düğmesini tıkladığınızda <strong>Setup Support Files</strong> adı altında gruplanan dosyalar kurulur ve bu dosyaların kurulması işlemi tamamlandığında aşağıdaki gibi rapor sunulur. Kullandığım bilgisayarla ilgili olarak bir uyarı almış olmama rağmen bu uyarı kurulum için engel değildir. Kullandığınız bilgisayara kurulu Windows güncel değilse sorunlar yaşayabilirsiniz. </span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_14.jpg"><img class="alignnone size-full wp-image-3310" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_14.jpg" alt="sql_server_2008_express_kurma_14" width="691" height="518" /></a></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><span>SQL Server 2008’i kurmaya devam etmek üzere bu penceredeki Next düğmesini tıklarsanız ekrana bu kez kurulacak bileşenlerinin seçildiği <strong>Feature Selection</strong> penceresi gelir. Bu pencerede listelenen bileşenlerinin bir çoğuna ihtiyaç duymasam bile <strong>Select all</strong> düğmesini tıklayıp hepsini seçili duruma getirdim.</span></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_15.jpg"><img class="alignnone size-full wp-image-3311" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_15.jpg" alt="sql_server_2008_express_kurma_15" width="692" height="508" /></a></span></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><span><span>SQL Server 2008’in Experss sürümün en kısıtlı halini yani 91 MB’lık <strong>Runtime Only</strong> kopyasını indirip kurmak istemiş olsaydım <strong>Feature Selection</strong> penceresi aşağıdaki gibi olurdu. </span></span></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_16.jpg"><img class="alignnone size-full wp-image-3312" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_16.jpg" alt="sql_server_2008_express_kurma_16" width="689" height="502" /></a></span></span></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><span><span><span>Tahmin ettiğiniz gibi SQL Server hizmeti <strong>Database Engine Services</strong> bileşeni tarafından verilmektedir. <strong>Management Tools</strong> sayesinde veritabanı hazırlayıp mevcut veritabanları üzerinde işlem yapmak mümkün olmaktadır. <strong>Management Tools</strong> ile yapılan birçok işlemi Visual Studio’nun Server Explorer penceresinden yararlanarak yapmak mümkündür. <strong>Feature Selection</strong> penceresinde SQL Server 2008’in ilgilendiğim bileşenlerini seçip Next düğmesini tıklayıp <strong>Instance Configuration</strong> penceresine geçtim.</span></span></span></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_17.jpg"><img class="alignnone size-full wp-image-3313" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_17.jpg" alt="sql_server_2008_express_kurma_17" width="693" height="517" /></a></span></span></span></span></span></span></span></span></span></span></p>
<p>SQL Server’ın Express sürüm için varsayılan Instance adı <strong>SQLExpress</strong> iken Standard ve Enterprise sürümde <strong>MSSQLServer</strong>’dır. SQL Server 2008’in Express olmayan sürümü toplam 50 Instance’e izin vermektedir. Daha önceki SQL Server sürümlerinden farklı olarak SQL Server 2008’de her Instance’ın adından başka <strong>Intance ID</strong> özelliği bulunmaktadır.</p>
<p><strong>Instance Configuration</strong> penceresinde ayrıca söz konusu Instance’ın kontrolünde hazırlanacak veritabanı, log dosyaları ve raporların saklanacağı klasörü seçebilirsiniz. Instance Configuration penceresinde herhangi bir ayarlama yapmadan Next düğmesini tıklayarak aşağıda verdiğim <strong>Disk Space Requirements </strong>penceresinin ekrana gelmesini sağladım.</p>
<p><span><span><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_18.jpg"><img class="alignnone size-full wp-image-3314" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_18.jpg" alt="sql_server_2008_express_kurma_18" width="693" height="519" /></a></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><span>İşleme devam etmek üzere tekrar Next düğmesini tıkladığınızda ekrana bu kez aşağıda verilen <strong>Server Configuration</strong> penceresi gelmektedir. Bu pencerede SQL Server’la ilgili servisleri çalıştıracak kullanıcılar ve parolaları tespit edilmektedir. Verilen ekran görüntüsünü dikkatlice incelediğinizde toplam 4 servis için kullanıcı seçimi yapmak gerekmektedir.</span></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_19.jpg"><img class="alignnone size-full wp-image-3315" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_19.jpg" alt="sql_server_2008_express_kurma_19" width="700" height="513" /></a></span></span></span></span></span></span></span></span></p>
<p>Bu pencerede listelenen seçenekler kurulmak istenen SQL Server sürümüne ve seçilen bileşenlere göre değişmektedir. <strong>Feature Selection</strong> penceresinde SQL Server Reporting Services bileşenini seçmemiş olsaydım bu pencerede rapor servisi için kullanıcı seçmek gerekmezdi. Bu pencerede <strong>SQL Server Database Engine</strong> hizmeti için mutlaka kullanıcı seçmek gerekmektedir. Bu hizmet için kullanıcı seçilmeden Next düğmesi ile işleme devam edilemez. Her ne kadar bu pencerenin üst kısmında toplam 2 servis olsa bile her iki servis için bir seferde kullanıcı seçmek ve parolasını girmek yerine <strong>Use the same accaunt for all SQL Server services</strong> düğmesini tıklayabilirsiniz. Eğer her servis için farklı kullanıcı yetkili olarak atanacaksa bu düğmeyle ilgilenmemek gerek.</p>
<p>Bu pencerede ayrıca <strong>Startup Type</strong> sütununda kurulum tamamlanıp bilgisayar yeniden açıldığında söz konusu servisin otomatik olarak başlayıp başlamayacağı konusunda seçim yapılmaktadır. SQL Server Database Engine servisinin otomatik olarak çalışmasını istediğimden bu servis için kullanıcı seçimini yaptıktan sonra <strong>Startup Type</strong> sütununda <strong>Automatic</strong>’i seçtim.</p>
<p><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_20.jpg"><img class="alignnone size-full wp-image-3316" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_20.jpg" alt="sql_server_2008_express_kurma_20" width="703" height="519" /></a></p>
<p><span><span><span><span><span><span><span><span>Server Configuration penceresindeki <strong>Collation</strong> sekmesinde SQL Server için dil ve karakter seti seçimi yapılmaktadır. <strong>Database Engine</strong> seçeneği sayesinde veritabanıyla ilgili servisler için karakter seti seçimi yapılırken <strong>Analysis Services</strong> seçeneğiyle analiz servisleri için karakter seçimi yapılmaktadır. </span></span></span></span></span></span></span></span></p>
<p><span><span><span><span><span><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_211.jpg"><img class="alignnone size-full wp-image-3319" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_211.jpg" alt="sql_server_2008_express_kurma_21" width="699" height="528" /></a></span></span></span></span></span></span></span></span></p>
<p><strong>Server Configuration</strong> penceresinde gereken ayarlamalar yapılıp <strong>Next</strong> düğmesi tıklandığında bu kez ekrana aşağıda verilen <strong>Database Engine Configuration</strong> penceresi gelmektedir.</p>
<p><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_22.jpg"><img class="alignnone size-full wp-image-3320" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_22.jpg" alt="sql_server_2008_express_kurma_22" width="699" height="509" /></a></p>
<p>SQL Server, veritabanlarını koruma konusunda size 2 teknik sunar. Veritabanlarını koruma işini işletim sistemine havale etmek istiyorsanız <strong>Windows Authentication Mode</strong> radyo düğmesini seçmelisiniz. Veritabanlarını korurken veya güvenliğini sağlarken SQL Server’dan yararlanmak istiyorsanız <strong>Mixed Mode </strong>radyo düğmesini seçmeniz gerekir. Kendim <strong>SQL Server</strong> <strong>Authentication Mode </strong>seçtim<strong>. </strong></p>
<p>Bu pencerede ayrıca SQL Server için yönetici seçmeniz gerekiyor. Kendim <strong>Add Current User</strong> düğmesini tıklayıp geçerli kullanıcıyı SQL Server yöneticisi olarak atadım. SQL Server 2008’in kurma programı SQL Server yöneticisi olarak atadığınız kullanıcı için basit ve kolay tahmin edilen şifre girmenize izin vermiyor.</p>
<p><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_231.jpg"><img class="alignnone size-full wp-image-3322" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_231.jpg" alt="sql_server_2008_express_kurma_23" width="703" height="525" /></a></p>
<p><span>İster <strong>Windows authentication mod</strong>e seçilsin ister <strong>Mixed Mode</strong> seçilsin <strong>Add Current User</strong> veya <strong>Add</strong> düğmelerinden yararlanıp en az bir kullanıcı seçmek gerekmektedir.  Bu pencerede <strong>Mixed Mode</strong>’u seçip <strong>Add Current User</strong> düğmesini tıklayıp geçerli kullanıcıyı yönetici olarak atadım. Bu ayarlamayı yapıp Next düğmesini tıkladığınızda ekrana raporlama servisiyle ilgili ayarlamaların yapıldığı <strong>Reporting</strong> <strong>Services</strong> <strong>Configuration</strong> penceresi gelir. </span></p>
<p><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_24.jpg"><img class="alignnone size-full wp-image-3323" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_24.jpg" alt="sql_server_2008_express_kurma_24" width="704" height="512" /></a></span></p>
<p><span><span>Tahmin edeceğiniz gibi<strong> Feature Selection</strong> penceresinde rapor servislerinin kurulması için seçim yapmadıysanız bu pencere ekrana gelmez. Bu pencerede <strong>Install the native mode default configuration </strong>adlı ilk  radyo düğmesini seçtim. Bir sonraki adımda ekrana <strong>Error and Usage Reporting</strong> penceresi getirilerek kurma işlemi sırasında meydana gelebilecek hataların veya sorunların Microsoft’a gönderilip gönderilmeyeceği konusunda seçim yapılmaktadır. </span></span></p>
<p><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_25.jpg"><img class="alignnone size-full wp-image-3324" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_25.jpg" alt="sql_server_2008_express_kurma_25" width="700" height="525" /></a></span></span></p>
<p><span><span><span>Error and Usage Reporting penceresinde herhangi bir seçim yapmadan bir sonraki adıma geçip SQL Server’ın kurulmasını başlattım. Her ne kadar kurma işleminin başlangıç aşamalarında bazı kontroller yapılmış olunsa bile ekranda <strong>Error and Usage Reporting</strong> penceresi varken işleme devam etmek üzere Next düğmesi tıklandığında ekrana <strong>Installation Rules</strong> penceresi getirilip sistemin SQL Server 2008’e uygun olup olmadığı tekrar test edilir. Ardından kurulacak bileşenler <strong>Ready to Install</strong> penceresinde listelenir.</span></span></span></p>
<p><span><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_26.jpg"><img class="alignnone size-full wp-image-3325" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_26.jpg" alt="sql_server_2008_express_kurma_26" width="702" height="513" /></a></span></span></span></p>
<p>Bu sırada <strong>Install</strong> düğmesi tıklanırsa kurma işlemi makul bir sürede tamamlanır ve ekrana aşağıda verilen <strong>Complete</strong> penceresi gelir.</p>
<p><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_27.jpg"><img class="alignnone size-full wp-image-3326" src="http://www.ceturk.com/images/sql_server_2008_express_kurma_27.jpg" alt="sql_server_2008_express_kurma_27" width="694" height="522" /></a></p>
<p><span><span>Bu şekilde SQL Server 2008’in Express sürümünün kurulması tamamlandıktan sonra kullanılan bilgisayar veritabanı hizmeti vermeye başlar. Visual Studio’nun <strong>Server Explorer</strong> penceresinden yararlanılıp veritabanı hazırlamak dahil olmak üzere istenen işlemler yapılabilir. Express sürümle birlikte gelen <strong>Management Studio</strong>’dan yararlanılmak istendiğinde ekrana aşağıda verilen <strong>Connect to Server</strong> diyalog kutusu gelmektedir. Bu diyalog kutusunda ilk olarak <strong>Authenticaiton</strong> liste kutusunda kimlik doğrulama yöntemi seçilmelidir. </span></span></p>
<p><span><span><a href="http://www.ceturk.com/images/sql_server_2008_express_kurma_28.jpg"><img src="http://www.ceturk.com/images/sql_server_2008_express_kurma_28.jpg" alt="sql_server_2008_express_kurma_28" width="416" height="308" /></a></span></span></p>
<p><span><span><strong><span>Management Studio</span></strong><span> ile istenen SQL Server sunucusuna bağlandıktan sonra istenen işlemler yapılabilir. </span><span>Bundan sonrası başka bir makalenin konusu olduğu için burada kesiyorum.</span></span></span></p>
<p><span><span><span>Memik YANIK<br />
<a href="mailto:memikyanik@hotmail.com">memikyanik@hotmail.com</a><br />
<a href="http://www.memikyanik.net">www.memikyanik.net</a> </span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceturk.com/sql-server-2008-express-edition%e2%80%99i-kurmak/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<enclosure url="http://www.ceturk.com/images/sql_server_2008_express_kurma_1.jpg" length="90569" type="image/jpg" />	</item>
		<item>
		<title>NetworkInformation Sınıfı</title>
		<link>http://www.ceturk.com/networkinformation-sinifi/</link>
		<comments>http://www.ceturk.com/networkinformation-sinifi/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 13:19:00 +0000</pubDate>
		<dc:creator>Memik</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[GetAllNetworkInterface]]></category>
		<category><![CDATA[NetworkInformation]]></category>
		<category><![CDATA[NetworkInterfaceType]]></category>

		<guid isPermaLink="false">http://www.ceturk.com/?p=3281</guid>
		<description><![CDATA[Zaman zaman kullanılan bilgisayarın ağ zellikleri hakkında bilgi edinilmek istenir. .NET Framework ile System.Net.NetworkInformation’de bu amaçla kullanabileceğiniz sınıflar bulunmaktadır. Bu makalede NetworkInterface sınıfı hakkında bilgi verilmektedir. Bu sınıflardan yararlanmak istediğiniz sınıfın hazırlandığı kod dosyasının üst kısmına aşağıda verilen satırları eklerseniz kod satırlarınız kısaltma imkanı elde edersiniz. Bazı programcılık kitaplarının yazılanlara bakmayın, using anahtar kelimesi yalnızca [...]]]></description>
			<content:encoded><![CDATA[<p>Zaman zaman kullanılan bilgisayarın ağ zellikleri hakkında bilgi edinilmek istenir. .NET Framework ile System.Net.NetworkInformation’de bu amaçla kullanabileceğiniz sınıflar bulunmaktadır. Bu makalede NetworkInterface sınıfı hakkında bilgi verilmektedir. Bu sınıflardan yararlanmak istediğiniz sınıfın hazırlandığı kod dosyasının üst kısmına aşağıda verilen satırları eklerseniz kod satırlarınız kısaltma imkanı elde edersiniz. Bazı programcılık kitaplarının yazılanlara bakmayın, <strong>using</strong> anahtar kelimesi yalnızca kullanılmak istenen söz konusu sınıf ve arayüzlerin aranacağı namespace’leri işaret etmeye yaramaktadır. </p>
<p>using System.Net;<br />
using System.Net.NetworkInformation;</p>
<p>System.Net.NetworkInformation’de çok sayıda <strong>Interface</strong> bulunmaktadır. Sistemin ağ ortamı hakkında bilgi edinilirken bu namespace’teki <strong>NetworkInterface</strong> arayüzünden yararlanılmaktadır. Bu nedenle ilk olarak aşağıdaki gibi kod yazarak NetworkInterface arayüzü için değişken tanımlayıp nesne hazırladık.</p>
<p><strong>NetworkInterface[] Arayüz;<br />
Arayüz = NetworkInterface.GetAllNetworkInterfaces(); </strong></p>
<p>Bu şekilde NetworkInterface nesnesi hazırladıktan sonra <strong>GetEnumerator()</strong> metodunu uygulayıp bilgileri bir <strong>enum</strong> tipine alıp ağ ortamı ile ilgili bilgilere kolayca erişebilirsiniz. Konunun kolay izlenmesini amaçladığımız için GetEnumerator() metodundan yararlanıp hemen enum tipi hazırlamayacağız.</p>
<p>NetworkInterface arayüz nesnesini hazırladıktan sonra <strong>NetworkInterfaceType</strong> tipinde bir değişken tanımladık. Devamında <strong>GetAllNetworkInterface()</strong> metodu ile NetworkInterface nesnesine aktardığımız bilgilerin ilk satırın NetworkInterfaceType ile ilgili kısmını bu değişkene aktardık.</p>
<p>private void Form1_Click(object sender, EventArgs e)<br />
 {<br />
   NetworkInterface[] Arayüz;<br />
   Arayüz = NetworkInterface.GetAllNetworkInterfaces();<br />
   NetworkInterfaceType Network_tipi;<br />
   Network_tipi = Arayüz[0].NetworkInterfaceType;<br />
   textBox1.Text = Network_tipi.ToString();<br />
 }</p>
<p>Bu kod işletildiğinde kullandığınız bilgisayarda Windows’un <strong>Ağ Bağlantıları</strong> penceresinde listelenen ilk seçenekle ilgili bilgilerden <strong>NetworkInterfaceType</strong> ilk textBox’a yazılır. Aşağıda verilen ekran görüntüsü bu kod işletildikten sonra alındı.</p>
<p><img class="alignnone size-full wp-image-3282" src="http://www.ceturk.com/images/networkinformation_sinifi_cs_1.jpg" alt="networkinformation_sinifi_cs_1" width="275" height="103" /></p>
<p>Bu örnekte “Arayüz” adını verdiğimiz NetworkInterface nesnesinin kaç satıra sahip olduğunu öğrenmek istiyorsanız <strong>Length</strong> özelliğine bakabilirsiniz. Length özelliğinin içeriği Windows’un <strong>Ağ Bağlantıları</strong> penceresinde listelenen nesnelerin sayısına bağlıdır. Söz konusu ağ nesnesinin diğer özellikleri hakkında bilgi edinmek için forma birkaç TextBox daha yerleştirip yukarıda verilen koda eklemeler yaptık.</p>
<p> private void Form1_Click(object sender, EventArgs e)<br />
 {<br />
   NetworkInterface[] Arayüz;<br />
   Arayüz = NetworkInterface.GetAllNetworkInterfaces();<br />
   textBox1.Text = Arayüz[0].Name;<br />
   textBox2.Text = Arayüz[0].Description;<br />
   NetworkInterfaceType Network_tipi;<br />
   Network_tipi = Arayüz[0].NetworkInterfaceType;<br />
   textBox3.Text = Network_tipi.ToString();<br />
   PhysicalAddress Mac_Adres;<br />
   Mac_Adres = Arayüz[0].GetPhysicalAddress();<br />
   textBox4.Text = Mac_Adres.ToString();<br />
   double Hiz;<br />
   Hiz = Arayüz[0].Speed/1000000;<br />
   textBox5.Text = Hiz.ToString() + &#8221; Mbps&#8221;;<br />
 } </p>
<p>Bu örnekte <strong>Name</strong>, <strong>Description</strong> ve <strong>Speed</strong> özelliklerinin içeriklerini, <strong>NetworkInterfaceType</strong> ve <strong>GetPhysicalAddress</strong> metotlarının geriye gönderdiği bilgileri TextBox’lara aktardık. Bu kodu işletince aşağıdaki gibi sonuç aldık.</p>
<p><img class="alignnone size-full wp-image-3283" src="http://www.ceturk.com/images/networkinformation_sinifi_cs_2.jpg" alt="networkinformation_sinifi_cs_2" width="275" height="176" /></p>
<p>Bildiğiniz gibi söz konusu bağlantıya ait <strong>Ağ Bağlantısı Durumu</strong> diyalog kutusunda gönderilen ve alınan bilgi miktarı işaret edilmektedir. İlgilendiğimiz ağ bağlantısı ile gönderilen veya alınan bilgi miktarını öğrenmek için aşağıda verdiğim kodu hazırladık.</p>
<p>private void Form1_Click(object sender, EventArgs e)<br />
{<br />
  NetworkInterface[] Arayüz;<br />
  Arayüz = NetworkInterface.GetAllNetworkInterfaces();<br />
  textBox1.Text = Arayüz[0].Name;<br />
  IPv4InterfaceStatistics istatistikler;<br />
  istatistikler = Arayüz[0].GetIPv4Statistics();<br />
  long Giden = istatistikler.BytesSent;<br />
  long Gelen = istatistikler.BytesReceived;<br />
  textBox2.Text = Giden.ToString() + &#8221; Byte&#8221;;<br />
  textBox3.Text = Gelen.ToString() + &#8221; Byte&#8221;; <br />
}</p>
<p>Bu kodda <strong>IPv4InterfaceStatistics</strong> tipinde bir değişken tanımlayıp <strong>GetIPv4Statistics()</strong> metodu ile nesne hazırladıktan sonra <strong>BytesSent</strong> ve <strong>BytesReceived</strong> özelliklerini okuyup TextBox’lara aktardık. Bu kod işletildiğinde aşağıdaki gibi bir sonuç alınır.</p>
<p><img class="alignnone size-full wp-image-3284" src="http://www.ceturk.com/images/networkinformation_sinifi_cs_3.jpg" alt="networkinformation_sinifi_cs_3" width="256" height="125" /></p>
<p>Yukarıdaki sayfalarda <strong>Ağ Bağlantısı</strong> veya <strong>NetworkInterface</strong> nesnesinin üç-beş özelliği hakkında bilgi edinildi. Sözü edilebilinecek çok sayıda özellik ve metot olmasına rağmen IP adresi ile ilgili bilgileri okumakla yetineceğiz. Bu amçla forma 2 adet ListBox yereştirip ilk olarak aşağıda verdiğim kodu yazdım.</p>
<p> private void Form1_Click(object sender, EventArgs e)<br />
{<br />
   NetworkInterface[] Baglantilar;<br />
   Baglantilar = NetworkInterface.GetAllNetworkInterfaces();<br />
   IEnumerator Enum_tipi = Baglantilar.GetEnumerator();<br />
   int i=0;<br />
   while (Enum_tipi.MoveNext())<br />
    {<br />
       i++;<br />
       NetworkInterface Baglanti = (NetworkInterface)Enum_tipi.Current;<br />
       listBox1.Items.Add(Baglanti.Name);<br />
       IPInterfaceProperties IP_ozellikleri = Baglanti.GetIPProperties();<br />
       UnicastIPAddressInformationCollection adresler;<br />
       adresler = IP_ozellikleri.UnicastAddresses;<br />
       if (adresler.Count &gt; 0)<br />
         {<br />
            foreach (IPAddressInformation adres in adresler)<br />
                listBox2.Items.Add(adres.Address.ToString());       <br />
        }<br />
   }<br />
}</p>
<p>Bu kodda önce <strong>GetAllNetworkInterfaces</strong>() metodu ile NetworkInterface nesnesi hazırladık ve bu nesnedeki bilgileri <strong>GetEnumarator</strong> metodu ile enum olarak değerlendirdik. Devamında mevcut bağlantıların adını ilk ListBox’a aktardıktan sonra <strong>foreach</strong> döngüsü ile bu bağlantıların IP adreslerini 2. Listbox’a aktardık.</p>
<p><img class="alignnone size-full wp-image-3285" src="http://www.ceturk.com/images/networkinformation_sinifi_cs_4.jpg" alt="networkinformation_sinifi_cs_4" width="273" height="127" /></p>
<p>Yukarıda sistemdeki network kartları hakkında bilgi edinirken Visual Studio ile <strong>Windows Forms Application</strong> hazırladık. Şimdi konunun anlaşılmasına katkı olması için aynı bilgileri bir de konsol uygulaması ile elde etmeye çalışacağız.</p>
<p>static void Main(string[] args)<br />
 { <br />
   NetworkInterface[] Baglantilar;<br />
  Baglantilar = NetworkInterface.GetAllNetworkInterfaces();<br />
  IEnumerator Enum_tipi = Baglantilar.GetEnumerator();<br />
  while (Enum_tipi.MoveNext())<br />
   {<br />
     NetworkInterface Baglanti = (NetworkInterface)Enum_tipi.Current;<br />
     Console.WriteLine(&#8220;Network kartı açıklama {0}&#8221;, Baglanti.Description);<br />
     Console.WriteLine(&#8220;Network kartı durumu {0}&#8221;, Baglanti.OperationalStatus);<br />
      Console.WriteLine(&#8220;Network kartı Hızı {0}&#8221;, (Baglanti.Speed/1000).ToString());<br />
    }<br />
 }</p>
<p>Kullandığınız bilgisayardaki mevcut IP adreslerini bulmak istiyorsanız <strong>IPAdress</strong> ve <strong>Dns</strong> sınıflarından yararlanabilirsiniz. Dns sınıfının <strong>GetHostName</strong>() metodu sayesinde kullanılan bilgisayarın adı öğrenildikten sonra <strong>GetHostEntry</strong>() metodu ile adres listesi elde edilmektedir.</p>
<p>private void ip_bul_Click(object sender, EventArgs e)<br />
 {<br />
   System.Net.IPAddress[] adres;<br />
   string host_adi = System.Net.Dns.GetHostName();<br />
   adres = System.Net.Dns.GetHostEntry(host_adi).AddressList;<br />
   foreach (System.Net.IPAddress adr in adres)<br />
    {<br />
      listBox1.Items.Add(adr.ToString());   <br />
    }<br />
  }</p>
<p>Memik YANIK<br />
<a href="mailto:memikyanşk@hotmail.com">memikyanşk@hotmail.com</a><br />
<a href="http://www.memikyanik.net">www.memikyanik.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceturk.com/networkinformation-sinifi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.ceturk.com/images/networkinformation_sinifi_cs_1.jpg" length="5431" type="image/jpg" />	</item>
	</channel>
</rss>

