<?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>Murat Çorlu &#187; ASP</title>
	<atom:link href="http://muratcorlu.com/tr/kategori/asp/feed/" rel="self" type="application/rss+xml" />
	<link>http://muratcorlu.com/tr</link>
	<description>"Gölgede duranın, gölgesi olmaz"</description>
	<lastBuildDate>Fri, 30 Apr 2010 10:53:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>ASP&#8217;de Türkçe Hâl ve İyelik Ekleri</title>
		<link>http://muratcorlu.com/tr/yazi/aspde-turkce-hal-ve-iyelik-ekleri/</link>
		<comments>http://muratcorlu.com/tr/yazi/aspde-turkce-hal-ve-iyelik-ekleri/#comments</comments>
		<pubDate>Wed, 01 Mar 2006 15:54:36 +0000</pubDate>
		<dc:creator>Murat</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[kod]]></category>
		<category><![CDATA[türkçe]]></category>

		<guid isPermaLink="false">http://muratcorlu.net/?p=7</guid>
		<description><![CDATA[Sitenizdeki üyelerin isimlerine bir hâl eki veya iyelik eki eklemek sizin hiç ihtiyacınız oldu mu bilmiyorum ama, ben ara ara ihtiyaç duymuştum. İngilizce&#8217;de, mesela &#8220;Murat&#8217;ın Mesajları&#8221; demek istediğimizde &#8220;Murat&#8217;s Messages&#8221; yazıyoruz. Yani isme bir &#8220;&#8216;s&#8221; takısı getirmek yeterli. Ve bu isme göre değişmiyor. İsim olarak Murat da yazsak, Uğur da yazsak, John da yazsak &#8220;&#8216;s&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Sitenizdeki üyelerin isimlerine bir hâl eki veya iyelik eki eklemek sizin hiç ihtiyacınız oldu mu bilmiyorum ama, ben ara ara ihtiyaç duymuştum. İngilizce&#8217;de, mesela &#8220;Murat&#8217;ın Mesajları&#8221; demek istediğimizde &#8220;Murat&#8217;s Messages&#8221; yazıyoruz. Yani isme bir &#8220;&#8216;s&#8221; takısı getirmek yeterli. Ve bu isme göre değişmiyor. İsim olarak Murat da yazsak, Uğur da yazsak, John da yazsak &#8220;&#8216;s&#8221; tek çözüm. Dolayısıyla İngilizce sitelerde bu tür kullanımları çok sık görebiliyoruz.</p>
<p>Ancak gelin görün ki Türkçe&#8217;de durum farklı.<span id="more-7"></span> Türkçe&#8217;de kelimedeki sesli dizilişine ve son harfe göre gelen takının şekli değişiyor. Mesela ikisi de iyelik eki olmasına karşın Murat için &#8220;ın&#8221; eki, Uğur için &#8220;un&#8221; eki getiriyoruz. Bu yüzden ben sitemde bu tür ekleri kullanmaktan hep kaçınmıştım. İlla bu tür şeyler yazdırmamız gerektiğinde Türkçemizin elastiki özelliğine başvurmak tek çarem olmuştu.</p>
<p>Geçenlerde yine bir İETT yolculuğumda (uzun zamandan beri birçok çözüme İETT otobüslerinde ulaştım. Bir ara bu ilginç konuya da değineceğim nasipse), buna bir çözüm bulmak lazım dedim ve oturdum, bu eklerin nasıl oluştuğu üzerine kafa yordum. Ve farkettim ki aslında çok basitmiş. İhtimaller çok da fazla değil. Ama nedense böyle bir kod ne gördüm, ne de bu tür bir yapı kullanan bir site farkettim. Oturdum EditPlus&#8217;ımın karşısına ve yazmaya başladım. Ben ASP ile yazdım ama basit mantığı gören herkes istediği dile kolayca tercüme edebilecektir.</p>
<p>Çalışan bir örneğe şu adresten ulaşabilirsiniz: <a href="http://www.muratcorlu.com/depo/halekleri.asp">http://www.muratcorlu.com/depo/halekleri.asp</a></p>
<p>Örnekte görüleceği üzere aslında iyelik eki eklemek amacıyla başladığım kodlamaya -çözümü benzer olduğundan- hâl eklerini de ekledim. Bütün kodu beraber okumak çok uzun olacaktır ancak mantık benzer olduğundan sadece bir hal eki eklemeyi beraberce görebiliriz. Örneğin -i hâl eki ekleyecek kodu yazıyor olalım. İlk fonksiyonumuz i fonksiyonu:</p>
<p><strong>function i(isim) :</strong></p>

<div class="wp_syntax"><div class="code"><pre class="asp" style="font-family:monospace;"><span style="color: #0000ff; font-weight: bold;">function</span> i<span style="color: #006600; font-weight:bold;">&#40;</span>isim<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #990099; font-weight: bold;">Dim</span> sonuc, sonharf, kelime
sonuc <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;'&quot;</span>
<span style="color: #008000;">'Hemen apostrof işaretimizi koyduk</span>
&nbsp;
kelime <span style="color: #006600; font-weight: bold;">=</span> kharfe<span style="color: #006600; font-weight:bold;">&#40;</span>isim<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #008000;">'kharfe adlı bir fonksiyonumuz var. isim değişkenimizi küçük harfe çeviriyor</span>
<span style="color: #008000;">'Bu fonksiyon konumuz değil, onun için geçiyorum. Kodlarda göreceksiniz tabi</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">if</span> sonharfseslimi<span style="color: #006600; font-weight:bold;">&#40;</span>kelime<span style="color: #006600; font-weight:bold;">&#41;</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #0000ff; font-weight: bold;">true</span> <span style="color: #990099; font-weight: bold;">then</span>
sonuc <span style="color: #006600; font-weight: bold;">=</span> sonuc <span style="color: #006600; font-weight: bold;">&amp;</span>amp<span style="color: #006600; font-weight: bold;">;</span> <span style="color: #cc0000;">&quot;y&quot;</span>
<span style="color: #990099; font-weight: bold;">end</span> <span style="color: #990099; font-weight: bold;">if</span>
<span style="color: #008000;">'Sonharfseslimi fonksiyonu ismin son harfine bakıyor ve eğer son harf bir sesli</span>
<span style="color: #008000;">'harf ise true değerini gönderiyor. Biz de kaynaştırma harfimizi koyuyoruz hemen</span>
&nbsp;
sonharf <span style="color: #006600; font-weight: bold;">=</span> sonsesli<span style="color: #006600; font-weight:bold;">&#40;</span>kelime<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #008000;">'sonsesli fonksiyonu kelimedeki son sesli harfin konumunu veriyor. Çünkü ekin</span>
<span style="color: #008000;">'alacağı sesli harfi bu sesliye göre belirleyeceğiz.</span>
&nbsp;
sonuc <span style="color: #006600; font-weight: bold;">=</span> sonuc <span style="color: #006600; font-weight: bold;">&amp;</span>amp<span style="color: #006600; font-weight: bold;">;</span> sesliyeEk<span style="color: #006600; font-weight:bold;">&#40;</span>sonharf, <span style="color: #cc0000;">&quot;i&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #008000;">'sesliyeek fonksiyonu aslında can alıcı fonksiyonumuz sayılabilir. Bu fonksiyon</span>
<span style="color: #008000;">'son sesli harfe, &quot;i&quot; hali için uygun sesli harf karşılığını gönderiyor.</span>
<span style="color: #008000;">'fonksiyonu aşağıda görebilirsiniz.</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">if</span> buyukMu<span style="color: #006600; font-weight:bold;">&#40;</span>right<span style="color: #006600; font-weight:bold;">&#40;</span>isim, <span style="color: #800000;">1</span><span style="color: #006600; font-weight:bold;">&#41;</span><span style="color: #006600; font-weight:bold;">&#41;</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #0000ff; font-weight: bold;">true</span> <span style="color: #990099; font-weight: bold;">then</span>
sonuc <span style="color: #006600; font-weight: bold;">=</span> bharfe<span style="color: #006600; font-weight:bold;">&#40;</span>sonuc<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #990099; font-weight: bold;">end</span> <span style="color: #990099; font-weight: bold;">if</span>
<span style="color: #008000;">'burada ismin son harfi büyükse sonucu da büyütüyoruz.</span>
&nbsp;
i <span style="color: #006600; font-weight: bold;">=</span> isim <span style="color: #006600; font-weight: bold;">&amp;</span>amp<span style="color: #006600; font-weight: bold;">;</span> sonuc
<span style="color: #008000;">'ismin sonuna hal ekimizi takıp gönderdik...</span>
<span style="color: #990099; font-weight: bold;">end</span> <span style="color: #0000ff; font-weight: bold;">function</span></pre></div></div>

<p>Can alıcı fonkyisonumuz olan <strong>function sesliyeEk(harf, tur) :</strong></p>

<div class="wp_syntax"><div class="code"><pre class="asp" style="font-family:monospace;"><span style="color: #0000ff; font-weight: bold;">function</span> sesliyeEk<span style="color: #006600; font-weight:bold;">&#40;</span>harf, tur<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #990099; font-weight: bold;">Dim</span> SessizHarfler, SesliHarfler, kacinciharf
SesliHarfler <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;aıeiouöü&quot;</span>
kacinciharf <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #330066;">instr</span><span style="color: #006600; font-weight:bold;">&#40;</span>SesliHarfler, harf<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #008000;">'gelen sesli harfin SesliHarfler listemizde kaçınca harf olduğuna baktık</span>
<span style="color: #008000;">'sonrasında hâl seçeneğine göre bu harfe uygun sesli harfi gönderiyoruz:</span>
<span style="color: #990099; font-weight: bold;">select</span> <span style="color: #990099; font-weight: bold;">case</span> tur
<span style="color: #990099; font-weight: bold;">case</span> <span style="color: #cc0000;">&quot;iyelik&quot;</span>,<span style="color: #cc0000;">&quot;i&quot;</span><span style="color: #006600; font-weight: bold;">:</span>
<span style="color: #990099; font-weight: bold;">select</span> <span style="color: #990099; font-weight: bold;">case</span> kacinciharf
<span style="color: #990099; font-weight: bold;">case</span> <span style="color: #800000;">1</span>,<span style="color: #800000;">2</span><span style="color: #006600; font-weight: bold;">:</span>
sesliyeEk <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;ı&quot;</span>
<span style="color: #990099; font-weight: bold;">case</span> <span style="color: #800000;">3</span>,<span style="color: #800000;">4</span><span style="color: #006600; font-weight: bold;">:</span>
sesliyeEk <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;i&quot;</span>
<span style="color: #990099; font-weight: bold;">case</span> <span style="color: #800000;">5</span>,<span style="color: #800000;">6</span><span style="color: #006600; font-weight: bold;">:</span>
sesliyeEk <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;u&quot;</span>
<span style="color: #990099; font-weight: bold;">case</span> <span style="color: #800000;">7</span>,<span style="color: #800000;">8</span><span style="color: #006600; font-weight: bold;">:</span>
sesliyeEk <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;ü&quot;</span>
<span style="color: #990099; font-weight: bold;">end</span> <span style="color: #990099; font-weight: bold;">select</span>
<span style="color: #990099; font-weight: bold;">case</span> <span style="color: #cc0000;">&quot;e&quot;</span>,<span style="color: #cc0000;">&quot;de&quot;</span>,<span style="color: #cc0000;">&quot;den&quot;</span><span style="color: #006600; font-weight: bold;">:</span>
<span style="color: #990099; font-weight: bold;">select</span> <span style="color: #990099; font-weight: bold;">case</span> kacinciharf
<span style="color: #990099; font-weight: bold;">case</span> <span style="color: #800000;">1</span>,<span style="color: #800000;">2</span>,<span style="color: #800000;">5</span>,<span style="color: #800000;">6</span><span style="color: #006600; font-weight: bold;">:</span>
sesliyeEk <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;a&quot;</span>
<span style="color: #990099; font-weight: bold;">case</span> <span style="color: #800000;">3</span>,<span style="color: #800000;">4</span>,<span style="color: #800000;">7</span>,<span style="color: #800000;">8</span><span style="color: #006600; font-weight: bold;">:</span>
sesliyeEk <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;e&quot;</span>
<span style="color: #990099; font-weight: bold;">end</span> <span style="color: #990099; font-weight: bold;">select</span>
<span style="color: #990099; font-weight: bold;">end</span> <span style="color: #990099; font-weight: bold;">select</span>
<span style="color: #990099; font-weight: bold;">end</span> <span style="color: #0000ff; font-weight: bold;">function</span></pre></div></div>

<p>Görüldüğü üzere her ek için kelimede geçen son sesli harfe bakmak yeterli. Bunun dışında kaynaştırma harfini de kontrol etmek gerekiyor tabi.</p>
<p>Kodun kullanımına gelince; kodu açıp okuduktan sonra projenize en uyun şekilde kullanmak size kalıyor tabi ama, şu anki haliyle hal ekleri fonksiyonlarını kullanmak istediğiniz asp sayfasında, fonksiyonu kullanmak istediğiniz yerin öncesinde bir yerlerde (mesela sayfanın en başında) hâl ekleri fonksiyonlarını barındıran asp sayfasını include etmeniz yeterli (&lt;!&#8211;#include file=&#8221;inc_hal.asp&#8221;&#8211;&gt;). Bundan sonra, mesela isim değişkenimiz Isim olsun. Bunun iyelik ve hâl eklerini yazdıracak kodumuz şu şekilde olacaktır:</p>

<div class="wp_syntax"><div class="code"><pre class="asp" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">response</span>.<span style="color: #330066;">write</span> iyelik<span style="color: #006600; font-weight:bold;">&#40;</span>Isim<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #990099; font-weight: bold;">response</span>.<span style="color: #330066;">write</span> e<span style="color: #006600; font-weight:bold;">&#40;</span>Isim<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #990099; font-weight: bold;">response</span>.<span style="color: #330066;">write</span> i<span style="color: #006600; font-weight:bold;">&#40;</span>Isim<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #990099; font-weight: bold;">response</span>.<span style="color: #330066;">write</span> de<span style="color: #006600; font-weight:bold;">&#40;</span>Isim<span style="color: #006600; font-weight:bold;">&#41;</span>
<span style="color: #990099; font-weight: bold;">response</span>.<span style="color: #330066;">write</span> den<span style="color: #006600; font-weight:bold;">&#40;</span>Isim<span style="color: #006600; font-weight:bold;">&#41;</span></pre></div></div>

<p>Umarım faydalı olmuştur. Her türlü sorularınızı İletişim formundan iletebilirsiniz.</p>
<p>Kaynak dosyalar : <a href="http://www.muratcorlu.com/depo/halekleri.zip">http://www.muratcorlu.com/depo/halekleri.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://muratcorlu.com/tr/yazi/aspde-turkce-hal-ve-iyelik-ekleri/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
