<?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>Ehocam.Com &#187; VisualBasic.Net</title>
	<atom:link href="http://blog.ehocam.com/kategori/dersler/visualbasicnet/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.ehocam.com</link>
	<description>Hacettepelinin Günlüğü</description>
	<lastBuildDate>Fri, 03 Jun 2011 22:53:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Visual C# ve Vb.Net İle Ekran Çözünürlüğünü Değiştirme &#8211; 2</title>
		<link>http://blog.ehocam.com/2011/01/visual-csharp-ve-vb-net-ile-ekran-cozunurlugunu-degistirme-2.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visual-csharp-ve-vb-net-ile-ekran-cozunurlugunu-degistirme-2</link>
		<comments>http://blog.ehocam.com/2011/01/visual-csharp-ve-vb-net-ile-ekran-cozunurlugunu-degistirme-2.html#comments</comments>
		<pubDate>Thu, 13 Jan 2011 16:14:54 +0000</pubDate>
		<dc:creator>Ehocam</dc:creator>
				<category><![CDATA[Visual C# .Net]]></category>
		<category><![CDATA[VisualBasic.Net]]></category>
		<category><![CDATA[C# Settings]]></category>
		<category><![CDATA[Çözünürlük]]></category>
		<category><![CDATA[Resolution]]></category>
		<category><![CDATA[Resolution.dll]]></category>
		<category><![CDATA[Vb.net Settings]]></category>

		<guid isPermaLink="false">http://blog.ehocam.com/?p=1315</guid>
		<description><![CDATA[Bir önceki çözünürlük yazımda sadece ekran çözünürlüğünü değiştirmeyi anlatmıştım. Ayrıca önceki yazım her işletim sisteminde çalışmıyordu. Bugün bir arkadaşın isteği üzerine eski yazımın bir kaç değişiklik yapılmış halini yazıyorum. Program ilk olarak; Varolan ekran yüksekliğini ve ekran genişliğini Settings dosyasında saklıyor. Değiştirmek istediğiniz boyutlara göre çözünürlüğü değiştiriyor. Programdan çıkış yaparken çözünürlüğü Settings dosyasına girilen ilk [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.ehocam.com/?p=451">Bir önceki çözünürlük yazımda</a> sadece ekran çözünürlüğünü değiştirmeyi anlatmıştım. Ayrıca önceki yazım her işletim sisteminde çalışmıyordu. Bugün bir arkadaşın isteği üzerine eski yazımın bir kaç değişiklik yapılmış halini yazıyorum. <span id="more-1315"></span>Program ilk olarak;</p>
<ul>
<li>Varolan ekran yüksekliğini ve ekran genişliğini <strong>Settings </strong>dosyasında saklıyor.</li>
<li>Değiştirmek istediğiniz boyutlara göre çözünürlüğü değiştiriyor.</li>
<li>Programdan çıkış yaparken çözünürlüğü <strong>Settings </strong>dosyasına girilen ilk değerlere göre tekrardan değiştiriyor.</li>
</ul>
<p>Program sayesinde;</p>
<ul>
<li>Çözünürlük değiştirme hakkında bir sınıfa sahip olacaksınız. (Resolution.dll). Projeye dll veya sınıf şeklinde ekleyebilirsiniz.</li>
<li>Var olan bilgileri saklama yöntemlerine alternatif bir yöntem olan, Settings dosyasına veri girmeyi ve okumayı öğreneceksiniz.</li>
</ul>
<blockquote><p>Çözünürlük değiştirmek için projeye, yazının sonunda verdiğim sınıfı eklemeniz gerekiyor.</p></blockquote>
<div id="attachment_1319" class="wp-caption aligncenter" style="width: 604px"><a href="http://blog.ehocam.com/wp-content/uploads/2011/01/2011-01-13_173016.png"><img class="size-full wp-image-1319" title="Settings Ayar Görünümü" src="http://blog.ehocam.com/wp-content/uploads/2011/01/2011-01-13_173016.png" alt="" width="594" height="198" /></a><p class="wp-caption-text">Project -&gt; Properties -&gt; Settings</p></div>
<blockquote><p><strong> <a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=94" title="Toplam 228 Kez Indirildi" target="_blank">Kaynak Kodlar (FULL) - (VB + C#) (228)</a></strong></p>
<p><strong><a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=95" title="Toplam 122 Kez Indirildi" target="_blank">Cozunurluk Sinifi - Resolution.dll (122)</a> </strong></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.ehocam.com/2011/01/visual-csharp-ve-vb-net-ile-ekran-cozunurlugunu-degistirme-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vb.Net İle MYSQL Veritabanına Bağlantı Kurmak</title>
		<link>http://blog.ehocam.com/2010/05/vb-net-ile-mysql-veritabanina-baglanti-kurmak.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vb-net-ile-mysql-veritabanina-baglanti-kurmak</link>
		<comments>http://blog.ehocam.com/2010/05/vb-net-ile-mysql-veritabanina-baglanti-kurmak.html#comments</comments>
		<pubDate>Sun, 02 May 2010 00:25:46 +0000</pubDate>
		<dc:creator>Ehocam</dc:creator>
				<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Veritabanları]]></category>
		<category><![CDATA[VisualBasic.Net]]></category>
		<category><![CDATA[mysql baglantisi]]></category>
		<category><![CDATA[navicat]]></category>
		<category><![CDATA[vb mysql bağlantısı]]></category>
		<category><![CDATA[vb.net]]></category>
		<category><![CDATA[vb.net mysql]]></category>
		<category><![CDATA[vb.net mysql bağlantısı]]></category>

		<guid isPermaLink="false">http://blog.ehocam.com/?p=842</guid>
		<description><![CDATA[Bu yazımda size Vb.Net ile Mysql veritabanına bağlantının nasıl kurulacağını anlatacağım. Mysql ile ilk defa program yazacaksanız burada ki videolu kurulumu izlemenizi öneririm. Veritabanımızı, performanslı kullanabilmek için, veritabanını ayrı bir makinede tutarız. Makinenin görevi sadece veritabanını çalıştırmak ve performanslı bir şekilde kullanıcıya bu bilgileri aktarmaktır.Çalışmalarınızda veritabanını farklı bir yerde tutmanızı öneririm. Örneğin ben, yeni bir projeye başlamadan [...]]]></description>
			<content:encoded><![CDATA[<p>Bu yazımda size Vb.Net ile Mysql veritabanına bağlantının nasıl kurulacağını anlatacağım. Mysql ile ilk defa program yazacaksanız <a href="http://blog.ehocam.com/?p=823" target="_blank">burada</a> ki videolu kurulumu izlemenizi öneririm.<span id="more-842"></span></p>
<p>Veritabanımızı, performanslı kullanabilmek için, veritabanını ayrı bir makinede tutarız. Makinenin görevi sadece veritabanını çalıştırmak ve performanslı bir şekilde kullanıcıya bu bilgileri aktarmaktır.Çalışmalarınızda veritabanını farklı bir yerde tutmanızı öneririm.</p>
<p>Örneğin ben, yeni bir projeye başlamadan önce, Vmware üzerinde temiz kurulum Windows Server 2003 makinemi, projeye yapmayı düşündüğüm veritabanını kurup,  performans ayarlarını yaparım.</p>
<blockquote><p>Eğer ilk defa Mysql ile bir bağlantı kuracaksanız bazı sorunlar yaşayabilirsiniz.  (veritabanını ayrı bir bilgisayarda tutarsanız)</p>
<p>Bunlardan birincisi güvenlik izinleridir. Mysql oluşturduğunuz ana kullanıcının kurulu bilgisayar dışından girmenize izin vermez.  Ana kullanıcınız ne kadar yüksek izinlere sahip olsa da dışardan gelen kullanıcılara bağlanması için özel ayarlamalar yapmamız gerekir. Kurulum videosunun sonuna doğru bu konu hakkında kısa bir açıklama yapmıştım. (Video da bayağa yerde tıkanmışım. Tek seferde video çekmenin zararları <img src='http://blog.ehocam.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  )</p></blockquote>
<blockquote><p>Mysql veritabanı framework üzerinde sınıflara sahip bir veritabanı değildir. Yani Mysql'in bağlantı ve sorgulama işlemleri için Mysql tarafından yazılmış olan Connector denilen bağlantı aracını kullanacağız.</p>
<p>Bağlantı aracını aşağıda ki linkten indirip kurabilirsiniz.</p>
<a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=43" title="Toplam 666 Kez Indirildi" target="_blank">Mysql Connector Net (666)</a></blockquote>
<ul>
<li>Connector (<em>bundan sonra bağlantı aracı olarak yazılacak</em>) aracımızı da yükledikten sonra <strong>Visual Studio</strong> da bu bağlantı aracını eklememiz gerekiyor. <strong>Yeni bir proje</strong> oluşturduktan sonra menüden <strong>PROJECT -&gt;ADD REFERENCES</strong> bölümünden <strong>.NET Sekmesi<span style="font-weight: normal;">nden </span>Mysql.Data</strong> seçip ekliyoruz.</li>
</ul>
<div id="attachment_848" class="wp-caption alignnone" style="width: 492px"><a href="http://blog.ehocam.com/wp-content/uploads/2010/05/2010-05-01_233715.png"><img class="size-full wp-image-848" title="2010-05-01_233715" src="http://blog.ehocam.com/wp-content/uploads/2010/05/2010-05-01_233715.png" alt="VisualStudio'da Mysql Bağlantı Aracını Projeye Dahil Etme" width="482" height="408" /></a><p class="wp-caption-text">VisualStudio&#39;da Mysql Bağlantı Aracını Projeye Dahil Etme</p></div>
<ul>
<li>Mysql için bağlantı dizelerini aşağıda yer verdim. Bunlardan birini seçip baglanti_dizi içine yazmanız yeterlidir. Hepsinin kullanım amaçları hepsi aynıdır. İhtiyacınız olan birisini kullanabilirsiniz.</li>
</ul>
<pre class="brush: plain; title: ; notranslate"> Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; </pre>
<pre class="brush: plain; title: ; notranslate"> Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Connection Timeout=5; </pre>
<pre class="brush: plain; title: ; notranslate"> Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Port=3306; </pre>
<pre class="brush: plain; title: ; notranslate"> Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;CharSet=UTF8; </pre>
<blockquote>
<ul>
<li><strong>Server:</strong> Mysql sunucunun bulunduğu adrestir. Örn : ehocam.com, 192.168.2.21, 88.227.179.231, localhost, 127.0.0.1</li>
<li><strong>Database:</strong> Mysql sunucusunda, belirtmiş olduğunuz adresteki, kullanmak istediğiniz veritabanının adıdır.</li>
<li><strong>Uid :</strong> Seçtiğiniz veritabanının erişim yetkisine sahip kullanıcının, kullanıcı adıdır.</li>
<li><strong>Pwd :</strong> Seçtiğiniz veritabanının erişim yetkisine sahip kullanıcının, şifresidir.</li>
<li><strong>Connection Timeout </strong>: Belirlediğiniz saniye kadar bağlantı kurmaya çalışacaktır. Eğer belirlediğiniz saniye içinde bağlantı kuramazsa hata verecektir.</li>
<li><strong>Port </strong>: Mysql sunucusunun hizmet verdiği port 3306 (standart) dışında ise  buraya hizmet verdiği portu yazabilirsiniz.</li>
<li><strong>Charset</strong> : Mysql sunucusu üzerinde, bağlanacağınız veritabanının, hangi karakter seti üzerinde işlem yapmasını istiyorsanız, bu değere karakter setini yazmalısınız.</li>
</ul>
</blockquote>
<p>Yukarıda yazdıklarım mysql bağlantısı için kullanılan özelliklerdir. Bağlantı aracını yükledikten sonra framework kütüphanesine <strong><span style="color: #ff0000;">MySqlConnectionStringBuilder </span><span style="font-weight: normal;">a</span></strong>dlı bir sınıf ekleniyor.  Tabi bu sınıfları kullanabilmek için <strong>MySql.Data.MySqlClient</strong> formumuza dahil ediyoruz.</p>
<pre class="brush: vb; title: ; notranslate">
Imports MySql.Data.MySqlClient
</pre>
<p>MySqlConnectionStringBuilder sınıfı yukarıda ki bağlantı dizisini oluşturmamıza yarıyor. Kullanımı aşağıdadır.</p>
<pre class="brush: vb; title: ; notranslate">
Dim baglanti_dizisi As New MySqlConnectionStringBuilder
baglanti_dizisi.Server = &quot;192.168.153.132&quot;
'baglanti_dizisi.Database = &quot;ogrenci&quot;
baglanti_dizisi.UserID = &quot;cagdaskarademir&quot;
baglanti_dizisi.Password = &quot;123456&quot;
</pre>
<p>Bağlantı kurmak için ise aşağıda ki mysql bağlantısı değişkenimi kullanıyorum.</p>
<pre class="brush: vb; title: ; notranslate"> Public mysql_baglanti As New MySqlConnection </pre>
<p>Bağlanmak için ise;</p>
<pre class="brush: vb; title: ; notranslate">
        mysql_baglanti.ConnectionString = baglanti_dizisi.ToString

        Try
            mysql_baglanti.Open() 'Bağlantımı Açıyorum
        Catch ex As MySqlException 'Hata sınıfı olarak Mysql'in hata sınıfını kullanıyorum.
            MessageBox.Show(ex.Message, &quot;Hata Kodu : &quot; &amp; ex.Number.ToString, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            mysql_baglanti.Close() 'Performans açısından açtığım bağlantıyı kapatıyorum.
        End Try
</pre>
<p><strong>Kısacası şimdiye kadar bağlantımızın nasıl kurulduğunu gördük. Şu zamana kadar kodların tümünü aşağıda bulabilirsiniz. Ama bağlantımızın durumunu, Mysql sınıfı içindeki bir fonksiyon aracılığı ile kolayca yapabiliyoruz. Önce kodlara gözatın hemen ardından Mysql sınıfının <span style="color: #ff0000;">StateChange </span>olayına gözatalım.</strong></p>
<pre class="brush: vb; title: ; notranslate">
Imports MySql.Data.MySqlClient 'Kütüphaneyi dahil ediyoruz.

Public Class Form1

    Public baglanti_dizisi As New MySqlConnectionStringBuilder
    Public mysql_baglanti As New MySqlConnection

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        baglanti_dizisi.Server = &quot;192.168.153.132&quot; 'Sunucu Ip adresini giriyorum
        baglanti_dizisi.Database = &quot;ogrenci&quot; 'Veritabanı adını giriyorum
        baglanti_dizisi.UserID = &quot;cagdaskarademir&quot; 'Kullanıcı adımı giriyorum
        baglanti_dizisi.Password = &quot;123456&quot; 'şifremi giriyorum

        mysql_baglanti.ConnectionString = baglanti_dizisi.ToString

        Try
            mysql_baglanti.Open() 'Bağlantımı açıyorum
        Catch ex As MySqlException 'MysqlExpection sınıfını kullanarak mysql hata verirse hataları ayrıntılı alabiliyorum
            MessageBox.Show(ex.Message, &quot;Hata Kodu : &quot; &amp; ex.Number.ToString, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            mysql_baglanti.Close() 'Bağlantımı kapatıyorum
        End Try
    End Sub

End Class
</pre>
<p><strong>mysql_baglanti.Open()</strong> komutunu verdikten sonra,<strong> baglanti_dizisi</strong>'nde yer alan bilgiler doğrultusunda işlemler yapılmaya başlanıyor. Bu aşamada, önce sunucuyu araması,bağlanması, işlem yapması ve en sonunda bağlantının kapanması gerekir.</p>
<p>Biz <strong>MySqlConnection </strong>sınıfında bağlantının durumunu <strong>State</strong> özelliği ile yapabiliyoruz. Fakat projelerimizde mysql bağlantısının anlık değişimlerini almak isteyebiliriz.</p>
<p>Örneğin bağlantı kurulumu yaparken <strong>StatusStrip</strong>'de ayrı bir resim gösterip, Bağlantı kurulduğunda veya koptuğunda ayrı bir resim göstermek isteyebiliriz.</p>
<p>Bu gibi bir ihtiyaçta, Mysql sınıfında yer alan <strong>StateChange </strong>olayını <strong>handle </strong>edip kullanabiliriz.</p>
<pre class="brush: vb; title: ; notranslate">
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        AddHandler mysql_baglanti.StateChange, AddressOf mysql_baglanti_durumu 'StateChange olayını mysql_baglanti_durum fonksiyonuna yönlendiriyorum.
    End Sub

    Private Sub mysql_baglanti_durumu(ByVal sender As Object, ByVal e As StateChangeEventArgs)
        MessageBox.Show(e.CurrentState.ToString) 'Bağlantı değişiminde hemen bana haber vermesini sağlıyorum.
    End Sub
</pre>
<p>Şimdi de bu yaptıklarımızı bir projede kullanalım.</p>
<p>Aşağıdaki gibi bir görüntü oluşturun.</p>
<ul>
<li>2 Tane Buton</li>
<li>3 Tane Label
<ul>
<li>Label1.text=" Server"</li>
<li>Label2.text= "UserID"</li>
<li>Label3 .text="Password"</li>
</ul>
</li>
<li>3 Tane Textbox
<ul>
<li>txtServer</li>
<li>txtUserId</li>
<li>txtPassword</li>
</ul>
</li>
<li>1 StatusStrip
<ul>
<li>2 tane ToolStripStatusLabel
<ul>
<li>ToolStripStatusLabel1.text="Mysql Bağlantı Durumu"</li>
<li>ToolStripStatusLabel2.text=""  --&gt; Bağlantı değişimlerinde resimler burada çıkacak</li>
</ul>
</li>
</ul>
</li>
<li>1 ToolStrip
<ul>
<li>HelpToolStripButton.text = "Yardım"</li>
</ul>
</li>
</ul>
<div id="attachment_873" class="wp-caption alignnone" style="width: 424px"><a href="http://blog.ehocam.com/wp-content/uploads/2010/05/2010-05-02_030255.png"><img class="size-full wp-image-873" title="2010-05-02_030255" src="http://blog.ehocam.com/wp-content/uploads/2010/05/2010-05-02_030255.png" alt="" width="414" height="177" /></a><p class="wp-caption-text">Mysql Bağlantısı Örneği Form Önizleme</p></div>
<pre class="brush: vb; title: ; notranslate">
Imports MySql.Data.MySqlClient

Public Class Form1

    Public baglanti_dizisi As New MySqlConnectionStringBuilder
    Public mysql_baglanti As New MySqlConnection

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        baglanti_dizisi.Server = txtServer.Text 'İlk kutumun adı
        'baglanti_dizisi.Database = &quot;ogrenci&quot; 'Projenin amacına göre girilmedi. Girilmesi şart değil.
        baglanti_dizisi.UserID = txtUserID.Text 'İkinci kutumun adı
        baglanti_dizisi.Password = txtPassWord.Text 'Üçüncü kutumun adı

        mysql_baglanti.ConnectionString = baglanti_dizisi.ToString

        Try
            mysql_baglanti.Open()
        Catch ex As MySqlException
            MessageBox.Show(ex.Message, &quot;Hata Kodu : &quot; &amp; ex.Number.ToString, MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        AddHandler mysql_baglanti.StateChange, AddressOf mysql_baglanti_durumu
    End Sub

    Private Sub mysql_baglanti_durumu(ByVal sender As Object, ByVal e As StateChangeEventArgs)
        If e.CurrentState = ConnectionState.Connecting Then
            Me.ToolStripStatusLabel2.Image = My.Resources.baglaniyor
        ElseIf e.CurrentState = ConnectionState.Open Then
            Me.ToolStripStatusLabel2.Image = My.Resources.baglandi
        ElseIf e.CurrentState = ConnectionState.Closed Then
            Me.ToolStripStatusLabel2.Image = My.Resources.baglanti_sonlandi
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        mysql_baglanti.Close()
    End Sub

    Private Sub HelpToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HelpToolStripButton.Click
        System.Diagnostics.Process.Start(&quot;http://www.ehocam.com/?p=842&quot;)
    End Sub
End Class
</pre>
<blockquote><p>Projenin demosuna ve kaynak kodlarına aşağıdan ulaşabilirsiniz.</p>
<ul>
<li>[Download not found]</li>
<li><a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=59" title="Toplam 488 Kez Indirildi" target="_blank">Mysql Baglantisi Örnegi #1# Kaynak Kodlari (VS2010)  (488)</a></li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.ehocam.com/2010/05/vb-net-ile-mysql-veritabanina-baglanti-kurmak.html/feed</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Google Sonuçlarını Almak (Spider Kod Yazımı)</title>
		<link>http://blog.ehocam.com/2009/04/google-sonuclarini-almak-spider-kod-yazimi.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-sonuclarini-almak-spider-kod-yazimi</link>
		<comments>http://blog.ehocam.com/2009/04/google-sonuclarini-almak-spider-kod-yazimi.html#comments</comments>
		<pubDate>Sun, 19 Apr 2009 01:56:30 +0000</pubDate>
		<dc:creator>Ehocam</dc:creator>
				<category><![CDATA[Asp]]></category>
		<category><![CDATA[VisualBasic.Net]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Spider Kod]]></category>
		<category><![CDATA[Veri Alma]]></category>
		<category><![CDATA[Veri Çalma]]></category>
		<category><![CDATA[XmlHttp]]></category>

		<guid isPermaLink="false">http://blog.ehocam.com/?p=575</guid>
		<description><![CDATA[Arkadaşlar bu yazıyı yazmak elbette çok zahmetli olacak. Başlarda acaba 2 veya 3 parça şeklinde mi yazsam diye düşündüm. Ama daha sonra tek bir yazıda (ki muhtemelen çok uzun bir yazı olacak) bu bilgileri paylaşmak istedim. Bu  yazım birçok kişinin para kazanmak amaçlı veya bilgileri çalıp kullandığı Spider kod yazma tekniğidir. Bazı arkadaşlar yazımı uzun [...]]]></description>
			<content:encoded><![CDATA[<p>Arkadaşlar bu yazıyı yazmak elbette çok zahmetli olacak. Başlarda acaba 2 veya 3 parça şeklinde mi yazsam diye düşündüm. Ama daha sonra tek bir yazıda (ki muhtemelen çok uzun bir yazı olacak) bu bilgileri paylaşmak istedim. Bu  yazım birçok kişinin para kazanmak amaçlı veya bilgileri çalıp kullandığı Spider kod yazma tekniğidir. Bazı arkadaşlar yazımı uzun bulabilirler. Fakat benim genel olarak çalıştığım yöntem bu şekildedir.<span id="more-575"></span></p>
<p><strong>Peki Spider İle Neler Yapabiliriz ?</strong></p>
<p>Büyük indirme sitelerinin veritabanlarını çalarak kendiniz bir arşiv oluşturabilirsiniz. (Örnek: www.frmdownload.com) Frmdownload.Com aslında benim uzun zamandır aklımda olan bir projeydi. Projenin amacı büyük indirme sitelerinin programlarını alıp, tek bir sitede kullanmaktı. Dersler, sınavlar derken siteyle uğraşamadım. Sadece <strong>inndir.com</strong> ve <strong>tamindir.com</strong> sitelerinin programlarını alabildim.</p>
<p>Sizinde tahmin ettiğiniz gibi verilerin arşivlenmesi için çok uzun bir zaman  ve zahmet gerekmektedir. Tüm verileri çekmek 2Mbit bağlantıda 2 gün sürdü. Toplamda bu iki siteden 6 gblık bilgi indirdim. Her bir sayfa 100Kb ile 800Kb olduğunu düşünürseniz binlerce sayfada dolaştığını anlayabiliyoruz. <a href="http://www.google.com.tr/search?rlz=1C1GGLS_trTR317TR317&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=site:frmdownload.com" target="_blank">Burada,</a> google'da ki sayfa sayısını görebilirsiniz.</p>
<p>Spider ile ;</p>
<ul>
<li>Başka sitelerin sayfa bilgilerini alabilirsiniz.</li>
<li>Sitelerin genel çalışma algoritmasını çözerseniz, tüm siteyi istediğiniz gibi kullanabilirsiniz. (FrmDownload.Com gibi)</li>
<li>Winamp Shoutcast ile radyo bilgilerini alıp, sayfanıza entegre edebilirsiniz. (Sayfanızda Çalan Şarkı, Şarkı Uzunluğu, Önceki Şarkı gibi bilgileri gösterebilirsiniz)</li>
</ul>
<p>Bunun gibi yaratıcılığa bağlı olarak örnekleri çoğaltmamız mümkündür.</p>
<p><strong>Bu Yazının Amacı Ve Kazanımlar</strong></p>
<p>Bu yazının amacı; Google'da arama sonuçları sonrası çıkan verileri, alabilmek ve istediğimiz bir yerde kullanabilmek. Yazı sonunda bir web sayfasınından veri nasıl çekilir, çekilen verilerin içinden kodlar nasıl alınır ve bunları düzenli bir şekilde nasıl elde edebiliriz gibi konularda bilgi sahibi olacaksınız.</p>
<p>Çok uzattık artık kodlamaya gelelim.</p>
<blockquote><p><a href="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_1.jpg"><img class="alignnone size-full wp-image-577" title="spider_kod_1" src="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_1.jpg" alt="spider_kod_1" width="500" height="480" /></a></p>
<p><a href="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_1.jpg"></a>Amacımız herhangi bir arama sonrasında (ehocam.com örnek amaçlı) çıkan sonuçları almak.</p>
<p><strong><span style="color: #ff0000;">Yani ;</span></strong><span style="color: #ff0000;"><br />
N tane sonucumuzdan </span></p>
<p><span style="color: #ff0000;">1. olanın başlığını, site linkini ve google'da çıkan kısa metnini,</span></p>
<p><span style="color: #ff0000;"> 2. olanın başlığını, site linkini ve google'da çıkan kısa metnini</span></p>
<p><span style="color: #ff0000;"> ...</span></p>
<p><span style="color: #ff0000;"> N. olanın başlığını, site linkini ve google'da çıkan kısa metnini</span></p>
<p><span style="color: #ff0000;"> elde edebilmek <img src='http://blog.ehocam.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </span></p></blockquote>
<p>Ana fonksiyonlarımız 3 tanedir. Bu kodları nerden bulduğumu, düzenleyip düzenlemediğimi gerçekten hatırlamıyorum. Yazan arkadaşın ellerine sağlık.</p>
<ol>
<li><span style="color: #ff0000;">Fonksiyon</span><strong><span style="color: #ff0000;"> fonkXmlHttp</span><br />
<span style="font-weight: normal;">Bu fonksiyon xml yardımı ile</span><span style="font-weight: normal;"> istediğimiz sayfanın html kodlarını bize getirecek.</span> <span style="font-weight: normal;">Kullanımı <strong>fonkXmlHttp(siteurl)</strong></span></strong>
<pre class="brush: vb; title: ; notranslate">
Dim TumVeri
TumVeri = fonkXmlHttp(&quot;http://www.google.com.tr/search?hl=tr&amp;q=Ehocam.Com&quot;)
</pre>
</li>
<li><span style="color: #ff0000;">Fonksiyon </span><strong><span style="color: #ff0000;">fonkStream</span></strong><br />
Bu fonksiyon ise, fonkXmlHttp ile aldığımız kodları, istediğimiz karakter formatına dönüştürüyor. Örneğin alınan verileri UTF8 şeklinde kullanmak isteyebiliriz.</li>
<li><span style="color: #ff0000;">Fonksiyon</span><strong><span style="color: #ff0000;"> fonkVeriCek</span></strong><br />
En fazla kullanacağımız fonksiyon budur. Bu fonksiyon gelen html kodların içerisinde, seçilen blok aralıklarını bize veren fonksiyondur. Kullanımı</p>
<pre class="brush: vb; title: ; notranslate">
fonkVeriCek(HtmlKodlar, BaşlamaEtiketi, BitişEtiketi)
</pre>
</li>
</ol>
<p>Biraz kasma zamanı geldi. Google'nin algoritmasını çözelim hemen.</p>
<p>Yapmamız gereken birinci kural amacımızı belirlemek olacaktır. (Saat sabahın 03:02 si. Bende ki fanteziye bak yahu <img src='http://blog.ehocam.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )<br />
Hemen <strong>C:InetpubwwwrootGoogle</strong> altına <strong>default.asp</strong> dosyamı oluşturuyorum.<br />
<strong>Default.asp</strong> dosyamın en başına yukarıda bahsettiğim 3 adet fonksiyonumu ekliyorum. (Yeni dosyama <a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=29">buradan</a> ulaşabilirsiniz. )<br />
Blok aralıklarını belirlemeden önce, tüm veriyi bir değişkende toplayalım. Bunun için <strong>fonkXmlHttp </strong>fonksiyonumuzu kullanmamız lazım. Arama yapacağımız sözcük veya kelime aşağıda kırmızı kutucuktaki yere yazılacak.</p>
<p><a href="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_anlat_1.jpg"><img class="alignnone size-full wp-image-606" title="spider_kod_anlat_1" src="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_anlat_1.jpg" alt="spider_kod_anlat_1" width="656" height="36" /></a></p>
<pre class="brush: vb; title: ; notranslate">
&lt;%
TumVeri = fonkXmlHttp(&quot;http://www.google.com.tr/search?hl=tr&amp;q=Ehocam.Com&quot;)
%&gt;
</pre>
<blockquote><p>Yeni dosyamıza <a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=30">buradan</a> ulaşabilirsiniz.</p></blockquote>
<p>Elimizde şu an arama sonucunun html kodları bulunmaktadır. Burada almak istediğimiz değeri, genelden özele prensibinde olduğu gibi, en dıştan en içe doğru eleme yoluyla elde edeceğiz.</p>
<div id="attachment_615" class="wp-caption alignnone" style="width: 468px"><a href="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_anlat_2.jpg"><img class="size-large wp-image-615   " title="spider_kod_anlat_2" src="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_anlat_2-1024x461.jpg" alt="Almak İstediğimiz Bölüm" width="458" height="207" /></a><p class="wp-caption-text">Almak İstediğimiz Bölüm</p></div>
<div id="attachment_614" class="wp-caption alignnone" style="width: 474px"><a href="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_anlat_3.jpg"><img class="size-large wp-image-614    " title="spider_kod_anlat_3" src="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_anlat_3-1024x451.jpg" alt="Almak İstediğimiz Bölümün HTML Kodları" width="464" height="204" /></a><p class="wp-caption-text">Almak İstediğimiz Bölümün HTML Kodları</p></div>
<p>Gördüğünüz gibi çok karmaşık bir sistem ortaya çıkıyor. Keşke elimden gelsede nasıl bulduğumu aşama aşama anlatsam. Fakat o kudreti kendimde şu an göremiyorum. Projeyi özelleştirip ekran görüntüsünü ekliyorum. Projenin Vb.Net ve  Asp ile yapılmış şekillerine aşağıdaki linkten ulaşabilirsiniz.</p>
<p><a href="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_anlat_5.jpg"><img class="alignnone size-large wp-image-620" title="spider_kod_anlat_5" src="http://blog.ehocam.com/wp-content/uploads/2009/04/spider_kod_anlat_5-1024x462.jpg" alt="spider_kod_anlat_5" width="614" height="277" /></a></p>
<blockquote><a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=31" title="Toplam 247 Kez Indirildi" target="_blank">GoogleBot - Asp (247)</a></blockquote>
<blockquote><a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=28" title="Toplam 235 Kez Indirildi" target="_blank">VisualBasic Spider Kodlari (235)</a></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.ehocam.com/2009/04/google-sonuclarini-almak-spider-kod-yazimi.html/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>VisualStudio 2008&#8242;de Ekran Çözünürlüğünü Değiştirmek</title>
		<link>http://blog.ehocam.com/2009/03/visualstudio-2008de-ekran-cozunurlugunu-degistirmek.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualstudio-2008de-ekran-cozunurlugunu-degistirmek</link>
		<comments>http://blog.ehocam.com/2009/03/visualstudio-2008de-ekran-cozunurlugunu-degistirmek.html#comments</comments>
		<pubDate>Sat, 28 Mar 2009 21:26:12 +0000</pubDate>
		<dc:creator>Ehocam</dc:creator>
				<category><![CDATA[VisualBasic.Net]]></category>
		<category><![CDATA[Çözünürlük]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>
		<category><![CDATA[VisualStudio2008]]></category>
		<category><![CDATA[Xp]]></category>

		<guid isPermaLink="false">http://blog.ehocam.com/?p=451</guid>
		<description><![CDATA[Ekran çözünürlüğü değiştirmek için araştırmalarım sonucunda Vb.net'te kullanabileceğim bir kod buldum. Eğitim yazılımları için çok yararlı bir işlev gören çözünürlük, aynı zamanda yanlış yapılandırmalar ve kullanımlar sonucunda  projenin çöpe atılmasına da neden oluyor. Bu yüzden örnek bir proje yazıp paylaşmak istedim. Öncelikle tam ekranı nasıl oluşturabiliriz, onu açıklayayım. Tam ekran oluşturmak için aşağıdaki sırayı izleyeceğim. [...]]]></description>
			<content:encoded><![CDATA[<p>Ekran çözünürlüğü değiştirmek için araştırmalarım sonucunda Vb.net'te kullanabileceğim bir kod buldum. Eğitim yazılımları için çok yararlı bir işlev gören çözünürlük, aynı zamanda yanlış yapılandırmalar ve kullanımlar sonucunda  projenin çöpe atılmasına da neden oluyor. Bu yüzden örnek bir proje yazıp paylaşmak istedim. <span id="more-451"></span>Öncelikle tam ekranı nasıl oluşturabiliriz, onu açıklayayım. Tam ekran oluşturmak için aşağıdaki sırayı izleyeceğim.</p>
<ol>
<li>Formun çerçevesini kaldırmak.</li>
<li>Formun açıldığı anda yüksekliğinin ve genişliğinin maksimum olmasını sağlamak.</li>
<li>Son olarak  Formu başlat çubuğu ve diğer programların önünde çıkması için en üste getirmek.</li>
</ol>
<blockquote><p><strong>Formun Çerçevesini Kaldırmak</strong></p>
<p>Vb.Net'de çerçeveyi kaldırmak için <strong>Properties </strong>penceresinden <strong>FormBorderStyle=None</strong> yaparak yada aşağıdaki kodu kullanarak kaldırabiliyoruz.</p>
<pre class="brush: vb; title: ; notranslate">

Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
</pre>
<p>veya</p>
<pre class="brush: vb; title: ; notranslate">

Me.FormBorderStyle = 0
</pre>
</blockquote>
<blockquote><p><strong>Formu Tam Ekran Yapmak</strong></p>
<p>Formumuzu tam ekran yapmak için <strong>Properties </strong>penceresinden <strong>WindowsState=Maximized </strong>yaparak yada aşağıdaki kodu kullanarak yapabiliriz.</p>
<pre class="brush: vb; title: ; notranslate">

Me.WindowState = FormWindowState.Maximized
</pre>
<p>veya</p>
<pre class="brush: vb; title: ; notranslate">

Me.WindowState = 2
</pre>
</blockquote>
<blockquote><p><strong>Formu En Üstte Tutmak</strong></p>
<p>Sıra formumuzu en üstte göstermeye geldi. Bunun için yine <strong>Properties </strong>penceresinden <strong>TopMost=True</strong>  yada aşağıdaki kodu kullanmamız yetecektir.  </p>
<pre class="brush: vb; title: ; notranslate">

Me.TopMost = True
</pre>
<p>veya</p>
<pre class="brush: vb; title: ; notranslate">

Me.TopMost = 1
</pre>
</blockquote>
<blockquote><p>Şimdi bu komutları <strong>Formun yüklenmesi</strong> anında sırayla yazdığımızda tam ekran olacaktır. Fakat tam ekran olduğunda, kontrol butonları (<span style="text-decoration: underline;">simge durumuna küçültme, tam ekran yapma, kapatma</span>) olmadığından bir tane buton ekleyin. <strong><span style="color: #ff0000;">Click</span></strong> olayına da <span style="color: #0000ff;"><strong>End </strong></span>komutunu kullarak formun kapatılmasını sağlayın. Yeni hali aşağıdaki gibi olacak.</p>
<pre class="brush: vb; title: ; notranslate">

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button1.Click

         End

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MyBase.Load

         Me.FormBorderStyle = 0
         Me.WindowState = 2
         Me.TopMost = 1

End Sub
</pre>
</blockquote>
<blockquote><p>Şimdi projeyi en altaki linkten indirebilirsiniz. Kaynak kodu aşağıda paylaştım. Bu kod sizin çözünürlüğü değiştirmenize yarayan koddur. Şimdi adım adım nasıl yerleştirileceğini de anlatıyım. </p>
<ul>
<li>Aşağıdaki kodu Formunuzun ilk satırına eklemeniz lazım. <em>( "Public Class Form1" 'den önce gelecek)</em></li>
</ul>
<pre class="brush: vb; title: ; notranslate">

Imports System.Runtime.InteropServices
</pre>
<ul>
<li>Aşağıdaki kod ise <strong>Public Class Form1</strong> ile <strong>End Class</strong> arasına gelecek. Yeni formunuzun içine yapıştıracaksınız. </li>
</ul>
<pre class="brush: vb; title: ; notranslate">

Private Declare Auto Function EnumDisplaySettings Lib &quot;user32.dll&quot; ( _
ByVal lpszDeviceName As String, _
ByVal iModeNum As Int32, _
ByRef lpDevMode As DEVMODE _
) As Boolean

Private Declare Auto Function ChangeDisplaySettings Lib &quot;user32.dll&quot; ( _
ByRef lpDevMode As DEVMODE, _
ByVal dwFlags As Int32 _
) As Int32

Private Const DM_BITSPERPEL As Int32 = &amp;H40000
Private Const DM_PELSWIDTH As Int32 = &amp;H80000
Private Const DM_PELSHEIGHT As Int32 =&amp;H100000

Private Const DISP_CHANGE_SUCCESSFUL As Int32 = 0
Private Structure POINTL
Public x As Int32
Public y As Int32
End Structure
Private Structure DEVMODE_union1
' struct {
Public dmOrientation As Int16
Public dmPaperSize As Int16
Public dmPaperLength As Int16
Public dmPaperWidth As Int16
' }
Public dmPosition As POINTL
End Structure
Private Structure DEVMODE_union2
Public dmDisplayFlags As Int32
Public dmNup As Int32
End Structure
Private Structure DEVMODE
Private Const CCDEVICENAME As Int32 = 32
Private Const CCFORMNAME As Int32 = 32
Public dmDeviceName As String
Public dmSpecVersion As Int16
Public dmDriverVersion As Int16
Public dmSize As Int16
Public dmDriverExtra As Int16
Public dmFields As Int32
Public u1 As DEVMODE_union1
Public dmScale As Int16
Public dmCopies As Int16
Public dmDefaultSource As Int16
Public dmPrintQuality As Int16
Public dmColor As Int16
Public dmDuplex As Int16
Public dmYResolution As Int16
Public dmTTOption As Int16
Public dmCollate As Int16

Public dmFormName As String
Public dmUnusedPadding As Int16
Public dmBitsPerPel As Int16
Public dmPelsWidth As Int32
Public dmPelsHeight As Int32
Public u2 As DEVMODE_union2
Public dmDisplayFrequency As Int32
Public dmICMMethod As Int32
Public dmICMIntent As Int32
Public dmMediaType As Int32
Public dmDitherType As Int32
Public dmReserved1 As Int32
Public dmReserved2 As Int32
Public dmPanningWidth As Int32
Public dmPanningHeight As Int32
End Structure

Public Function SetResolution( _
ByVal Width As Int32, _
ByVal Height As Int32, _
ByVal BitsPerPixel As Int16 _
) As Boolean
Dim dm As DEVMODE
If Not EnumDisplaySettings(Nothing, 0, dm) Then
Return False
Else
With dm
.dmFields = _
DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL
.dmPelsWidth = Width
.dmPelsHeight = Height
.dmBitsPerPel = BitsPerPixel
End With
Return (ChangeDisplaySettings(dm, 0) = DISP_CHANGE_SUCCESSFUL)
End If
End Function
</pre>
<ul>
<li>Aşağıdaki kodda olduğu gibi de kullanabilirsiniz.  (<strong>Not:</strong> Benim çözünürlüğüm normalde 1280*800 olduğundan dolayı çıkışta eski haline gelmesi için bu şekilde yaptım. Siz kendinize göre şu an kullandığınız çözünürlüğü yazınız. )  </li>
</ul>
<pre class="brush: vb; title: ; notranslate">

Private Sub Form1_DoubleClick(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles Me.DoubleClick

Debug.Assert(SetResolution(1280, 800, 32))
End

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MyBase.Load

Debug.Assert(SetResolution(1024, 768, 32))
Me.FormBorderStyle = 0
Me.WindowState = 2
Me.TopMost = 1

End Sub
</pre>
<p>Bu dönem <strong>Programlama Dilleri 2</strong> bünyesinde final projemiz <strong>Eğitim Yazılımı </strong>hazırlamak olacak. Sınıf arkadaşım <strong><span style="color: #808000;">Emin Topaloğlu</span></strong>'nun  <strong>Trafik İşaretleri Yazılımı</strong> için hazırlamış olduğu arka planı kullanarak basit bir proje hazırladım. Bu dosyayı arka planı çalmamak koşuluyla (:)) kodları istediğiniz gibi kullanabilirsiniz.</p></blockquote>
<blockquote><p>Bu proje alttaki linkte mevcuttur. Projeyi indirmeme durumunuzu gözönüne alarak projeyi ve kaynak kodları ayrı ayrı koyuyorum. </p>
<p>Bu arada çözünürlükten kaynaklanan hatalardan sorumlu tutulmazsam sevinirim <img src='http://blog.ehocam.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Son olarak kısa bir ipucu paylaşmak istiyorum. Geliştirmek isteyen arkadaşlar bu yolu izleyebilirler. Program başlamadan önce <strong>Ekran Çözünürlüğü</strong>nü önceden alıp bir dosyaya kaydedebilir veya Regedit'de uygun bir bölüm açıp oraya koyabilirler. Program kapatılmaya kalkışıldığında ise dosyadan veya RegEdit'te açmış olduğu bölümden, veriyi çekip çözünürlüğü eski hale getirebilir. Bunu söylememin nedeni her monitörde çözünürlükler birbiri ile aynı olmayabiliyor. Birisinde <strong>1024*768</strong> desteklerken bir diğerinde <strong>1024*800</strong> destekliyor. Program kapatıldığında eski haline dönerken uygun bir çözünürlük seçmezseniz kullanıcı arkanızdan güzel güzel konuşur. <img src='http://blog.ehocam.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Olabilecek hataları veya görüşlerinizi alt tarafta <strong>Yorumlar </strong>bölümünde paylaşmayı unutmayınız. <img src='http://blog.ehocam.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p></blockquote>
<blockquote><a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=25" title="Toplam 316 Kez Indirildi" target="_blank">Cozunurluk Degistirme [Form1 Kodlari] (VisualStudio Icin Kullanilabilir) (316)</a></blockquote>
<blockquote><a href="http://blog.ehocam.com/wp-content/plugins/download-monitor/download.php?id=24" title="Toplam 236 Kez Indirildi" target="_blank">Cozunurluk Degistirme Full Proje (VisualStudio2008) (236)</a></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.ehocam.com/2009/03/visualstudio-2008de-ekran-cozunurlugunu-degistirmek.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>


<!-- W3 Total Cache: Minify debug info:
Engine:             disk: basic
Theme:              c43c5
Template:           index
Reject reason:      Feed is rejected
-->
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Database Caching using disk: basic
Object Caching 0/0 objects using disk: basic
Content Delivery Network via N/A

Served from: blog.ehocam.com @ 2012-02-08 08:56:04 -->

<!-- W3 Total Cache: Page cache debug info:
Engine:             disk: basic
Cache key:          w3tc_blog.ehocam.com_1_page_fae6424c495044b3403f588051de61c4
Caching:            disabled
Reject reason:      User agent is rejected
Status:             not cached
Creation Time:      1.395s
Header info:
X-Pingback:         http://blog.ehocam.com/xmlrpc.php
Last-Modified:      Fri, 03 Jun 2011 22:53:47 GMT
ETag:               "dadca3128484e4ec9ec0172a604cbd03"
X-Powered-By:       W3 Total Cache/0.9.2.4
Content-Type:       text/xml; charset=UTF-8
-->
