<?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>Venus Programlama</title>
	<atom:link href="http://programlama.venus.gen.tr/feed" rel="self" type="application/rss+xml" />
	<link>http://programlama.venus.gen.tr</link>
	<description>Programlama üzerine deneyimler, ipuçları ve hazır kodlar...</description>
	<lastBuildDate>Mon, 14 Dec 2009 21:06:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fazladan Taksimli Adresler</title>
		<link>http://programlama.venus.gen.tr/digerleri/fazladan-taksimli-adresler.html</link>
		<comments>http://programlama.venus.gen.tr/digerleri/fazladan-taksimli-adresler.html#comments</comments>
		<pubDate>Mon, 14 Dec 2009 21:06:19 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[Diğerleri]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[mod rewrite]]></category>
		<category><![CDATA[rewritecond]]></category>
		<category><![CDATA[rewriterule]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=50</guid>
		<description><![CDATA[Bugün Google&#8217;ın sitelerimden birini adres.com/dosya// şeklinde dizinine eklediğini gördüm. Normal şartlar altında böyle olmaması gerek. Ya birileri bu şekilde bağlantı verdi ve google da bu bağlantıyı kontrol etti. Ya da bir iç kod hatası sonucu bu sayfaya ulaşabildi. Ama sorun şu ki bu adreslerin düzeltilmesi ve tek bölü işareti ile yayınlanması gerekliydi.
İnternette biraz araştırdım ve [...]]]></description>
			<content:encoded><![CDATA[<p>Bugün Google&#8217;ın sitelerimden birini adres.com/dosya// şeklinde dizinine eklediğini gördüm. Normal şartlar altında böyle olmaması gerek. Ya birileri bu şekilde bağlantı verdi ve google da bu bağlantıyı kontrol etti. Ya da bir iç kod hatası sonucu bu sayfaya ulaşabildi. Ama sorun şu ki bu adreslerin düzeltilmesi ve tek bölü işareti ile yayınlanması gerekliydi.</p>
<p>İnternette biraz araştırdım ve benzer sorunu yaşayabilecek arkadaşlar için HTACCESS dosyasında yapacakları küçük bir düzenlemeyle buna engel olabileceklerini öğrendim.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p50code2'); return false;">Kodu Görüntüle</a> HTACCESS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p502"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p50code2"><pre class="htaccess" style="font-family:monospace;">RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)//$
RewriteRule . http://www.adres.com%1/ [R=301]</pre></td></tr></table></div>

<p>Böylelikle ola ki arama motoru arkadaşçıl (SEF) adreslerle çalışan bir siteniz varsa yanlış bir indexlenmenin önüne geçmiş olacaksınız&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/digerleri/fazladan-taksimli-adresler.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# ile Hazırlanan Programı Kapatmak</title>
		<link>http://programlama.venus.gen.tr/c-sharp/c-ile-hazirlanan-programi-kapatmak.html</link>
		<comments>http://programlama.venus.gen.tr/c-sharp/c-ile-hazirlanan-programi-kapatmak.html#comments</comments>
		<pubDate>Wed, 05 Aug 2009 12:37:06 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[C Sharp]]></category>
		<category><![CDATA[program kapatma kodu]]></category>
		<category><![CDATA[program kapatmak]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=44</guid>
		<description><![CDATA[C-Sharp kullanılarak hazırladığınız programı yeri geldiğinde kapatmak konusunda sıkıntı yaşayabilirsiniz. İşlemdeki bir form yüklenirken bazı kodların çalışmadığını göreceksiniz. Bu nedenle programınızı kapatmak için yerine göre aşağıdaki kodlardan birini kullamalısınız.
form.Close();
Formu kapatır. Form yüklenirken bu kod çalışmaz. Eğer program tek formdan oluşuyorsa bu aynı zamanda programı kapatmak anlamına gelecektir.
Application.Exit();
Eğer GUI kullandıysanız bu işinize yarayacaktır.
Environment.Exit(kod);
Diğer bir programı kapatma [...]]]></description>
			<content:encoded><![CDATA[<p>C-Sharp kullanılarak hazırladığınız programı yeri geldiğinde kapatmak konusunda sıkıntı yaşayabilirsiniz. İşlemdeki bir form yüklenirken bazı kodların çalışmadığını göreceksiniz. Bu nedenle programınızı kapatmak için yerine göre aşağıdaki kodlardan birini kullamalısınız.</p>
<p><b>form.Close();</b><br />
Formu kapatır. Form yüklenirken bu kod çalışmaz. Eğer program tek formdan oluşuyorsa bu aynı zamanda programı kapatmak anlamına gelecektir.</p>
<p><b>Application.Exit();</b><br />
Eğer GUI kullandıysanız bu işinize yarayacaktır.</p>
<p><b>Environment.Exit(kod);</b><br />
Diğer bir programı kapatma kodudur. Parantez içindeki yer bir integer değeri olup buradaki değer programın kapatılış kodudur. Bu konuda bir bilginiz yoksa 0 yazın.</p>
<p><b>Process.GetCurrentProcess().Kill();</b><br />
Bu da diğer bir etkili yol. Nasıl Process.Start(&#8221;yol&#8221;) kullanılarak bir program çalıştırılıyorsa, C# kullanarak bir programı bu yolla kapatabilirsiniz. GetCurrentProcess() bir fonksiyon olup kullanılan programa işaret eder.</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/c-sharp/c-ile-hazirlanan-programi-kapatmak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fonksiyon Hazırlamak</title>
		<link>http://programlama.venus.gen.tr/php/fonksiyon-hazirlamak.html</link>
		<comments>http://programlama.venus.gen.tr/php/fonksiyon-hazirlamak.html#comments</comments>
		<pubDate>Wed, 04 Mar 2009 18:39:06 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[fonksiyonlar]]></category>
		<category><![CDATA[for next]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[php dersleri]]></category>
		<category><![CDATA[php fonksiyon]]></category>
		<category><![CDATA[php fonksiyon hazırlamak]]></category>
		<category><![CDATA[php işlemleri]]></category>
		<category><![CDATA[strtolower]]></category>
		<category><![CDATA[strtoupper]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=41</guid>
		<description><![CDATA[PHP içerisinde birçok fonksiyon barındırır. Bu fonksiyonların bir kısmı kendiliğinden gelir, bir kısmı ise php.ini dosyasından belirteceğiniz modüllerle kullanılabilir hale gelir. Örneğin strtolower() fonksiyonu her php dosyasının çalıştırabileceği bir fonksiyon iken imagecreatefromjpeg() fonksiyonu yalnız php_gd2.dll kütüphanesinin dahili ile çalıştırılabilir.
Ayrıca php kodlaması yapan kişi yani programcı da kendine özgü fonksiyonlar yazabilir. Bunun için php dosyamızın içerisinde [...]]]></description>
			<content:encoded><![CDATA[<p>PHP içerisinde birçok fonksiyon barındırır. Bu fonksiyonların bir kısmı kendiliğinden gelir, bir kısmı ise php.ini dosyasından belirteceğiniz modüllerle kullanılabilir hale gelir. Örneğin <strong>strtolower()</strong> fonksiyonu her php dosyasının çalıştırabileceği bir fonksiyon iken <strong>imagecreatefromjpeg()</strong> fonksiyonu yalnız php_gd2.dll kütüphanesinin dahili ile çalıştırılabilir.</p>
<p>Ayrıca php kodlaması yapan kişi yani programcı da kendine özgü fonksiyonlar yazabilir. Bunun için php dosyamızın içerisinde fonksiyon kodlarına yer verebileceğimiz gibi <strong>include()</strong> ya da <strong>require()</strong> ile fonksiyonların bulunduğu bir dosyadan da veri çekebiliriz.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p41code7'); return false;">Kodu Görüntüle</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p417"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p41code7"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> YeniFonksiyon<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$degisken</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #666666; font-style: italic;">// işlemler buraya gelecek</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Burada fonksiyon adından sonra gelen parantezle belirttiğimiz değişkenler olmasa da olur. Fakat her durumda parantez açılır ve kapanır YeniFonksiyon() şeklinde. Eğer bir değişken için varsayılan bir değer belirtmek istersek bunu == operatörü ile yaparız:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p41code8'); return false;">Kodu Görüntüle</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p418"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p41code8"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> HaritadaGoster<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$nereyi</span><span style="color: #339933;">,</span> <span style="color: #000088;">$neresi</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'Merkez'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #666666; font-style: italic;">// işlemler buraya gelecek</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Yukarıdaki kodda görüldüğü üzere fonksiyonda ilk değişkeni kullanmak zorunludur, fakat ikinci değişken olan $neresi kullanılmasa da olur. Bu durumda &#8216;Merkez&#8217; adını alacaktır. Bu değişkenler her durumda fonksiyon içinde kullanılacaktır. Değişkenlerin aralarına virgül (,) koymayı unutmamak gerek.</p>
<p>Fonksiyon içerisindeki her değişken, genel değişkenlerden bağımsız hareket etmektedir. Yani eğer fonksiyon dışındaki php belgemizde $degisken kullanıldıysa ve değer içeriyorsa, fonksiyon içinde bu değişken işlev görmez ve undefined (tanımsız) olarak görülür. Bunu engelleyip genel değişkeni fonksiyona dahil etmek için <strong>global</strong> komutunu kullanırız.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p41code9'); return false;">Kodu Görüntüle</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p419"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p41code9"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> Kucult<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$genel</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">return</span> <a href="http://www.php.net/strtolower"><span style="color: #990000;">strtolower</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$genel</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Her fonksiyon return (veri); şeklinde geri döner. Buradan dönen veri mantıksal (true, false), alfasayısal, sayısal ya da dize değer taşıyabilir.</p>
<p>Şimdi öğrendiklerimizi uygulayacağımız bir php fonksiyonu yazalım. Örneğin yazacağımız fonksiyon bir cümlede geçen her kelimenin baş harfini büyütsün ve bize versin.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p41code10'); return false;">Kodu Görüntüle</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4110"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code" id="p41code10"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$degisken</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'büyük tavşan küçük fareyi görünce çok sevindi.'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> BasHarfBuyut<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$degisken</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> BasHarfBuyut<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelime</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$kelimeler</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/explode"><span style="color: #990000;">explode</span></a><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$kelime</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$yeni_kelime</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <a href="http://www.php.net/count"><span style="color: #990000;">count</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelimeler</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strtoupper"><span style="color: #990000;">strtoupper</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <a href="http://www.php.net/substr"><span style="color: #990000;">substr</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> 1<span style="color: #339933;">,</span> <a href="http://www.php.net/strlen"><span style="color: #990000;">strlen</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> 1 <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$yeni_kelime</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$kelimeler</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">' '</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">return</span> <a href="http://www.php.net/trim"><span style="color: #990000;">trim</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$yeni_kelime</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Bu örnekte fonksiyonun görevi öncelikle tüm boşluk ( ) işaretlerine bakarak yeni bir dize oluşturmak ve böylece kelimeleri ayırmak. Daha sonraki işlem kelimelerin ilk harfini ayrı ayrı büyütmek ve son olarak işlenmiş halini göndermek.</p>
<p>Bir sonraki konuda görüşmek dileklerimizle&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/php/fonksiyon-hazirlamak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript String İşlemleri</title>
		<link>http://programlama.venus.gen.tr/javascript/javascript-string-islemleri.html</link>
		<comments>http://programlama.venus.gen.tr/javascript/javascript-string-islemleri.html#comments</comments>
		<pubDate>Tue, 03 Feb 2009 18:56:00 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[alfasayısal değişkenler]]></category>
		<category><![CDATA[indexof]]></category>
		<category><![CDATA[java script]]></category>
		<category><![CDATA[java string]]></category>
		<category><![CDATA[javascript fonksiyonları]]></category>
		<category><![CDATA[tolowercase]]></category>
		<category><![CDATA[touppercase]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=37</guid>
		<description><![CDATA[Uzun bir aradan sonra tekrar merhaba. Bugün sizlerle Java Script dilinde kullandığımız alfasayısal (string) değerler ile ilgili fonksiyonlar ve işlemler hakkında bilgi vereceğim. Öncelikle script dilinde nasıl bir string (harfler ve sayılar) değişken oluştururuz buna bakalım:
var a = 'Merhaba Dünya';
var b = 'İstanbul un en güzel mekanları burada.';
Burada &#8220;var degiskenadi = tırnak veya çift tırnak [...]]]></description>
			<content:encoded><![CDATA[<p>Uzun bir aradan sonra tekrar merhaba. Bugün sizlerle Java Script dilinde kullandığımız alfasayısal (string) değerler ile ilgili fonksiyonlar ve işlemler hakkında bilgi vereceğim. Öncelikle script dilinde nasıl bir string (harfler ve sayılar) değişken oluştururuz buna bakalım:</p>
<p><code>var a = 'Merhaba Dünya';<br />
var b = 'İstanbul un en güzel mekanları burada.';</code></p>
<p>Burada &#8220;var degiskenadi = tırnak veya çift tırnak arasına değişken değeri&#8221; şeklinde bir ayarlama yaparak değişkenlerimizi belirledik. Eğer üst ayraç kullanacaksak kaçış işareti olan (\) unutulmamalıdır. Aksi takdirde java script hata verecektir.</p>
<p><code>var b = 'İstanbul'un en güzel mekanları burada.'; // yanlış<br />
var c = 'İstanbul\'un en güzel mekanları burada.'; // doğru<br />
var d = "İstanbul'un en güzel mekanları burada."; // ayıraç yerine çift tırnak, diğer bir yol</code></p>
<p>Bir string değişkenin karakter sayısını <b>.length</b> komutu vermektedir.</p>
<p><code>var a = 'Merhaba Dünya!';<br />
var b = a.length; // değişken 14 sayısını içerir</code></p>
<p>Alfasayısal değişkenleri birleştirirken + (artı) işareti kullanılır.</p>
<p><code>var a = 'Murat';<br />
var b = 'Eliçalışkan';<br />
var c = a + ' ' + b; // değişken Murat Eliçalışkan olmuştur</code></p>
<p>Eğer bir string değer ile integer (sayısal) değer toplanırsa değer otomatik olarak alfasayısala dönüşecektir. Alfasayısallarda 4 işlem yapılamaz. Fakat string bir değer integere dönüştürülmek istenirse toString() fonksiyonundan yararlanabiliriz:</p>
<p><code>var a = 1 + 2;<br />
var b = a.toString(); // b string bir değişken olup değeri '3' dür.</code></p>
<p>Bir alfasayısal değişken sadece sayısal değerler içeriyorsa sayısal değere dönüştürülebilir. Bunun için toplama haricindeki matematiksel bir işlem yapmak yeterlidir (Toplama yani + işareti javascriptin kuralı gereği değişkenin sonuna ekler ve alfasayısal değer verir). Örneğin:</p>
<p><code>var a = '100';<br />
var b = a * 10; // değişken 1000 olur</code></p>
<p><strong>Çeşitli Alfasayısal Fonksiyonlar</strong></p>
<p><b>indexOf() Fonksiyonu</b></p>
<p>İlk olarak indexOf() fonksiyonundan bahsedelim. Bu fonksiyon bize alfasayısal bir değer içerisinde yer alan karakter ya da karakter grubunun konumu hakkında bilgi verir. Eğer sonuç -1 ise öyle bir karakter yoktur, 0 ve daha büyükse ise karakterin bulunduğu yeri bize bildirir.</p>
<p><code>var a = 'Merhaba Dünya!';<br />
var b = a.indexOf('a'); // 4 verir</code></p>
<p>Sonuç 4 olarak çıkacaktır. Çünkü aranılan ilk değer 5. sıradadır, ilk değer 0 ile başlayacağı için bu bir eksiği olacaktır. Eğer a.indexOf(&#8217;w') deseydik, sonuç bulamayacağı için -1 olarak görünecekti.</p>
<p><b>charAt() Fonksiyonu</b></p>
<p>Verilen numarada geçen karakteri bize veren fonksiyondur.</p>
<p><code>var a = 'Merhaba Dünya!';<br />
document.write(a.charAt(5)); // b harfini gösterir.</code></p>
<p><b>split() Fonksiyonu</b></p>
<p>Bu fonksiyon değişkendeki bir karaktere göre kelimeleri dize değeri haline getirmemize yarar. Örneğin bir cümledeki tüm kelimeleri tek tek ele almamız gerekirse:</p>
<p><code>var a = 'Bugün hava güzel!';<br />
var dize = new Array();<br />
dize = a.split(' '); // boşluk karakterini ayıraç olarak alır</code></p>
<p>Bu durumda dize[0] Bugün, dize[1] hava, dize[2] ise güzel! kelimelerini barındıracaktı.</p>
<p><b>substring() Fonksiyonu</b></p>
<p>Değişken içerisinde belirtilen karakterleri almamızı sağlar. Örneğin bir kelimenin içerisindeki 4. karakter ile 8. karakter arasındaki kelimeleri alacaksak. substring( baslangic, bitis ) şeklinde kullanılır:</p>
<p><code>var a = 'Venus Programlama';<br />
document.write( a.substring(0, 5) ); // Venus verir</code></p>
<p><b>substr() Fonksiyonu</b></p>
<p>Diğerinden farklı olarak ikinci yazılan değer, ne kadar karakter ilerleneceğidir. Örneğin substr( 4, 8 ) dersek 4. karakterden 8 ileri gidip bu kısmı alacağı anlamına gelir.</p>
<p><b>toUpperCase() ve toLowerCase() Fonksiyonu</b></p>
<p>Bir alfasayısal değerdeki tüm harfleri küçültür ya da büyütür. Örneğin:</p>
<p><code>var a = 'Merhaba Dünya!';<br />
var b = a.toUpperCase(); // MERHABA DÜNYA!<br />
var c = a.toLowerCase(); // merhaba dünya!</code></p>
<p>Bir sonraki yazıda görüşmek dileklerimizle&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/javascript/javascript-string-islemleri.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Winsock Uygulaması</title>
		<link>http://programlama.venus.gen.tr/visual-basic/winsock-uygulamasi.html</link>
		<comments>http://programlama.venus.gen.tr/visual-basic/winsock-uygulamasi.html#comments</comments>
		<pubDate>Mon, 05 Jan 2009 11:00:33 +0000</pubDate>
		<dc:creator>Venus</dc:creator>
				<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[hazır kod]]></category>
		<category><![CDATA[istemci]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[sunucu]]></category>
		<category><![CDATA[uygulama]]></category>
		<category><![CDATA[vb winsock]]></category>
		<category><![CDATA[vbasic]]></category>
		<category><![CDATA[vbasic 6]]></category>
		<category><![CDATA[visual basic örnek]]></category>
		<category><![CDATA[winsock]]></category>
		<category><![CDATA[winsock bağlantı]]></category>

		<guid isPermaLink="false">http://programlama.venus.gen.tr/?p=35</guid>
		<description><![CDATA[* Makalede anlatılanlar Visual Basic 6.0 Service Pack 6&#8242;da denenmiştir.
Visual Basic kullananlar bilir ki toolbox (soldaki araç kutusu) üzerinde sağ tuşla tıklayarak &#8220;Components&#8230;&#8221; menüsüne tıklayarak araçlarımıza yeni bileşenler ekleyebiliriz. Bunlar DLL, OCX dosyaları olup içlerinde hazırladığımız programda kullanacağımız çeşitli araçlar içerir (Progress Bar, Form 2.0, Inet vs.). İşte burada listelenen &#8220;Microsoft Winsock Control 6.0&#8243; ı araçlarımız [...]]]></description>
			<content:encoded><![CDATA[<p>* Makalede anlatılanlar Visual Basic 6.0 Service Pack 6&#8242;da denenmiştir.</p>
<p>Visual Basic kullananlar bilir ki toolbox (soldaki araç kutusu) üzerinde sağ tuşla tıklayarak &#8220;Components&#8230;&#8221; menüsüne tıklayarak araçlarımıza yeni bileşenler ekleyebiliriz. Bunlar DLL, OCX dosyaları olup içlerinde hazırladığımız programda kullanacağımız çeşitli araçlar içerir (Progress Bar, Form 2.0, Inet vs.). İşte burada listelenen &#8220;Microsoft Winsock Control 6.0&#8243; ı araçlarımız arasına alıp formda yer verirsek bir TCP/IP ya da TCP/UDP protokollü geçişe sahip bir ağ geçişi sağlamış oluruz. Araç kutusundan Winsock&#8217;u seçip formumuza ekleyelim.</p>
<p>Özellikler &#8220;Properties&#8221; bölümünde yer alan RemoteHost ve RemotePort, başka bir bilgisayara bu protokol üzerinden bağlanmamız için gerekli iki önemli özellik. RemoteHost bir sunucu adı ya da ip adresi olabilir, port ise karşı tarafa verileri ileteceğimiz 0-65536 arasında olabilecek port numarasıdır. Bu bilgileri girdikten sonra kodlarımız arasına şunu yazarak bağlantıyı sağlarız:</p>
<p><code>Winsock1.Connect</code></p>
<p>Burada geçen Winsock1, Winsock için bir isim olup Özellikler menüsünden bu isim değiştirilebilir. Peki ya bağlanamazsa? Eğer bağlantı sağlanamazsa bunu anlamanın yolu uygulama ile birlikte gelen nesne_Error fonksiyonudur.</p>
<p><code>Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, _<br />
ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, _<br />
ByVal HelpContext As Long, CancelDisplay As Boolean)</p>
<p>Dim msg as Integer<br />
msg = MsgBox("Bağlantı sağlanamıyor..", vbOkOnly, "Hatalı")</p>
<p>End Sub</code></p>
<p>Hata istemci tabanlı olabileceği gibi sunucu tabanlı da olabilir. Winsock uygulaması portlar arası bağlantı felsefesine dayanır. Bu durumda sunucu açık olsa bile, yerleştirebileceği bir port yoksa da hata almanız kaçınılmaz.</p>
<p>Bağlantıyı sağladıktan sonra veri göndermek için SendData() fonksiyonundan yararlanırız. Bu yine Winsock için belirlediğimiz ismin sonuna ilgili ek gelerek yapılır.</p>
<p><code>Winsock1.SendData( "Selam, nasıl gidiyor?" )</code></p>
<p>Peki veri geldiğinde yapacaklarımızı nerden ayarlarız. Bunun için nesne_DataArrival fonksiyonunu kullanırız. Fonksiyon sadece bir veri alımı gerçekleştiğinde çalışacaktır. Bu durumda gelen veriyi GetData() ile alırız.</p>
<p><code>Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)<br />
   DIM Mesaj as String<br />
   Call Winsock1.GetData(Mesaj)<br />
End Sub</code></p>
<p>Sağlanan bir bağlantıyı kapatmak içinse yine nesne adına Close eklemesi yapıyoruz. Böylece bağlantı kesilmiş olacaktır. Bağlantıyı sunucu taraflı kesmek için de aynı komut geçerlidir.</p>
<p><code>Winsock1.Close</code></p>
<p>Şimdiye kadar anlattıklarımız İstemci (Client) ile Sunucu (Server) için ortak olması gerekenlerdi. Eğer sunucu isek öncelikle Winsock ile açtığımız portları Listen fonksiyonu ile dinlemeye almak, sonrasında gelen bağlantıyı kabul etmemize yarayan nesne.Accept( reqID ) komutu kullanılmalıdır. Yoksa bağlantı gerçekleşmez.</p>
<p><code>Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)<br />
   Call Winsock1.Close<br />
   Call Winsock1.Accept(requestID)<br />
End Sub</code></p>
<p>Burada öncelikle Close kullanmamızın nedeni, asılı kalan bağlantıyı kapatmak. Böylece bağlantı sorunsuzca sağlanacaktır. Bir bağlantı durumunu nesne.State ile almaktayız. Bu bir sayısal değere işaret edip 2 ise boş, 7 ise bağlı, 8 ise bağlantısı kesilmiş uygulamalar demektir.</p>
<p>Sunucu, kendisine bağlanacak client kadar porta sahip olmalıdır. Örneğin en fazla 4 kullanıcı bağlanacak bir ağ için 5000-5001-5002-5003 portları seçilebilir. İşimizi kolaylaştırması açısından Winsock uygulamamızın Index değerini 0 yaparak bir dize değeri haline getirebiliriz. Böylece 4 kullanıcıya birden mesaj atmak oldukça kolaylaşacaktır.</p>
<p><code>DIM i as Integer<br />
For i = 0 to max_client<br />
   If Winsock1(i).State = 7 Then Winsock1(i).SendData( "Sunucu Mesajı: Hoşgeldiniz..." );<br />
Next i</code></p>
<p>Aynı zamanda bir sunucu için localport özelliğini ayarlamayı unutmayın. Bu değer sizin clientler için açtığınız port değerine eşittir.</p>
<p>Yazdıklarımızı özetleyecek olursak bir sunucu açıyorsak:</p>
<p><code>sunucu.LocalPort = 2593<br />
sunucu.Listen</code></p>
<p>Bir istemci açıyorsak:</p>
<p><code>istemci.RemoteHost = "localhost"<br />
istemci.RemotePort = 2593<br />
istemci.Connect</code></p>
<p>İyi kodlamalar..</p>
]]></content:encoded>
			<wfw:commentRss>http://programlama.venus.gen.tr/visual-basic/winsock-uygulamasi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
