<?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>Mustafa KULLUKÇUOĞLU Kişisel Günlük</title>
	<atom:link href="http://www.notsayfam.com/eurl.axd/7f9926830ffca34ea7d0d922f50ba53e/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.notsayfam.com</link>
	<description>Kişisel günlük,not defteri,unutmak istemediklerim.</description>
	<lastBuildDate>Thu, 12 Apr 2012 20:13:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Windows 7 sysprep ve Default Profil Kopyalama</title>
		<link>http://www.notsayfam.com/?p=438</link>
		<comments>http://www.notsayfam.com/?p=438#comments</comments>
		<pubDate>Thu, 12 Apr 2012 20:07:10 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[İp Uçları]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=438</guid>
		<description><![CDATA[Windows 7 Default Profile Copy.]]></description>
			<content:encoded><![CDATA[<p>Windows 7 üzerinde sysprep uygularken xp de rahatlıkla yaptığımız varsayılan profili kopyalama işlemleri yapılamamakta. Alternatif küçük bir yazılım ise bunu mümkün kılıyor.</p>
<p>Sysprep öncesi bir windows 7 kurulumu yapıp gerekli tüm yazılımları kurup, kopyalayacağımız profil üzerinde tüm ayarları yaptıktan sonra aşağıdaki işlemleri uyguluyoruz.</p>
<p>Windows Enabler isimli uygulamayı buradan <a title="Windows Enabler'i indirmek için tıklayınız" href="http://www.notsayfam.com/wp-content/plugins/download-monitor/download.php?id=5" target="_blank">indiriyoruz</a> ve programı Runas ile açıyoruz. Taskbar üzerinde program açılıyor.</p>
<p>Sonra kullanıcı profil yönetimine (Sistem özelliklerinde Gelişmiş Sekmesine geçip, Kullanıcı Profillerinin Ayarlar menüsüne)  giriyoruz. Kopyalayacağımız kullanıcının üzerindeyken Copy To pasif te olsa üzerine bir defa tıklıyoruz. Sonra açtığımız Windows Enabler yazılımının üzerine bir defa tıkladığımızda yazılım üzerinde ON ibaresi beliriyor. Tekrar pasif Copy To seçeneğine tıkladığımızda kopyala aktif oluyor. Şimdi kopyalam işlemi için path bölümüne C:\User\Default  yazıp tamam dediğimizde klasör üzerine işlemi gerçekleşmekte. Bundan sonra oluşturulacak tüm kullanıcılar bu profilin kopyası olarak oluşturulacaktır.</p>
<p>ve sysprep.exe /generalize /oobe /shutdown            &gt;          IMAGE <img src='http://www.notsayfam.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Yazılım Windows 7 x64 Pro üzerinde denedim işe yaramakta.</p>
<p>Kolay gelsin.</p>
<p>Yazılımı öğrendiğim kaynak : <a title="Adrese ulaşmak için tıklayınız." href="http://www.wincert.net/tips/microsoft-windows/windows-7/2109-how-to-copy-a-user-profile-on-windows-7.html" target="_blank">http://www.wincert.net/tips/microsoft-windows/windows-7/2109-how-to-copy-a-user-profile-on-windows-7.html</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=438</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symantec Brightmail Gateway ile kelime filtreleme</title>
		<link>http://www.notsayfam.com/?p=427</link>
		<comments>http://www.notsayfam.com/?p=427#comments</comments>
		<pubDate>Mon, 21 Nov 2011 11:17:03 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[İp Uçları]]></category>
		<category><![CDATA[Kurulum Notları]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=427</guid>
		<description><![CDATA[Spam çözümlerinden önde gelen Symantec BrightMail Gw ile belirli kelime içeren epostaların karantinaya alınması veya silinmesini aşağıdaki adımlar ile tamamlayabiliriz. Öncelikle bir sözlük tanımlaması yapıyoruz, bu sözlüğün içine içerebilecek kelimeleri tek tek ekliyoruz. Kelimenin bir bölümünün olması yeterlidir. Örn: &#160; Sözlüğümüzü ektedikten sonra sıra bu kelimeleri içeren bir eposta geldiğinde ne yapmalıyızı tanımlamaya. &#160; Boş [...]]]></description>
			<content:encoded><![CDATA[<p>Spam çözümlerinden önde gelen Symantec BrightMail Gw ile belirli kelime içeren epostaların karantinaya alınması veya silinmesini aşağıdaki adımlar ile tamamlayabiliriz.</p>
<p>Öncelikle bir sözlük tanımlaması yapıyoruz, bu sözlüğün içine içerebilecek kelimeleri tek tek ekliyoruz. Kelimenin bir bölümünün olması yeterlidir.<span id="more-427"></span></p>
<p>Örn:</p>
<div class="wp-caption alignnone" style="width: 627px"><a href="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Dictionary.png"><img title="Brightmal_Message_Gateway_Add_Dictionary" src="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Dictionary.png" alt="Brightmail Sözlük Ekleme" width="617" height="450" /></a><p class="wp-caption-text">Brightmail Sözlük Ekleme</p></div>
<p>&nbsp;</p>
<p>Sözlüğümüzü ektedikten sonra sıra bu kelimeleri içeren bir eposta geldiğinde ne yapmalıyızı tanımlamaya.</p>
<p>&nbsp;</p>
<div class="wp-caption alignnone" style="width: 627px"><a href="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Policy_01.png"><img title="Brightmal_Message_Gateway_Add_Policy_01" src="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Policy_01.png" alt="Brightmail Politika Ekleme" width="617" height="450" /></a><p class="wp-caption-text">Brightmail Politika Ekleme1</p></div>
<p>Boş bir politika seçerek başlıyoruz.</p>
<div class="wp-caption alignnone" style="width: 627px"><a href="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Policy_02.png"><img class="alignnone" title="Brightmail Politika Ekleme 2" src="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Policy_02.png" alt="" width="617" height="450" /></a><p class="wp-caption-text">Brightmail Politika Ekleme</p></div>
<p>&nbsp;</p>
<p>Gelen epostaların Konu, Body ve eklerinde Seçtiğimiz kategoriden 2 veya daha fazla kelime içermesi durumunda bu politika geçerli olacaktır.</p>
<div class="wp-caption alignnone" style="width: 627px"><a href="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Policy_03.png"><img class="alignnone" title="Brightmail Politika Ekleme 3" src="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Policy_03.png" alt="Brightmail Politika Ekleme 3" width="617" height="450" /></a><p class="wp-caption-text">Brightmail Politika Ekleme</p></div>
<p>&nbsp;</p>
<p>Birden fazla conditionsu tek bir politika içerisine yazabileceğimiz gibi birden fazla politikayı da gelen epostalara uygulayabiliriz. Örnekte, Gelen epostaların konu ve içeriğinde Kufurler sözlüğünde yer alan 2 sözcük veya daha fazla içermesi durumunda Epostayı karantina havuzuna atıyoruz.</p>
<div class="wp-caption alignnone" style="width: 627px"><a href="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Policy_04.png"><img class="alignnone" title="Brightmail Politika Ekleme 4" src="/wp-content/uploads/2011/11/Brightmal_Message_Gateway_Add_Policy_04.png" alt="" width="617" height="450" /></a><p class="wp-caption-text">Brightmail Politika Ekleme</p></div>
<p>&nbsp;</p>
<p>İyi çalışmalar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=427</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Office Update sonrası Excel yavaşlığı &amp; Vbscript ile uzaktan komut çalıştırma/patch kaldırma</title>
		<link>http://www.notsayfam.com/?p=406</link>
		<comments>http://www.notsayfam.com/?p=406#comments</comments>
		<pubDate>Fri, 01 Jul 2011 12:14:43 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[İp Uçları]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[VbScript]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=406</guid>
		<description><![CDATA[vbscript ile uzaktan komut çalıştırma, excel file open slowly on network, network üzerinden excel dosyalarını açarken yavaşlık]]></description>
			<content:encoded><![CDATA[<p>28.06.2011 tarihinde çıkan Microsoft Office File Validation güncellemesi yükledikten sonra ağ üzerinden excel dosyalarını açarken aşırı bir yavaşlama ve 2-3Mb boyutundan yüksek olan excel dosyalarında kilitlenme meydana gelmesine yol açmakta. Bilgisayarın lokal disklerinde bulunan dosyalar için bu sorun olmamakla birlikte yanlızca ağ üzerinden çalışan dosyalarda bu sorun ortaya çıkmakta.</p>
<p>Yapılan güncelleme WSUS ortamından kaldırılmayı desteklemediği için elle kaldırmanız gerekmekte 5-10 bilgisayar yapılabilir ancak şirket ortamları için pek mümkün değil.</p>
<p>iş yine script yazmaya kaldı.<br />
Öncelikle nasıl kaldırabileceğimizi registry üzerinden aradığımızda kaldırma stringi olarak<br />
MsiExec.exe /I{90140000-2005-0000-0000-0000000FF1CE} yazmakta kendimize göre düzenlersek MsiExec.exe /quiet /uninstall {90140000-2005-0000-0000-0000000FF1CE} şeklinde interaktif ekran görünmeden otomatik olarak kaldırması sağlanmakta.</p>
<p>Güncelleme: Microsoft tarafında sorun çıktığı teyit edilmiş ilgili adreslere <a href="http://support.microsoft.com/kb/2570623/tr" target="_blank">http://support.microsoft.com/kb/2570623/tr</a> ve <a href="http://support.microsoft.com/kb/2501584/tr" target="_blank">http://support.microsoft.com/kb/2501584/tr</a> adreslerinden ulaşılabilir. 3 çözüm sunmuşlar şu anlık 1.Kaldırmak  2. Devre dışı bırakmayı, Office 2007 veya 2010 yüklemeyi. İlgili linklerden detaylara ulaşabilirsiniz.</p>
<p>Gelelim Scripte.<span id="more-406"></span></p>
<p style="padding-left: 30px;"><code><br />
On Error Resume Next</code></p>
<p style="padding-left: 30px;"><code>Set objConnection = CreateObject("ADODB.Connection")<br />
Set objCommand = CreateObject("ADODB.Command")<br />
objConnection.Provider = "ADsDSOObject"<br />
objConnection.Open "Active Directory Provider"<br />
Set objCommand.ActiveConnection = objConnection<br />
objCommand.Properties("Page Size") = 1000</code></p>
<p>&nbsp;</p>
<p style="padding-left: 30px;"><code>dim strCommand<br />
' Microsoft Office File Validation Add-in kaldirma değerleri<br />
strCommand = "MsiExec.exe /quiet /uninstall {90140000-2005-0000-0000-0000000FF1CE}"</code></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="padding-left: 30px;">&#8216; oluşan logları kayıt edelim.<br />
Set oFSO = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)<br />
Set oLog = oFSO.CreateTextFile(&#8220;JobExport.Log&#8221;)</p>
<p style="padding-left: 30px;">&#8216; Hesabı kapalı olmayan bilgisayarları bulalım<br />
objCommand.CommandText = &#8220;&lt;LDAP://dc=fabrikam,dc=int&gt;;(&amp;(objectCategory=computer) (!(userAccountControl:1.2.840.113556.1.4.803:=2)));Name;subtree&#8221;<br />
Set objRecordSet = objCommand.Execute<br />
dim objComputer<br />
objRecordSet.MoveFirst</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="padding-left: 30px;"><code>'Bilgisayar kayıtları sona gelene kadar her bilgisayar için komutumuzu çalıştıralım<br />
Do Until objRecordSet.EOF</code></p>
<p><code><br />
objComputer = ""<br />
objComputer = objRecordSet.Fields("Name").Value<br />
'Bilgisayarin kapalı mı açık mı olduğunu anlamak için ping atalım<br />
Set objScriptExec = objShell.Exec("ping -n 2 -w 1000 " &amp; objComputer)<br />
strPingResults = LCase(objScriptExec.StdOut.ReadAll)<br />
'Gelen cevapta türkçe sistemler için cevab ingilizceler için Reply içeriyorsa komut çalıştıralım<br />
If InStr(strPingResults, "cevab") or InStr(strPingResults, "Reply") Then<br />
Set objWMIService = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; objComputer &amp; "\root\cimv2")<br />
Set objProcess = objWMIService.Get("Win32_Process")<br />
errReturn = objProcess.Create(strCommand, null, null, intProcessID)<br />
If errReturn = 0 Then<br />
olog.write objComputer &amp; ";Software Runned. ID=; " &amp; intProcessID &amp; vbcrlf<br />
Else<br />
olog.write objComputer &amp; ";Error ID; " &amp; errReturn &amp; vbcrlf<br />
End If<br />
Else<br />
olog.write("Bilgisayar Kapalı" &amp; vbcrlf)<br />
End If<br />
'Next Computer<br />
objRecordSet.MoveNext</code></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><code>Loop<br />
olog.Close<br />
msgbox "END OF SCRIPT"</code></p>
<p style="padding-left: 30px;">
<p>İyi çalışmalar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=406</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flash Hazır MSI Paketi</title>
		<link>http://www.notsayfam.com/?p=398</link>
		<comments>http://www.notsayfam.com/?p=398#comments</comments>
		<pubDate>Mon, 14 Feb 2011 14:08:37 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[İp Uçları]]></category>
		<category><![CDATA[Program]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=398</guid>
		<description><![CDATA[Adobe flash msi package for domain. Etki alanı için Adobe Flash msi paketi.]]></description>
			<content:encoded><![CDATA[<p>Etki alanındaki tüm bilgisayarlara Adobe Flash güncellemesi için gerekli güncel MSI dosyalarını bizim oluşturmamıza gerek bulunmamakta. Bu konuda Adobe firması bize destek sağlıyor.</p>
<p><a title="Linklerin size iletilmesi için formu doldurmanız gerekmekte." href="http://www.adobe.com/tr/products/players/flash-player-distribution.html" target="_blank">http://www.adobe.com/tr/products/players/flash-player-distribution.html </a>adresinde yer alan link üzerinden eposta adresiniz ile kayıt olduğunuz takdirde size hangi adresi kullanarak indirebileceğiniz bilgisini iletmekteler.</p>
<p>Not: Daha önce eklediğim linkleri kaldırdım. Flash 11 için yeni dağıtım linkleri iletiyorlar sizde kayıt olarak ilgili dosya linklerine erişebilirsiniz..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=398</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange 2003 Yönetici Şifre Değişikliği Sonrası Event ID 529 &amp; 8213</title>
		<link>http://www.notsayfam.com/?p=396</link>
		<comments>http://www.notsayfam.com/?p=396#comments</comments>
		<pubDate>Fri, 04 Feb 2011 12:35:08 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[Exchange]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=396</guid>
		<description><![CDATA[Birçok eklenti, 3rd parti yazılımlar kurulmuş bir exchange sunucunun bağlı olduğu domainde Administrator parolası değiştirdikten sonra eğer Event ID 529 ve 8213 düşüyorsa. Öncelikle Administrator hesabı ile çalışan bir exchange servisi var mı kontrol ettikten sonra eğer yoksa aşağıdaki makaledeki işlemler sorunumuzu çözüyor. Örnek Hata Logları Event Type: Failure Audit Event Source: Security Event Category: [...]]]></description>
			<content:encoded><![CDATA[<p>Birçok eklenti, 3rd parti yazılımlar kurulmuş bir exchange sunucunun bağlı olduğu domainde Administrator parolası değiştirdikten sonra eğer Event ID 529 ve 8213 düşüyorsa.</p>
<p>Öncelikle Administrator hesabı ile çalışan bir exchange servisi var mı kontrol ettikten sonra eğer yoksa aşağıdaki makaledeki işlemler sorunumuzu çözüyor.</p>
<p>Örnek Hata Logları</p>
<p>Event Type:    Failure Audit<br />
Event Source:    Security<br />
Event Category:    Logon/Logoff<br />
Event ID:    529<br />
Date:        27.01.2011<br />
Time:        16:30:05<br />
User:        NT AUTHORITY\SYSTEM<br />
Computer:    MAILSUNUCU<br />
Description:<br />
Logon Failure:<br />
     Reason:        Unknown user name or bad password<br />
     User Name:    Administrator<br />
     Domain:        DOMAIN<br />
     Logon Type:    7<br />
     Logon Process:    Advapi<br />
     Authentication Package:    Negotiate<br />
     Workstation Name:    MAILSUNUCU<br />
     Caller User Name:    MAILSUNUCU$<br />
     Caller Domain:    DOMAIN<br />
     Caller Logon ID:    (0&#215;0,0x3E7)<br />
     Caller Process ID:    3780    (mad.exe)<br />
     Transited Services:    -<br />
     Source Network Address:    -<br />
     Source Port:    -</p>
<p>For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.</p>
<p> Birde Application log içerisine aşağıdaki log düşüyor?</p>
<p>Event Type:    Error<br />
Event Source:    MSExchangeFBPublish<br />
Event Category:    General<br />
Event ID:    8213<br />
Date:        1/27/2011<br />
Time:        4:20:05 PM<br />
User:        N/A<br />
Computer:    MAILSUNUCU<br />
Description:<br />
System Attendant Service failed to create session for virtual machine MAILSUNUCU. The error number is 0xc007052e. </p>
<p>Çözüm;<br />
<a href="http://support.microsoft.com/kb/296151/en">http://support.microsoft.com/kb/296151/en</a></p>
<p>   1. Start Registry Editor.<br />
   2. Locate the Server value under the following key in the registry:<br />
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeFBPublish\Parameters\<Server><br />
   3. On the Edit menu, click Add Value.<br />
   4. In the Value Name field, type FreeBusyQuerySessions, set the Data Type to REG_DWORD, and then click OK.<br />
   5. In the Data field, type 00000000, and then click OK.<br />
   6. Quit Registry Editor.<br />
   7. Restart the Microsoft Exchange System Attendant.<br />
   8. Start Exchange System Manager, and then locate the storage group.<br />
   9. Click the private store, and then right-click Properties.<br />
  10. Click the Security tab, and then click the Exchange service account.<br />
  11. Click View information store, click Administer information store, and then set the permissions.<br />
  12. Reset the Administrative Group&#8217;s service account.</p>
<p>To reset the Administrative Group&#8217;s service account, follow these steps:</p>
<p>   1. Back up the Exchange Server 2003 or Exchange 2000 Server information store and the Windows system state data of a domain controller.<br />
   2. Start the ADSI Edit tool.<br />
   3. Expand Configuration Container [domain name], expand CN=Configuration,DC=Domain_name, expand CN=Services, expand CN=MicrosoftExchange, expand CN=Organization_Name, and then expand CN=Administrative Groups<br />
   4. Right-click CN=Your Admin Group Name, and then click Properties.<br />
   5. Click the Attribute Editor tab.<br />
   6. Double-click the following properties, note the value if there is a value in the property, and then click the CLEAR button:<br />
          * msExchEncryptedPassword<br />
          * msExchLegacyAccount<br />
          * msExchLegacyDomain<br />
   7. Double-click msExchAdminGroupMode.<br />
   8. Type 2 for the value.</p>
<p>      Note Before you change the value to 2, note the original value.<br />
   9. Click OK, click Apply, and then click OK.<br />
  10. Quit the ADSI Edit tool.<br />
  11. Restart the Microsoft Exchange System Attendant service and all dependent services.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=396</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vb.net İle Web Sayfaları üzerinde Get-Post istekleri yapmak ve Excel işlemleri</title>
		<link>http://www.notsayfam.com/?p=388</link>
		<comments>http://www.notsayfam.com/?p=388#comments</comments>
		<pubDate>Thu, 21 Oct 2010 19:27:07 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Vb.Net]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=388</guid>
		<description><![CDATA[Vb.net kullanarak threading,get,post ve excel işlemleri]]></description>
			<content:encoded><![CDATA[<p>Güzel bir programla/notlarla yeni bir post.</p>
<p>Programın,notların işlemleri;<br />
Vb.net kullanarak Web sayfalarını getirmek veya web sayfalarına değerler post ederek gelen değerleri almak. Alınan verileri excel dosyası oluşturup ilgili sütün/satırlara yazıp biçimlendirmeleri (hücre birleştirme,renklendirme) yapıp kayıt etmek.</p>
<p>Programın yaptıkları;<br />
1-İzmir metro seferlerini www.izmir.bel.tr adresinden Get ile alıp kaynak kodunu temizledikten sonra excele aktarıp kayıt etmek<br />
2-İzmir banliyo seferlerini www.izban.com.tr adresinden alıp kayıt etmek.<br />
3-Vapur seferlerini www.izmir.bel.tr ulaşımdaki vapur alanında bulunan kalkış ve varış comboboxları içerisindeki değerlerin hepsini tek tek post ederek gelen değerlere göre sefer varsa excele atmak<br />
4-Otobüs numaralarını kullanarak www.eshot.gov.tr sitesinden her bir otobüs numarası için güzergah,saatlerini alıp excele kayıt etmek.</p>
<p>Kısaca izmir offline ulaşım rehberi.<br />
<span id="more-388"></span><br />
Programın tam proje dosyasını indirmek için <a href="http://www.notsayfam.com/wp-content/plugins/download-monitor/download.php?id=4">tıklayınız</a> (vs 2005)</p>
<p><a href="http://www.notsayfam.com/wp-content/uploads/2010/10/notsayfam_vbnet_get_post_excel.jpg"><img src="http://www.notsayfam.com/wp-content/uploads/2010/10/notsayfam_vbnet_get_post_excel.jpg" alt="" title="notsayfam_vbnet_get_post_excel" width="610" height="331" class="alignleft size-full wp-image-389" /></a></p>
<p><code><br />
Imports System.Net<br />
Imports System.Text<br />
Imports System.IO<br />
Imports Microsoft.Office.Core<br />
Imports System.Threading<br />
Imports System.Runtime.InteropServices<br />
Public Class Form1<br />
    Shared threadcount As Integer = 0<br />
    Shared path As String = &quot;&quot;<br />
    Dim bitti As Boolean = False<br />
    Shared sonalinan As String = &quot;&quot;<br />
    Private Sub Form1_Load&#40;ByVal sender As System.Object, ByVal e As System.EventArgs&#41; Handles MyBase.Load<br />
        Control.CheckForIllegalCrossThreadCalls = False<br />
    End Sub</p>
<p>    Private Sub Button2_Click&#40;ByVal sender As System.Object, ByVal e As System.EventArgs&#41; Handles btnotobus.Click<br />
        If IsNumeric&#40;txtotobusilk.Text&#41; And IsNumeric&#40;txtotobusson.Text&#41; Then<br />
            If Val&#40;txtotobusilk.Text&#41; &gt; Val&#40;txtotobusson.Text&#41; Then<br />
                MsgBox&#40;&quot;İlk otobüs son otobüs numarasından büyük olamaz&quot;&#41;<br />
                Exit Sub<br />
            End If<br />
        Else<br />
            MsgBox&#40;&quot;Lütfen otobüs numarası alanlarına rakam giriniz&quot;&#41;<br />
            Exit Sub<br />
        End If<br />
        DirectoryCheck&#40;&#41;<br />
        path = txtpath.Text<br />
        Dim thbaslat As Thread<br />
        Dim thkbaslat As New ThreadStart&#40;AddressOf OtobusTaramaBaslat&#41;<br />
        thbaslat = New Thread&#40;thkbaslat&#41;<br />
        thbaslat.Start&#40;&#41;<br />
    End Sub<br />
    Private Sub OtobusTaramaBaslat&#40;&#41;<br />
        bitti = False<br />
        Dim thistatistik As Thread<br />
        Dim thkistatistik As New ThreadStart&#40;AddressOf SbIstatistik&#41;<br />
        thistatistik = New Thread&#40;thkistatistik&#41;<br />
        thistatistik.Start&#40;&#41;<br />
        Dim alinansayisi As Integer = 0<br />
        btnotobus.Enabled = False<br />
        System.IO.Directory.CreateDirectory&#40;path &#038; &quot;\Otobus&quot;&#41;<br />
        For i As Integer = Val&#40;txtotobusilk.Text&#41; To Val&#40;txtotobusson.Text&#41;<br />
            lblcalisilan.Text = i.ToString<br />
tekrar:<br />
            If threadcount &gt;= Val&#40;txtmaxthread.Text&#41; Then<br />
                Thread.Sleep&#40;500&#41;<br />
                GoTo tekrar<br />
            End If</p>
<p>            Dim otobusclass As New OtobusTara<br />
            otobusclass.otobusno = i<br />
            Dim thsoft As New Thread&#40;AddressOf otobusclass.Otobusbulyaz&#41;<br />
            thsoft.IsBackground = True<br />
            thsoft.Priority = ThreadPriority.Normal<br />
            thsoft.Start&#40;&#41;<br />
            Interlocked.Increment&#40;threadcount&#41;<br />
            Thread.Sleep&#40;500&#41;<br />
        Next<br />
        bitti = True<br />
        btnotobus.Enabled = True<br />
        'Call ProcessKill&#40;&#41;<br />
        lblsondurum.Text = &quot;Sefer alım threadları tamamlandı&quot; &#038; vbCrLf &#038; _<br />
        &quot;Çalışan threadların sonlanması bekleniyor&quot;<br />
    End Sub<br />
    Private Sub SbIstatistik&#40;&#41;<br />
bas:<br />
        If threadcount = 0 And bitti = True Then<br />
            lblthreadcount.Text = threadcount<br />
            lblsondurum.Text = &quot;Sefer Alımları Tamamlandı&quot; &#038; vbCrLf &#038; _<br />
      &quot;Bazı excel prosesleri takılı kalmış olabilir&quot; &#038; vbCrLf &#038; _<br />
      &quot;Biraz bekledikten sonra excel işlemlerini sonlandırabilirsiniz&quot;<br />
            Exit Sub<br />
        Else<br />
            lblalinan.Text = sonalinan<br />
            lblthreadcount.Text = threadcount<br />
            Thread.Sleep&#40;100&#41;<br />
            GoTo bas<br />
        End If<br />
    End Sub<br />
    Public Class OtobusTara<br />
        Public otobusno As Integer<br />
        Public Sub Otobusbulyaz&#40;&#41;<br />
            Dim kaynakkodu As String = &quot;&quot;<br />
            Dim kaynak As String = &quot;&quot;<br />
            Dim guzergah As String = &quot;&quot;<br />
            Try<br />
                Dim istek As HttpWebRequest = HttpWebRequest.Create&#40;&quot;http:&#47;&#47;www.eshot.gov.tr&#47;otobushareket&#47;OtobusSaatleri.aspx?hatno=&quot; &#038; otobusno.ToString&#41;<br />
                Dim cevap As HttpWebResponse = istek.GetResponse<br />
                Dim sr As IO.StreamReader = New IO.StreamReader&#40;cevap.GetResponseStream&#40;&#41;&#41;<br />
                kaynak = sr.ReadToEnd&#40;&#41;<br />
            Catch ex As WebException<br />
                MsgBox&#40;&quot;Web sayfası alınırken sorun oluştu&quot; &#038; vbCrLf &#038; ex.Message&#41;<br />
                GoTo cikis<br />
            End Try</p>
<p>            If Not &#40;InStr&#40;kaynak, &quot;Hat No&quot;&#41; &gt; 0&#41; Then<br />
                'Otobüs yok<br />
                GoTo cikis<br />
            End If<br />
            Dim baslangictext As String = &quot;&lt;th scope=&quot;&quot;col&quot;&quot;&gt;&quot;<br />
            Dim bitistext As String = &quot;&lt;input type=&quot;&quot;hidden&quot;&quot;&quot;<br />
            Dim tablobas As Integer = InStr&#40;kaynak, baslangictext&#41;<br />
            If tablobas = 0 Then<br />
                'Otobüs yok<br />
                GoTo cikis<br />
            End If<br />
            Dim guzergahbas As Integer = InStr&#40;kaynak, &quot;&lt;span id=&quot;&quot;lbGuzergah&quot;&quot;&gt;&quot;&#41; + 22<br />
            Dim guzergahson As String = InStr&#40;kaynak, &quot;&lt;div id=&quot;&quot;aciklamaDiv&quot;&quot;&quot;&#41; - &#40;InStr&#40;kaynak, &quot;&lt;span id=&quot;&quot;lbGuzergah&quot;&quot;&gt;&quot;&#41; + 61&#41;<br />
            guzergah = Mid&#40;kaynak, guzergahbas, guzergahson&#41;</p>
<p>            Dim tabloson As Integer = InStr&#40;Mid&#40;kaynak, tablobas, Len&#40;kaynak&#41; - tablobas&#41;, bitistext&#41; - 20<br />
            kaynakkodu = Mid&#40;kaynak, tablobas, tabloson&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, Chr&#40;13&#41;, &quot;&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, Chr&#40;10&#41;, &quot;&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;  &quot;, &quot;&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;	&quot;, &quot;&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;th scope=&quot;&quot;col&quot;&quot;&gt;&quot;, &quot;&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&lt;td align=&quot;&quot;center&quot;&quot;&gt;&quot;, &quot;;&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&lt;&#47;tr&gt;&lt;tr style=&quot;&quot;background-color:White;&quot;&quot;&gt;&lt;td align=&quot;&quot;center&quot;&quot;&gt;&quot;, Chr&#40;13&#41;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&lt;&#47;tr&gt;&lt;tr style=&quot;&quot;background-color:#EDEDED;&quot;&quot;&gt;&lt;td align=&quot;&quot;center&quot;&quot;&gt;&quot;, Chr&#40;13&#41;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&lt;&#47;tr&gt;&lt;&#47;table&gt;&lt;&#47;div&gt;&lt;&#47;td&gt;&lt;td valign=&quot;&quot;top&quot;&quot;&gt;&lt;div&gt;&lt;table cellspacing=&quot;&quot;0&quot;&quot; cellpadding=&quot;&quot;4&quot;&quot; border=&quot;&quot;0&quot;&quot; id=&quot;&quot;grid3&quot;&quot; style=&quot;&quot;color:#333333;width:150px;border-collapse:collapse;&quot;&quot;&gt;&lt;tr style=&quot;&quot;color:White;background-color:#616161;font-weight:bold;&quot;&quot;&gt;&quot;, Chr&#40;13&#41;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&lt;&#47;tr&gt;&lt;&#47;table&gt;&lt;&#47;div&gt;&lt;&#47;td&gt;&lt;td valign=&quot;&quot;top&quot;&quot;&gt;&lt;div&gt;&lt;table cellspacing=&quot;&quot;0&quot;&quot; cellpadding=&quot;&quot;4&quot;&quot; border=&quot;&quot;0&quot;&quot; id=&quot;&quot;grid2&quot;&quot; style=&quot;&quot;color:#333333;width:150px;border-collapse:collapse;&quot;&quot;&gt;&lt;tr style=&quot;&quot;color:White;background-color:#616161;font-weight:bold;&quot;&quot;&gt;&quot;, Chr&#40;13&#41;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;th&gt;&lt;&#47;tr&gt;&lt;tr style=&quot;&quot;background-color:#EDEDED;&quot;&quot;&gt;&lt;td align=&quot;&quot;center&quot;&quot;&gt;&quot;, Chr&#40;13&#41;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;th&gt;&quot;, &quot;;&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&lt;&#47;tr&gt;&lt;&#47;table&gt;&lt;&#47;div&gt;&lt;&#47;td&gt;&lt;&#47;tr&gt;&lt;&#47;table&gt; &quot;, &quot;&quot;&#41;</p>
<p>            kaynakkodu = Replace&#40;kaynakkodu, &quot;&#199;&quot;, &quot;C&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&#220;&quot;, &quot;U&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&#305;&quot;, &quot;i&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&#351;&quot;, &quot;s&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&#214;&quot;, &quot;Ö&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;G?zergah&quot;, &quot;Guzergah&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;KAR?&quot;, &quot;KARS&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&#351;&quot;, &quot;s&quot;&#41;<br />
            kaynakkodu = Replace&#40;kaynakkodu, &quot;&nbsp;&quot;, &quot; &quot;&#41;</p>
<p>            Dim oXL As Excel.Application<br />
            Dim oWB As Excel.Workbook<br />
            Dim oSheet As Excel.Worksheet</p>
<p>            oXL = CreateObject&#40;&quot;Excel.Application&quot;&#41;<br />
            oXL.Visible = False</p>
<p>            oWB = oXL.Workbooks.Add<br />
            oSheet = oWB.ActiveSheet</p>
<p>            Dim satirlar&#40;&#41; As String = Split&#40;kaynakkodu, Chr&#40;13&#41;&#41;<br />
            Dim cumartesi As Boolean = False<br />
            Dim pazar As Boolean = False<br />
            Dim cumartesisayisi As Integer = 0<br />
            Dim pazarsayisi As Integer = 0<br />
            oSheet.Cells&#40;1, 1&#41; = guzergah<br />
            For i As Integer = 0 To satirlar.Length - 1<br />
                Dim satir As String = satirlar&#40;i&#41;.ToString<br />
                Dim ogeler&#40;&#41; As String = Split&#40;satir, &quot;;&quot;&#41;<br />
                If ogeler.Length &lt; 2 Then Exit For<br />
                If InStr&#40;ogeler&#40;0&#41;, &quot;Kalkış&quot;&#41; And i &gt; 5 And cumartesi = True Then<br />
                    cumartesi = False<br />
                    pazar = True<br />
                End If<br />
                If InStr&#40;ogeler&#40;0&#41;, &quot;Kalkış&quot;&#41; And i &gt; 5 And cumartesi = False And pazar = False Then<br />
                    cumartesi = True<br />
                End If<br />
                If cumartesi = True Then<br />
                    oSheet.Cells&#40;cumartesisayisi + 2, 3&#41; = ogeler&#40;0&#41;<br />
                    oSheet.Cells&#40;cumartesisayisi + 2, 4&#41; = ogeler&#40;1&#41;<br />
                    cumartesisayisi += 1<br />
                End If<br />
                If pazar = True Then<br />
                    oSheet.Cells&#40;pazarsayisi + 2, 5&#41; = ogeler&#40;0&#41;<br />
                    oSheet.Cells&#40;pazarsayisi + 2, 6&#41; = ogeler&#40;1&#41;<br />
                    pazarsayisi += 1<br />
                End If<br />
                If cumartesi = False And pazar = False Then<br />
                    oSheet.Cells&#40;i + 2, 1&#41; = ogeler&#40;0&#41;<br />
                    oSheet.Cells&#40;i + 2, 2&#41; = ogeler&#40;1&#41;<br />
                End If<br />
            Next<br />
            If cumartesisayisi &gt; 0 Then<br />
                ' Eğer cumartesi günü sefer varsa C2 den başlayıp<br />
                ' Cumartesi günü sonuna kadar renklendirelim<br />
                With oSheet.Range&#40;&quot;C2&quot;, &quot;D&quot; &#038; cumartesisayisi + 1&#41;<br />
                    '.Font.Bold = True<br />
                    .Interior.ColorIndex = 17<br />
                    .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br />
                End With<br />
            End If<br />
            With oSheet.Range&#40;&quot;A1&quot;, &quot;F1&quot;&#41;<br />
                ' Otobüs guzergahını biçimlendirelim<br />
                .Merge&#40;&#41;<br />
                .Font.Size = 7<br />
                .Font.Bold = True<br />
                .HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br />
            End With<br />
            With oSheet.Range&#40;&quot;A2&quot;, &quot;F2&quot;&#41;<br />
                ' Başlık bilgilerini biçimlendirelim<br />
                .WrapText = True<br />
                .ColumnWidth = 10<br />
                .Font.Size = 7<br />
                .Font.Bold = True<br />
                .Interior.ColorIndex = 13<br />
                .HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br />
                .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br />
                .EntireColumn.AutoFit&#40;&#41;<br />
            End With<br />
            With oSheet.Range&#40;&quot;A3&quot;, &quot;F253&quot;&#41;<br />
                .Font.Size = 9<br />
                .EntireColumn.AutoFit&#40;&#41;<br />
                .HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br />
                .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br />
            End With</p>
<p>            Dim dosyaadi As String = otobusno &#038; &quot;-&quot; &#038; Replace&#40;oSheet.Cells&#40;2, 1&#41;.Value.ToString, &quot; Kalkış&quot;, &quot;&quot;&#41; &#038; &quot;-&quot; &#038; Replace&#40;oSheet.Cells&#40;2, 2&#41;.value.ToString, &quot; Kalkış&quot;, &quot;&quot;&#41; &#038; &quot;&#40;&quot; &#038; guzergah &#038; &quot;&#41;&quot; &#038; &quot;.xls&quot;<br />
            If Len&#40;dosyaadi&#41; &gt; 150 Then<br />
                dosyaadi = otobusno &#038; &quot;-&quot; &#038; Replace&#40;oSheet.Cells&#40;2, 1&#41;.Value.ToString, &quot; Kalkış&quot;, &quot;&quot;&#41; &#038; &quot;-&quot; &#038; Replace&#40;oSheet.Cells&#40;2, 2&#41;.value.ToString, &quot; Kalkış&quot;, &quot;&quot;&#41; &#038; &quot;&#40;&quot; &#038; Mid&#40;guzergah, 1, 100&#41; &#038; &quot;&#41;&quot; &#038; &quot;.xls&quot;<br />
            End If<br />
            If System.IO.File.Exists&#40;path + &quot;\Otobus\&quot; + dosyaadi&#41; Then<br />
                Dim cvp = MessageBox.Show&#40;&quot;Kayıt edilmeye çalışılan dosya mevcut üzerine yazılsın mı?&quot; &#038; vbCrLf &#038; &quot;Dosyaadı:&quot; &#038; path + &quot;\Otobus\&quot; + dosyaadi, &quot;Dosya Mevcut&quot;, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1&#41;<br />
                If cvp = vbYes Then<br />
silveuzerineyaz:<br />
                    'Dosya mevcutsa eski dosyayı silelim<br />
                    Try<br />
                        System.IO.File.Delete&#40;path + &quot;\Otobus\&quot; + dosyaadi&#41;<br />
                    Catch ex As IOException<br />
                        MsgBox&#40;&quot;Dosya üzerine yazılırken hata oluştu&quot; &#038; vbCrLf &#038; ex.Message&#41;<br />
                        Exit Sub<br />
                    End Try<br />
                Else<br />
                    Dim yenidosyaadi As String = &quot;&quot;<br />
                    yenidosyaadi = InputBox&#40;&quot;Dosya Adını Giriniz iptal demeniz durumunda dosya kayıt edilmeyecektir&quot;, &quot;Yeni Adı Gir&quot;, dosyaadi&#41;<br />
                    If yenidosyaadi = &quot;&quot; Or yenidosyaadi = dosyaadi Then<br />
                        GoTo cikis<br />
                    ElseIf yenidosyaadi &lt;&gt; dosyaadi Then<br />
                        If InStr&#40;yenidosyaadi, &quot;.xls&quot;&#41; = 0 Then yenidosyaadi += &quot;.xls&quot;<br />
                        dosyaadi = yenidosyaadi<br />
                    End If<br />
                End If<br />
            End If<br />
            oSheet.SaveAs&#40;path + &quot;\Otobus\&quot; + dosyaadi&#41;<br />
            oWB.Close&#40;False&#41;<br />
            oXL.Workbooks.Close&#40;&#41;<br />
            oXL.Quit&#40;&#41;<br />
            sonalinan = otobusno<br />
cikis:<br />
            Interlocked.Decrement&#40;threadcount&#41;<br />
        End Sub</p>
<p>    End Class</p>
<p>    Private Sub Button4_Click&#40;ByVal sender As System.Object, ByVal e As System.EventArgs&#41; Handles btnvapur.Click<br />
        DirectoryCheck&#40;&#41;<br />
        path = txtpath.Text<br />
        Dim thbaslat As Thread<br />
        Dim thkbaslat As New ThreadStart&#40;AddressOf VapurTara&#41;<br />
        thbaslat = New Thread&#40;thkbaslat&#41;<br />
        thbaslat.Start&#40;&#41;<br />
    End Sub</p>
<p>    Private Sub VapurTara&#40;&#41;<br />
        System.IO.Directory.CreateDirectory&#40;path &#038; &quot;\Vapur&quot;&#41;<br />
        btnvapur.Enabled = False<br />
        ' Programın çalışma aşamaları<br />
        ' İzmir belediyesinin vapur.asp sayfasına bağlanıp<br />
        ' Kalkış ve varış comboboxlarındaki değerler alındıktan sonra.<br />
        ' Her  kalkış noktasından her varış noktası için<br />
        ' değerleri post edip gelen değerlere göre eğer vapur var ise<br />
        ' kalkış ve varış noktalarına göre xls dosyası oluşturmakta.<br />
        Dim kaynak As String = &quot;&quot;<br />
        Dim kalkis As String = &quot;&quot;<br />
        Dim varis As String = &quot;&quot;<br />
        Try<br />
            Dim istek As HttpWebRequest = HttpWebRequest.Create&#40;&quot;http:&#47;&#47;www.izmir.bel.tr&#47;vapur.asp&quot;&#41;<br />
            Dim cevap As HttpWebResponse = istek.GetResponse<br />
            Dim sr As IO.StreamReader = New IO.StreamReader&#40;cevap.GetResponseStream&#40;&#41;, Encoding.GetEncoding&#40;&quot;windows-1254&quot;&#41;&#41;<br />
            kaynak = sr.ReadToEnd&#40;&#41;<br />
        Catch ex As WebException<br />
            MsgBox&#40;&quot;Web sayfası alınırken sorun oluştu&quot; &#038; vbCrLf &#038; ex.Message&#41;<br />
            GoTo cikis<br />
        End Try</p>
<p>        Dim baslangictext As String = &quot;&lt;select class=&quot;&quot;frm&quot;&quot; name=&quot;&quot;kal&quot;&quot;&gt;&quot;<br />
        Dim bitistext As String = &quot;&lt;&#47;select&gt;&quot;<br />
        Dim tablobas As Integer = InStr&#40;kaynak, baslangictext&#41; + 40<br />
        If tablobas = 0 Then<br />
            'Ana web sayfası içerisindeki comboboxlardaki değerleri alalım<br />
            GoTo cikis<br />
        End If<br />
        Dim tabloson As Integer = InStr&#40;Mid&#40;kaynak, tablobas, Len&#40;kaynak&#41; - tablobas&#41;, bitistext&#41; - 25</p>
<p>        kalkis = Mid&#40;kaynak, tablobas, tabloson&#41;<br />
        kalkis = Replace&#40;kalkis, Chr&#40;13&#41;, &quot;&quot;&#41;<br />
        kalkis = Replace&#40;kalkis, Chr&#40;10&#41;, &quot;&quot;&#41;<br />
        kalkis = Replace&#40;kalkis, &quot;  &quot;, &quot;&quot;&#41;<br />
        kalkis = Replace&#40;kalkis, &quot;	&quot;, &quot;&quot;&#41;<br />
        kalkis = Replace&#40;kalkis, &quot;	&quot;, &quot;&quot;&#41;<br />
        kalkis = Replace&#40;kalkis, &quot; &lt;option value=&quot;&quot;&quot;, &quot;&quot;&#41;<br />
        kalkis = Replace&#40;kalkis, &quot;&lt;option value=&quot;&quot;&quot;, &quot;&quot;&#41;<br />
        kalkis = Replace&#40;kalkis, &quot;&quot;&quot; &gt;&quot;, &quot;;&quot;&#41;<br />
        kalkis = Replace&#40;kalkis, &quot;&lt;&#47;option&gt;&quot;, Chr&#40;13&#41;&#41;<br />
        Dim kalkislar&#40;&#41; As String = Split&#40;kalkis, Chr&#40;13&#41;&#41;<br />
        ' Her bir satır için bir dizi oluşturalım</p>
<p>        baslangictext = &quot;&lt;select class=&quot;&quot;frm&quot;&quot; name=&quot;&quot;Var&quot;&quot;&gt;&quot;<br />
        bitistext = &quot;&lt;select class=&quot;&quot;frm&quot;&quot; name=&quot;&quot;gun&quot;&quot;&gt;&quot;<br />
        tablobas = InStr&#40;kaynak, baslangictext&#41; + 40<br />
        tabloson = InStr&#40;Mid&#40;kaynak, tablobas, Len&#40;kaynak&#41; - tablobas&#41;, bitistext&#41; - 115<br />
        varis = Mid&#40;kaynak, tablobas, tabloson&#41;<br />
        varis = Replace&#40;varis, Chr&#40;13&#41;, &quot;&quot;&#41;<br />
        varis = Replace&#40;varis, Chr&#40;10&#41;, &quot;&quot;&#41;<br />
        varis = Replace&#40;varis, &quot;  &quot;, &quot;&quot;&#41;<br />
        varis = Replace&#40;varis, &quot;	&quot;, &quot;&quot;&#41;<br />
        varis = Replace&#40;varis, &quot;	&quot;, &quot;&quot;&#41;<br />
        varis = Replace&#40;varis, &quot; &lt;option value=&quot;&quot;&quot;, &quot;&quot;&#41;<br />
        varis = Replace&#40;varis, &quot;&lt;option value=&quot;&quot;&quot;, &quot;&quot;&#41;<br />
        varis = Replace&#40;varis, &quot;&quot;&quot; &gt;&quot;, &quot;;&quot;&#41;<br />
        varis = Replace&#40;varis, &quot;&lt;&#47;option&gt;&quot;, Chr&#40;13&#41;&#41;<br />
        varis = Replace&#40;varis, Chr&#40;13&#41; + Chr&#40;32&#41;, &quot;&quot;&#41;<br />
        Dim varislar&#40;&#41; As String = Split&#40;varis, Chr&#40;13&#41;&#41;<br />
        ' Her bir satır için bir dizi oluşturalım</p>
<p>        For i As Integer = 0 To kalkislar.Length - 1<br />
            For y As Integer = 0 To varislar.Length - 1<br />
                If InStr&#40;kalkislar&#40;i&#41;, &quot;;&quot;&#41; = 0 Then GoTo sonraki<br />
                If InStr&#40;varislar&#40;y&#41;, &quot;;&quot;&#41; = 0 Then GoTo sonraki</p>
<p>                Dim strkalkis As String = Mid&#40;kalkislar&#40;i&#41;, 1, InStr&#40;kalkislar&#40;i&#41;, &quot;;&quot;&#41; - 1&#41;<br />
                Dim strvaris As String = Mid&#40;varislar&#40;y&#41;, 1, InStr&#40;varislar&#40;y&#41;, &quot;;&quot;&#41; - 1&#41;<br />
                If strkalkis &lt;&gt; strvaris Then<br />
                    Dim strkalkispost As String = strkalkis<br />
                    Dim strvarispost As String = strvaris<br />
                    ' Türkçe karakterler post edilirken<br />
                    ' aşağıdaki şekilde dönüştürmeleri gerekiyor.<br />
                    strkalkispost = Replace&#40;strkalkispost, &quot; &quot;, &quot;+&quot;&#41;<br />
                    strkalkispost = Replace&#40;strkalkispost, &quot;&#40;&quot;, &quot;%28&quot;&#41;<br />
                    strkalkispost = Replace&#40;strkalkispost, &quot;&#41;&quot;, &quot;%29&quot;&#41;<br />
                    strkalkispost = Replace&#40;strkalkispost, &quot;Ü&quot;, &quot;%DC&quot;&#41;<br />
                    strkalkispost = Replace&#40;strkalkispost, &quot;Ç&quot;, &quot;%C7&quot;&#41;<br />
                    strkalkispost = Replace&#40;strkalkispost, &quot;Ş&quot;, &quot;%DE&quot;&#41;<br />
                    strkalkispost = Replace&#40;strkalkispost, &quot;Ö&quot;, &quot;%D6&quot;&#41;<br />
                    strvarispost = Replace&#40;strvarispost, &quot; &quot;, &quot;+&quot;&#41;<br />
                    strvarispost = Replace&#40;strvarispost, &quot;&#40;&quot;, &quot;%28&quot;&#41;<br />
                    strvarispost = Replace&#40;strvarispost, &quot;&#41;&quot;, &quot;%29&quot;&#41;<br />
                    strvarispost = Replace&#40;strvarispost, &quot;Ü&quot;, &quot;%DC&quot;&#41;<br />
                    strvarispost = Replace&#40;strvarispost, &quot;Ç&quot;, &quot;%C7&quot;&#41;<br />
                    strvarispost = Replace&#40;strvarispost, &quot;Ş&quot;, &quot;%DE&quot;&#41;<br />
                    strvarispost = Replace&#40;strvarispost, &quot;Ö&quot;, &quot;%D6&quot;&#41;<br />
                    lblsondurum.Text = &quot;Alınıyor : &quot; &#038; strkalkis &#038; &quot;-&quot; &#038; strvaris<br />
                    'Her vapur için hafta içi,c.tesi ve pazarı deneyelim<br />
                    Dim z As Integer<br />
                    Dim oXL As Excel.Application<br />
                    Dim oWB As Excel.Workbook<br />
                    Dim oSheet As Excel.Worksheet<br />
                    Dim vapurungunsayisi As Integer = 0<br />
                    Dim vapurhareketsayisi As Integer = 0<br />
                    For z = 0 To 2<br />
                        Dim oWeb As New System.Net.WebClient&#40;&#41;<br />
                        oWeb.Headers.Add&#40;&quot;Content-Type&quot;, &quot;application&#47;x-www-form-urlencoded&quot;&#41;<br />
                        Dim bytRetData As Byte&#40;&#41;</p>
<p>                        Dim bytArguments As Byte&#40;&#41;<br />
                        If z = 0 Then<br />
                            bytArguments = System.Text.Encoding.GetEncoding&#40;&quot;windows-1254&quot;&#41;.GetBytes&#40;&quot;guncek=0&#038;kal=&quot; &#038; strkalkispost &#038; &quot;&#038;var=&quot; &#038; strvarispost &#038; &quot;&#038;gun=H&#038;cek=1&quot;&#41;<br />
                        ElseIf z = 1 Then<br />
                            bytArguments = System.Text.Encoding.GetEncoding&#40;&quot;windows-1254&quot;&#41;.GetBytes&#40;&quot;guncek=1&#038;kal=&quot; &#038; strkalkispost &#038; &quot;&#038;var=&quot; &#038; strvarispost &#038; &quot;&#038;gun=C&#038;cek=1&quot;&#41;<br />
                        Else<br />
                            bytArguments = System.Text.Encoding.GetEncoding&#40;&quot;windows-1254&quot;&#41;.GetBytes&#40;&quot;guncek=2&#038;kal=&quot; &#038; strkalkispost &#038; &quot;&#038;var=&quot; &#038; strvarispost &#038; &quot;&#038;gun=P&#038;cek=1&quot;&#41;<br />
                        End If<br />
                        Try<br />
                            bytRetData = oWeb.UploadData&#40;&quot;http:&#47;&#47;www.izmir.bel.tr&#47;vapur.asp?idd=2&quot;, &quot;POST&quot;, bytArguments&#41;<br />
                        Catch ex As WebException<br />
                            MsgBox&#40;&quot;Web sayfası alınırken hata oluştu&quot; &#038; vbCrLf &#038; ex.Message&#41;<br />
                            Exit Sub<br />
                        End Try<br />
                        kaynak = System.Text.Encoding.GetEncoding&#40;&quot;windows-1254&quot;&#41;.GetString&#40;bytRetData&#41;<br />
                        If InStr&#40;kaynak, &quot;Bu kriterlere uygun vapur&quot;&#41; Then<br />
                            'GoTo sonraki<br />
                            'Eğer sorgulara karşılık olarak sayfa içeriğinde<br />
                            ' Bu kriterlere uygun vapur bulunamadı yer almıyorsa<br />
                            ' aşağıdaki işlemleri yapıyoruz<br />
                        Else<br />
                            vapurungunsayisi += 1<br />
                            If z = 0 Then<br />
                                oXL = CreateObject&#40;&quot;Excel.Application&quot;&#41;<br />
                                oXL.Visible = False<br />
                                oWB = oXL.Workbooks.Add<br />
                                oSheet = oWB.ActiveSheet<br />
                            End If<br />
                            oSheet.Cells&#40;1, 3&#41; = &quot;Hafta İçi&quot;<br />
                            oSheet.Cells&#40;1, 5&#41; = &quot;Cumartesi&quot;<br />
                            oSheet.Cells&#40;1, 7&#41; = &quot;Pazar&quot;<br />
                            baslangictext = &quot;&lt;table width=&quot;&quot;565&quot;&quot; border=&quot;&quot;0&quot;&quot; cellspacing=&quot;&quot;0&quot;&quot; cellpadding=&quot;&quot;0&quot;&quot;&gt;&quot;<br />
                            baslangictext = &quot;&lt;td width=&quot;&quot;135&quot;&quot; height=&quot;&quot;12&quot;&quot; align=&quot;&quot;center&quot;&quot;&gt;&lt;b&gt;Kalk&#305;&#351;&lt;&#47;b&gt;&lt;&#47;td&gt;&quot;<br />
                            bitistext = &quot;&lt;&#47;table&gt;&quot;<br />
                            tablobas = 0<br />
                            tablobas = InStr&#40;kaynak, baslangictext&#41;<br />
                            tabloson = 0<br />
                            tabloson = InStr&#40;Mid&#40;kaynak, tablobas, Len&#40;kaynak&#41; - tablobas&#41;, bitistext&#41; - 20<br />
                            Dim vapurseferleri As String = Mid&#40;kaynak, tablobas, tabloson&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&#199;&quot;, &quot;C&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&#220;&quot;, &quot;U&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&#305;&quot;, &quot;i&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&#351;&quot;, &quot;s&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;G?zergah&quot;, &quot;Guzergah&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;KAR?&quot;, &quot;KARS&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&#351;&quot;, &quot;s&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&nbsp;&quot;, &quot; &quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;  &quot;, &quot;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;  &quot;, &quot;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;	&quot;, &quot;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, Chr&#40;10&#41;, &quot;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, Chr&#40;13&#41;, &quot;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;td width=&quot;&quot;135&quot;&quot; height=&quot;&quot;12&quot;&quot; align=&quot;&quot;center&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;b&gt;&lt;&#47;td&gt;&lt;td width=&quot;&quot;101&quot;&quot; height=&quot;&quot;12&quot;&quot; align=&quot;&quot;center&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;b&gt;&lt;&#47;td&gt;&lt;td width=&quot;&quot;101&quot;&quot; height=&quot;&quot;12&quot;&quot; align=&quot;&quot;center&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;b&gt;&lt;&#47;td&gt;&lt;td width=&quot;&quot;225&quot;&quot; height=&quot;&quot;12&quot;&quot; align=&quot;&quot;center&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;b&gt;&lt;&#47;td&gt;&lt;td width=&quot;&quot;54&quot;&quot; height=&quot;&quot;12&quot;&quot; align=&quot;&quot;center&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;tr bgcolor=&quot;&quot;#FFFFFF&quot;&quot;&gt;&lt;td width=&quot;&quot;135&quot;&quot; align=&quot;&quot;center&quot;&quot; height=&quot;&quot;22&quot;&quot;&gt;&quot;, &quot;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;td&gt;&lt;td align=&quot;&quot;center&quot;&quot; width=&quot;&quot;101&quot;&quot;&gt;&quot;, &quot;;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;td&gt;&lt;td width=&quot;&quot;225&quot;&quot;&gt;&nbsp;&quot;, &quot;;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;td&gt;&lt;td width=&quot;&quot;225&quot;&quot;&gt;&quot;, &quot;;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;td&gt;&lt;td align=&quot;&quot;center&quot;&quot; width=&quot;&quot;54&quot;&quot;&gt;&quot;, &quot;;&quot;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;td&gt;&lt;&#47;tr&gt;&quot;, Chr&#40;13&#41;&#41;<br />
                            vapurseferleri = Replace&#40;vapurseferleri, &quot;&lt;&#47;b&gt;&quot;, &quot;&quot;&#41;</p>
<p>                            Dim seferler&#40;&#41; As String = Split&#40;vapurseferleri, Chr&#40;13&#41;&#41;<br />
                            ' En fazla kaç satır çıkmış onu excel renklendirme için alalım<br />
                            If seferler.Length &gt; vapurhareketsayisi Then vapurhareketsayisi = seferler.Length<br />
                            For p As Integer = 0 To seferler.Length - 1<br />
                                Dim satir As String = seferler&#40;p&#41;.ToString<br />
                                Dim ogeler&#40;&#41; As String = Split&#40;satir, &quot;;&quot;&#41;<br />
                                ' Daha önce ; ile ayırdığımız değerler parçalayıp ilkgili hücrelere yazalım<br />
                                If ogeler.Length &lt; 3 Then Exit For<br />
                                If z = 0 Then<br />
                                    oSheet.Cells&#40;p + 2, 1&#41; = ogeler&#40;0&#41;<br />
                                    oSheet.Cells&#40;p + 2, 2&#41; = ogeler&#40;1&#41;<br />
                                    oSheet.Cells&#40;p + 2, 3&#41; = ogeler&#40;2&#41;<br />
                                    oSheet.Cells&#40;p + 2, 4&#41; = ogeler&#40;3&#41;<br />
                                ElseIf z = 1 Then<br />
                                    oSheet.Cells&#40;p + 2, 5&#41; = ogeler&#40;2&#41;<br />
                                    oSheet.Cells&#40;p + 2, 6&#41; = ogeler&#40;3&#41;<br />
                                Else<br />
                                    oSheet.Cells&#40;p + 2, 7&#41; = ogeler&#40;2&#41;<br />
                                    oSheet.Cells&#40;p + 2, 8&#41; = ogeler&#40;3&#41;<br />
                                End If<br />
                            Next<br />
                        End If 'Vapur bulundu&#47;bulunamadı<br />
                    Next 'z 0 dan 3 e kadar günler için<br />
                    If vapurungunsayisi &gt; 0 Then<br />
                        With oSheet.Range&#40;&quot;A1&quot;, &quot;A2&quot;&#41;<br />
                            .Merge&#40;&#41;<br />
                        End With<br />
                        With oSheet.Range&#40;&quot;B1&quot;, &quot;B2&quot;&#41;<br />
                            .Merge&#40;&#41;<br />
                        End With<br />
                        With oSheet.Range&#40;&quot;C1&quot;, &quot;D1&quot;&#41;<br />
                            .Merge&#40;&#41;<br />
                        End With<br />
                        With oSheet.Range&#40;&quot;E1&quot;, &quot;F1&quot;&#41;<br />
                            .Merge&#40;&#41;<br />
                        End With<br />
                        With oSheet.Range&#40;&quot;G1&quot;, &quot;H1&quot;&#41;<br />
                            .Merge&#40;&#41;<br />
                        End With<br />
                        With oSheet.Range&#40;&quot;A1&quot;, &quot;H1&quot;&#41;<br />
                            .HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br />
                            .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br />
                        End With<br />
                        With oSheet.Range&#40;&quot;A2&quot;, &quot;H253&quot;&#41;<br />
                            '.WrapText = True<br />
                            '.ColumnWidth = 10<br />
                            .Font.Size = 9<br />
                            .EntireColumn.AutoFit&#40;&#41;<br />
                            .HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br />
                            .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br />
                        End With<br />
                        oSheet.Range&#40;&quot;D1&quot;, &quot;D90&quot;&#41;.ColumnWidth = 6<br />
                        oSheet.Range&#40;&quot;D1&quot;, &quot;D90&quot;&#41;.WrapText = True<br />
                        oSheet.Range&#40;&quot;F1&quot;, &quot;F90&quot;&#41;.ColumnWidth = 6<br />
                        oSheet.Range&#40;&quot;F1&quot;, &quot;F90&quot;&#41;.WrapText = True<br />
                        oSheet.Range&#40;&quot;H1&quot;, &quot;H90&quot;&#41;.ColumnWidth = 6<br />
                        oSheet.Range&#40;&quot;H1&quot;, &quot;H90&quot;&#41;.WrapText = True<br />
                        oSheet.Range&#40;&quot;E3&quot;, &quot;F&quot; &#038; vapurhareketsayisi&#41;.Interior.ColorIndex = 17<br />
                        oSheet.SaveAs&#40;path &#038; &quot;\Vapur\&quot; &#038; strkalkis &#038; &quot;-&quot; &#038; strvaris &#038; &quot;.xls&quot;&#41;<br />
                        oWB.Close&#40;&#41;<br />
                        oXL.Quit&#40;&#41;<br />
                    End If</p>
<p>                End If 'kalkış ile varış farklıysa</p>
<p>sonraki:</p>
<p>            Next<br />
        Next<br />
cikis:<br />
        lblsondurum.Text = &quot;Vapur Listeleme Sona Erdi&quot; &#038; vbCrLf &#038; &quot;Bazı excel uygulamaları kapanmamış olabilir elle sonlandırabilirsiniz..&quot;<br />
        btnvapur.Enabled = True<br />
    End Sub</p>
<p>    Private Sub TextBox1_MouseClick&#40;ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs&#41; Handles txtpath.MouseClick<br />
        objfolder.ShowNewFolderButton = True<br />
bas:<br />
        objfolder.ShowDialog&#40;&#41;<br />
        If objfolder.SelectedPath &lt;&gt; &quot;&quot; Then<br />
            txtpath.Text = objfolder.SelectedPath<br />
        End If<br />
        If Not System.IO.Directory.Exists&#40;txtpath.Text&#41; Then<br />
            MsgBox&#40;&quot;Dosyaların kayıt edileceği klasör mevcut değil&quot;&#41;<br />
            GoTo bas<br />
        End If<br />
    End Sub</p>
<p>    Private Sub ProcessKill&#40;&#41;<br />
        Dim isleyenprocess As Integer = 0<br />
        For Each proc As Process In Process.GetProcessesByName&#40;&quot;Excel&quot;&#41;<br />
            isleyenprocess += 1<br />
        Next proc<br />
tekrarsonlandir:<br />
        For y As Integer = 0 To isleyenprocess<br />
            Dim objProcess As New Process&#40;&#41;<br />
            objProcess.StartInfo.UseShellExecute = False<br />
            objProcess.StartInfo.RedirectStandardOutput = True<br />
            objProcess.StartInfo.CreateNoWindow = True<br />
            objProcess.StartInfo.RedirectStandardError = True<br />
            objProcess.StartInfo.FileName&#40;&#41; = &quot;taskkill.exe&quot;<br />
            objProcess.StartInfo.Arguments&#40;&#41; = &quot;&#47;im:excel.exe &#47;f&quot;<br />
            objProcess.Start&#40;&#41;<br />
        Next<br />
        Thread.Sleep&#40;5000&#41;<br />
        isleyenprocess = 0<br />
        For Each proc As Process In Process.GetProcessesByName&#40;&quot;Excel&quot;&#41;<br />
            isleyenprocess += 1<br />
        Next proc<br />
        If isleyenprocess &gt; 0 Then<br />
            GoTo tekrarsonlandir<br />
        End If<br />
    End Sub</p>
<p>    Private Sub Button1_Click&#40;ByVal sender As System.Object, ByVal e As System.EventArgs&#41; Handles Button1.Click<br />
        DirectoryCheck&#40;&#41;</p>
<p>        path = txtpath.Text<br />
        Dim thbaslat As Thread<br />
        Dim thkbaslat As New ThreadStart&#40;AddressOf BanliyoTara&#41;<br />
        thbaslat = New Thread&#40;thkbaslat&#41;<br />
        thbaslat.Start&#40;&#41;</p>
<p>    End Sub<br />
    Private Sub BanliyoTara&#40;&#41;<br />
        lblsondurum.Text = &quot;Banliyo seferleri alınıyor...&quot;<br />
        System.IO.Directory.CreateDirectory&#40;path &#038; &quot;\Banliyo&quot;&#41;<br />
        Dim kaynakkodu As String = &quot;&quot;<br />
        Dim kaynak As String = &quot;&quot;<br />
        Try<br />
            Dim istek As HttpWebRequest = HttpWebRequest.Create&#40;&quot;http:&#47;&#47;www.izban.com.tr&#47;Sayfalar&#47;Single.aspx?Page=33&quot;&#41;<br />
            Dim cevap As HttpWebResponse = istek.GetResponse<br />
            Dim sr As IO.StreamReader = New IO.StreamReader&#40;cevap.GetResponseStream&#40;&#41;, Encoding.GetEncoding&#40;&quot;windows-1254&quot;&#41;&#41;<br />
            kaynak = sr.ReadToEnd&#40;&#41;<br />
        Catch ex As WebException<br />
            MsgBox&#40;&quot;Web sayfası alınırken sorun oluştu&quot; &#038; vbCrLf &#038; ex.Message&#41;<br />
            GoTo cikis<br />
        End Try</p>
<p>        If Not &#40;InStr&#40;kaynak, &quot;Alsancak&quot;&#41; &gt; 0&#41; Then<br />
            'Banliyo Yok<br />
            GoTo cikis<br />
        End If<br />
        Dim baslangictext As String = &quot;&lt;tbody&gt;&quot;<br />
        Dim bitistext As String = &quot;&lt;&#47;tbody&gt;&quot;<br />
        Dim tablobas As Integer = InStr&#40;kaynak, baslangictext&#41;<br />
        If tablobas = 0 Then<br />
            'tablo bulunamadı<br />
            GoTo cikis<br />
        End If<br />
        Dim tabloson As Integer = InStr&#40;Mid&#40;kaynak, tablobas, Len&#40;kaynak&#41; - tablobas&#41;, bitistext&#41; - 20<br />
        kaynakkodu = Mid&#40;kaynak, tablobas, tabloson&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, Chr&#40;13&#41;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, Chr&#40;10&#41;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;  &quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;	&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;tr&gt;&quot;, Chr&#40;13&#41;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;font face=&quot;&quot;Calibri&quot;&quot; color=&quot;&quot;#000080&quot;&quot; size=&quot;&quot;5&quot;&quot;&gt;&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;font color=&quot;&quot;#000080&quot;&quot; size=&quot;&quot;5&quot;&quot; face=&quot;&quot;Calibri&quot;&quot;&gt;&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;font color=&quot;&quot;#ff0000&quot;&quot; size=&quot;&quot;5&quot;&quot; face=&quot;&quot;Calibri&quot;&quot;&gt;&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;font&gt;&quot;, &quot;&quot;&#41;<br />
        Dim satirlar&#40;&#41; As String = Split&#40;kaynakkodu, Chr&#40;13&#41;&#41;</p>
<p>        Dim oXL As Excel.Application<br />
        Dim oWB As Excel.Workbook<br />
        Dim oSheet As Excel.Worksheet</p>
<p>        oXL = CreateObject&#40;&quot;Excel.Application&quot;&#41;<br />
        oXL.Visible = False</p>
<p>        oWB = oXL.Workbooks.Add<br />
        oSheet = oWB.ActiveSheet<br />
        oSheet.Cells&#40;1, 1&#41; = &quot;Alsancak Kalkış&quot;<br />
        oSheet.Cells&#40;1, 2&#41; = &quot;Cumaovası Kalkış&quot;<br />
        For i As Integer = 1 To satirlar.Length - 1<br />
            Dim ilkhucre As String = &quot;&quot;<br />
            Dim sonhucre As String = &quot;&quot;<br />
            Dim s As String = satirlar&#40;i&#41;<br />
            tablobas = InStr&#40;s, &quot;&lt;strong&gt;&quot;&#41; + 8<br />
            tabloson = InStr&#40;s, &quot;&lt;&#47;strong&gt;&quot;&#41;<br />
            ilkhucre = Mid&#40;s, tablobas, tabloson - tablobas&#41;<br />
            s = Mid&#40;s, tabloson + 20, s.Length - tabloson&#41;<br />
            tablobas = InStr&#40;s, &quot;&lt;strong&gt;&quot;&#41; + 8<br />
            tabloson = InStr&#40;s, &quot;&lt;&#47;strong&gt;&quot;&#41;<br />
            If tabloson = 0 Then<br />
                sonhucre = &quot; &quot;<br />
            Else<br />
                sonhucre = Mid&#40;s, tablobas, tabloson - tablobas&#41;<br />
            End If</p>
<p>            oSheet.Cells&#40;i + 1, 1&#41; = ilkhucre<br />
            oSheet.Cells&#40;i + 1, 2&#41; = sonhucre<br />
        Next<br />
        With oSheet.Range&#40;&quot;A1&quot;, &quot;B253&quot;&#41;<br />
            .WrapText = True<br />
            .ColumnWidth = 10<br />
            .Font.Size = 9<br />
            .EntireColumn.AutoFit&#40;&#41;<br />
            .HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br />
            .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br />
        End With<br />
        If System.IO.File.Exists&#40;path &#038; &quot;\Banliyo\Seferler.xls&quot;&#41; Then<br />
            Dim cvp = MessageBox.Show&#40;&quot;Banliyo seferleri daha önce kayıt edilmiş?&quot; &#038; vbCrLf &#038; &quot;Dosyaadı:&quot; + path &#038; &quot;\Banliyo\Seferler.xls&quot;, &quot;Dosya Mevcut&quot;, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1&#41;<br />
            If cvp = vbYes Then<br />
silveuzerineyaz:<br />
                'Dosya mevcutsa eski dosyayı silelim<br />
                Try<br />
                    System.IO.File.Delete&#40;path &#038; &quot;\Banliyo\Seferler.xls&quot;&#41;<br />
                Catch ex As IOException<br />
                    MsgBox&#40;&quot;Dosya üzerine yazılırken hata oluştu&quot; &#038; vbCrLf &#038; ex.Message&#41;<br />
                    lblsondurum.Text = &quot;Banliyo seferleri yazılamadı&quot;<br />
                    oWB.Close&#40;&#41;<br />
                    oXL.Quit&#40;&#41;<br />
                    Exit Sub<br />
                End Try<br />
            End If<br />
        End If<br />
        oWB.SaveAs&#40;path &#038; &quot;\Banliyo\Seferler.xls&quot;&#41;<br />
        oWB.Close&#40;&#41;<br />
        oXL.Quit&#40;&#41;</p>
<p>cikis:<br />
        lblsondurum.Text = &quot;Banliyo seferleri alımı tamamlandı...&quot;<br />
    End Sub</p>
<p>    Private Sub btnmetro_Click&#40;ByVal sender As System.Object, ByVal e As System.EventArgs&#41; Handles btnmetro.Click<br />
        DirectoryCheck&#40;&#41;<br />
        path = txtpath.Text<br />
        Dim thbaslat As Thread<br />
        Dim thkbaslat As New ThreadStart&#40;AddressOf MetroTara&#41;<br />
        thbaslat = New Thread&#40;thkbaslat&#41;<br />
        thbaslat.Start&#40;&#41;<br />
    End Sub<br />
    Private Sub MetroTara&#40;&#41;<br />
        lblsondurum.Text = &quot;Metro seferleri alınıyor...&quot;<br />
        System.IO.Directory.CreateDirectory&#40;path &#038; &quot;\Metro&quot;&#41;<br />
        Dim kaynakkodu As String = &quot;&quot;<br />
        Dim kaynak As String = &quot;&quot;<br />
        Try<br />
            Dim istek As HttpWebRequest = HttpWebRequest.Create&#40;&quot;http:&#47;&#47;www.izmir.bel.tr&#47;metro.asp&quot;&#41;<br />
            Dim cevap As HttpWebResponse = istek.GetResponse<br />
            Dim sr As IO.StreamReader = New IO.StreamReader&#40;cevap.GetResponseStream&#40;&#41;, Encoding.GetEncoding&#40;&quot;windows-1254&quot;&#41;&#41;<br />
            kaynak = sr.ReadToEnd&#40;&#41;<br />
        Catch ex As WebException<br />
            MsgBox&#40;&quot;Web sayfası alınırken sorun oluştu&quot; &#038; vbCrLf &#038; ex.Message&#41;<br />
            GoTo cikis<br />
        End Try</p>
<p>        If InStr&#40;kaynak, &quot;SEFER SIKLIKLARI&quot;&#41; = 0 Then<br />
            'Sayfada gerekli veri yok<br />
            GoTo cikis<br />
        End If<br />
        Dim baslangictext As String = &quot;&lt;td colspan=&quot;&quot;2&quot;&quot; bgcolor=&quot;&quot;#BCCAD2&quot;&quot;&gt;&quot;<br />
        Dim tablobas As Integer = InStr&#40;kaynak, baslangictext&#41;<br />
        If tablobas = 0 Then<br />
            'tablo bulunamadı<br />
            GoTo cikis<br />
        End If</p>
<p>        Dim bitistext As String = &quot;&lt;&#47;table&gt;&lt;&#47;td&gt;&lt;&#47;tr&gt; &lt;&#47;table&gt;&lt;br&gt;&quot;<br />
        Dim tabloson As Integer = InStr&#40;Mid&#40;kaynak, tablobas, Len&#40;kaynak&#41; - tablobas&#41;, bitistext&#41; - 36<br />
        kaynakkodu = Mid&#40;kaynak, tablobas + 35, tabloson&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, Chr&#40;13&#41;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, Chr&#40;10&#41;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;  &quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;	&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;tr&gt; &quot;, Chr&#40;13&#41;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;tr&gt;&quot;, Chr&#40;13&#41;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;tr bgcolor=&quot;&quot;#FFFFFF&quot;&quot;&gt; &lt;td width=&quot;&quot;17%&quot;&quot; height=&quot;&quot;20&quot;&quot;&gt;&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&lt;td width=&quot;&quot;16%&quot;&quot; bgcolor=&quot;&quot;#FFFFFF&quot;&quot;&gt;&quot;, &quot;;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&lt;td width=&quot;&quot;19%&quot;&quot;&gt;&quot;, &quot;;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;div align=&quot;&quot;center&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;b&gt;&lt;&#47;div&gt;&lt;&#47;td&gt;&lt;td colspan=&quot;&quot;2&quot;&quot; bgcolor=&quot;&quot;#D8E0E5&quot;&quot;&gt; &quot;, &quot;;;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;b&gt;&lt;&#47;div&gt;&lt;&#47;td&gt;&lt;td colspan=&quot;&quot;2&quot;&quot; bgcolor=&quot;&quot;#EEF1F3&quot;&quot;&gt;&quot;, &quot;;;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;tr bgcolor=&quot;&quot;#FFFFFF&quot;&quot;&gt; &lt;td width=&quot;&quot;17%&quot;&quot;&gt;&lt;font size=&quot;&quot;1&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;b&gt;&lt;&#47;font&gt;&lt;&#47;td&gt;&lt;td width=&quot;&quot;16%&quot;&quot;&gt;&lt;font size=&quot;&quot;1&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;b&gt;&lt;&#47;font&gt;&lt;font size=&quot;&quot;1&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;&quot;&#41;<br />
        ' kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;td colspan=&quot;&quot;2&quot;&quot; bgcolor=&quot;&quot;#EEF1F3&quot;&quot;&gt; &quot;, &quot;;;&quot;&#41;<br />
        'kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;td colspan=&quot;&quot;2&quot;&quot; bgcolor=&quot;&quot;#D8E0E5&quot;&quot;&gt; &quot;, &quot;;;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&lt;td width=&quot;&quot;16%&quot;&quot;&gt;&quot;, &quot;;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;td&gt;&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;b&gt;&lt;&#47;div&gt;&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;&#47;b&gt;&lt;&#47;font&gt;&quot;, &quot;&quot;&#41;<br />
        kaynakkodu = Replace&#40;kaynakkodu, &quot;&lt;font size=&quot;&quot;1&quot;&quot;&gt;&lt;b&gt;&quot;, &quot;&quot;&#41;</p>
<p>        Dim satirlar&#40;&#41; As String = Split&#40;kaynakkodu, Chr&#40;13&#41;&#41;</p>
<p>        Dim oXL As Excel.Application<br />
        Dim oWB As Excel.Workbook<br />
        Dim oSheet As Excel.Worksheet</p>
<p>        oXL = CreateObject&#40;&quot;Excel.Application&quot;&#41;<br />
        oXL.Visible = False</p>
<p>        oWB = oXL.Workbooks.Add<br />
        oSheet = oWB.ActiveSheet<br />
        oSheet.Range&#40;&quot;A1&quot;, &quot;B1&quot;&#41;.Merge&#40;&#41;<br />
        oSheet.Range&#40;&quot;C1&quot;, &quot;D1&quot;&#41;.Merge&#40;&#41;<br />
        oSheet.Range&#40;&quot;E1&quot;, &quot;F1&quot;&#41;.Merge&#40;&#41;<br />
        oSheet.Cells&#40;1, 1&#41; = &quot;Hafta İçi&quot;<br />
        oSheet.Cells&#40;1, 3&#41; = &quot;Cumartesi&quot;<br />
        oSheet.Cells&#40;1, 5&#41; = &quot;Pazar&quot;<br />
        For i As Integer = 1 To satirlar.Length - 1<br />
            Dim ogeler&#40;&#41; As String = Split&#40;satirlar&#40;i&#41;, &quot;;&quot;&#41;<br />
            If ogeler.Length &gt; 4 Then<br />
                oSheet.Cells&#40;i + 1, 1&#41; = Trim&#40;ogeler&#40;0&#41;&#41;<br />
                oSheet.Cells&#40;i + 1, 2&#41; = Trim&#40;ogeler&#40;1&#41;&#41;<br />
                oSheet.Cells&#40;i + 1, 3&#41; = Trim&#40;ogeler&#40;2&#41;&#41;<br />
                oSheet.Cells&#40;i + 1, 4&#41; = Trim&#40;ogeler&#40;3&#41;&#41;<br />
                oSheet.Cells&#40;i + 1, 5&#41; = Trim&#40;ogeler&#40;4&#41;&#41;<br />
                oSheet.Cells&#40;i + 1, 6&#41; = Trim&#40;ogeler&#40;5&#41;&#41;<br />
            End If</p>
<p>        Next<br />
        With oSheet.Range&#40;&quot;A1&quot;, &quot;F253&quot;&#41;<br />
            .WrapText = True<br />
            .ColumnWidth = 12<br />
            .Font.Size = 9<br />
            .EntireColumn.AutoFit&#40;&#41;<br />
            .HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter<br />
            .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter<br />
        End With<br />
        If System.IO.File.Exists&#40;path &#038; &quot;\Metro\Seferler.xls&quot;&#41; Then<br />
            Dim cvp = MessageBox.Show&#40;&quot;Banliyo seferleri daha önce kayıt edilmiş?&quot; &#038; vbCrLf &#038; &quot;Dosyaadı:&quot; + path &#038; &quot;\Banliyo\Seferler.xls&quot;, &quot;Dosya Mevcut&quot;, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1&#41;<br />
            If cvp = vbYes Then<br />
silveuzerineyaz:<br />
                'Dosya mevcutsa eski dosyayı silelim<br />
                Try<br />
                    System.IO.File.Delete&#40;path &#038; &quot;\Metro\Seferler.xls&quot;&#41;<br />
                Catch ex As IOException<br />
                    MsgBox&#40;&quot;Dosya üzerine yazılırken hata oluştu&quot; &#038; vbCrLf &#038; ex.Message&#41;<br />
                    lblsondurum.Text = &quot;Metro seferleri yazılamadı&quot;<br />
                    oWB.Close&#40;&#41;<br />
                    oXL.Quit&#40;&#41;<br />
                    Exit Sub<br />
                End Try<br />
            End If<br />
        End If<br />
        oWB.SaveAs&#40;path &#038; &quot;\Metro\Seferler.xls&quot;&#41;<br />
        oWB.Close&#40;&#41;<br />
        oXL.Quit&#40;&#41;</p>
<p>cikis:<br />
        lblsondurum.Text = &quot;Metro seferleri alımı tamamlandı...&quot;<br />
    End Sub</p>
<p>    Private Sub DirectoryCheck&#40;&#41;<br />
bas:<br />
        If Not System.IO.Directory.Exists&#40;txtpath.Text&#41; Then<br />
            MsgBox&#40;&quot;Dosyaların kayıt edileceği klasöre erişilemiyor&quot;&#41;<br />
            objfolder.ShowDialog&#40;&#41;<br />
            txtpath.Text = objfolder.SelectedPath<br />
            GoTo bas<br />
        End If<br />
    End Sub</p>
<p>End Class</p>
<p> </code></p>
<p>Programın tam proje dosyasını indirmek için <a href="http://www.notsayfam.com/wp-content/plugins/download-monitor/download.php?id=4">tıklayınız</a> (vs 2005)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=388</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vb.net ile registry kullanarak Monitör Bilgilerini Görüntülemek</title>
		<link>http://www.notsayfam.com/?p=380</link>
		<comments>http://www.notsayfam.com/?p=380#comments</comments>
		<pubDate>Sat, 26 Jun 2010 17:21:18 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Vb.Net]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=380</guid>
		<description><![CDATA[vb.net ile registry kullanarak Monitör Bilgilerini Görüntülemek]]></description>
			<content:encoded><![CDATA[<p>Envanter yazılımına bir bölüm daha ekledim. Bilgisayara bağlı olan Monitörün registry üzerinde kayıtlı olan EDID (Extended display identification data) bilgilerinden yararlanarak Serino,model,üretim tarihi,ölçüleri ve kaç inç olduğu gibi bilgilere erişebiliyoruz. Detaylı bilgi için <a href="http://www.stellae.fr/wiki/_media/efika_data:e-edid_implementation_guide_vesa.pdf?id=electronics%3Aefika_en&amp;cache=cache">VESA E-EDID™ Implementation Guide</a> ı kullanabilirsiniz.</p>
<p>Imports System.Management<br />
Imports System.Text<br />
Imports Microsoft.Win32<br />
Imports System.Net.NetworkInformation<br />
Public Class Form1<br />
Dim strmodel As String = &#8220;&#8221;<br />
Dim strmodel2 As String = &#8220;&#8221;<br />
Dim strserino As String = &#8220;&#8221;<br />
Dim regedithex As String = &#8220;&#8221;<br />
Dim struretimhaftasi As String = &#8220;&#8221;<br />
Dim struretimyili As String = &#8220;&#8221;<br />
Dim strdikey, stryatay As Integer<br />
Dim strmonitorinc As Double<br />
Private Function ByteArrayToString(ByVal ba As Byte()) As String<br />
Dim hex As New StringBuilder(ba.Length * 2)<br />
For Each b As Byte In ba<br />
hex.AppendFormat(&#8220;{0:x2}&#8221;, b)<br />
Next<br />
Return hex.ToString()<br />
End Function<br />
<span id="more-380"></span><br />
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />
strmodel = &#8220;&#8221;<br />
strmodel2 = &#8220;&#8221;<br />
strserino = &#8220;&#8221;<br />
regedithex = &#8220;&#8221;<br />
Dim host As String = InputBox(&#8220;Lütfen Mönitörünü tespit etmek istediğiniz host adını veya ip adresini giriniz:&#8221;, &#8220;Bilgisayar Girişi&#8221;)<br />
&#8216;Eğer giriş boş geçilirse local bilgisayarı alalım<br />
If host = &#8220;&#8221; Then host = &#8220;.&#8221;<br />
If host &lt;&gt; &#8220;.&#8221; Then<br />
Dim pingat As New Ping<br />
Dim pingsonuc As PingReply<br />
Try<br />
pingsonuc = pingat.Send(host)<br />
Catch ex As Exception<br />
MsgBox(&#8220;Yazdığınız bilgisayar ile iletişim kurulamıyor&#8221; &amp; ex.Message)<br />
Exit Sub<br />
End Try</p>
<p>If pingsonuc.Status &lt;&gt; IPStatus.Success Then<br />
MsgBox(&#8220;Yazdığınız bilgisayar ile iletişim kurulamıyor&#8221;)<br />
Exit Sub<br />
End If<br />
End If</p>
<p>Dim MyReg As RegistryKey = RegistryKey.OpenRemoteBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, host)<br />
Dim Key As RegistryKey = MyReg.OpenSubKey _<br />
(&#8220;SYSTEM\CurrentControlSet\Enum\DISPLAY&#8221;, False)<br />
&#8216;Display parametresinin altındaki tüm keyleri subkeynames dizisine atıyoruz<br />
Dim SubKeyNames() As String = Key.GetSubKeyNames()<br />
Dim Index As Integer<br />
Dim Subkey As RegistryKey<br />
Dim dogrupath As String = &#8220;&#8221;<br />
For Index = 0 To Key.SubKeyCount &#8211; 1<br />
Try<br />
&#8216;Enum\Display keyi altındaki tüm anahtarlar için yeni bir subkey oluşturalım<br />
Dim Key2 As RegistryKey = MyReg.OpenSubKey(&#8220;SYSTEM\CurrentControlSet\Enum\DISPLAY\&#8221; _<br />
+ SubKeyNames(Index), False)<br />
Dim SubKeyNames2() As String = Key2.GetSubKeyNames()</p>
<p>For index2 As Integer = 0 To Key2.SubKeyCount &#8211; 1<br />
&#8216;Birden fazla monitör takmışsanız eğer çok fazla subkey oluşabilir<br />
&#8216;Aktif olan monitör için subkey altında Control isimli bir anahtar bulunmakta</p>
<p>Subkey = MyReg.OpenSubKey(&#8220;SYSTEM\CurrentControlSet\Enum\DISPLAY\&#8221; _<br />
+ SubKeyNames(Index) + &#8220;\&#8221; + SubKeyNames2(index2) + &#8220;\Control&#8221;, False)<br />
&#8216;Eğer control isimli subkey yok ise bir sonraki keye gidelim<br />
If Subkey Is Nothing Then<br />
GoTo sonraki<br />
Else<br />
&#8216;Eğer control mevcut ise Device Parameters altındaki EDID Reg_Binary değerine bakıyoruz<br />
&#8216;Monitör çıkartılmış ise BAD_EDID anahtarı oluşuyor.</p>
<p>Subkey = MyReg.OpenSubKey(&#8220;SYSTEM\CurrentControlSet\Enum\DISPLAY\&#8221; _<br />
+ SubKeyNames(Index) + &#8220;\&#8221; + SubKeyNames2(index2) + &#8220;\Device Parameters&#8221;, False)<br />
Dim bytes As Byte() = Subkey.GetValue(&#8220;EDID&#8221;, Nothing)<br />
Try<br />
If bytes.Length &gt; 0 Then<br />
&#8216;Byte olarak aldığımız değerleri hex formatına çevirelim</p>
<p>regedithex = ByteArrayToString(bytes)<br />
&#8216;MsgBox(regedithex)<br />
struretimhaftasi = System.Convert.ToInt32(Mid(regedithex, 33, 2), 16)<br />
struretimyili = CInt(System.Convert.ToInt32(Mid(regedithex, 35, 2), 16)) + 1990</p>
<p>strdikey = CInt(System.Convert.ToInt32(Mid(regedithex, 43, 2), 16))<br />
stryatay = CInt(System.Convert.ToInt32(Mid(regedithex, 45, 2), 16))</p>
<p>strmonitorinc = (Math.Sqrt(strdikey * strdikey + stryatay * stryatay) / 2.54)</p>
<p>Subkey = MyReg.OpenSubKey(&#8220;SYSTEM\CurrentControlSet\Enum\DISPLAY\&#8221; _<br />
+ SubKeyNames(Index) + &#8220;\&#8221; + SubKeyNames2(index2), False)<br />
&#8216;Eğer monitorun windows sürücüsü yüklenmiş ise modelini registry üzerinden alalım<br />
strmodel2 = Subkey.GetValue(&#8220;DeviceDesc&#8221;)<br />
End If</p>
<p>Catch ex As Exception<br />
End Try<br />
End If<br />
sonraki:<br />
Next<br />
Catch ex As Exception</p>
<p>End Try<br />
Next</p>
<p>&#8217;000000ff den sonraki 14 karakter seri numarayı içermekte<br />
Dim serinoindex As Integer = InStr(regedithex, &#8220;000000ff&#8221;) + 8<br />
&#8217;000000fc den sonra olan 14 karakter model numarasını içeriyor<br />
Dim modelindex As Integer = InStr(regedithex, &#8220;000000fc&#8221;) + 8<br />
Dim serinohex As String = Mid(regedithex, serinoindex, 28)<br />
Dim modelhex As String = Mid(regedithex, modelindex, 28)</p>
<p>For y As Integer = 1 To Len(serinohex) Step 2<br />
Dim s As String<br />
Dim b As Byte<br />
b = System.Convert.ToByte((Mid(serinohex, y, 2)), 16)<br />
s = Chr(b)<br />
If Asc(s) &lt;&gt; 0 And (Asc(s) &gt; 47 And Asc(s) &lt; 126) Then<br />
strserino += s<br />
End If<br />
Next y<br />
For y As Integer = 1 To Len(modelhex) Step 2<br />
Dim s As String<br />
Dim b As Byte<br />
b = System.Convert.ToByte((Mid(modelhex, y, 2)), 16)<br />
s = Chr(b)<br />
If Asc(s) &lt;&gt; 0 And (Asc(s) &gt; 47 And Asc(s) &lt; 126) Then<br />
strmodel += s<br />
End If<br />
Next y<br />
Dim alinanhost As String = &#8220;&#8221;<br />
If host = &#8220;.&#8221; Then<br />
alinanhost = &#8220;Yerel bilgisayar&#8221;<br />
Else<br />
alinanhost = host<br />
End If</p>
<p>MsgBox(&#8220;Monitör Bilgileri Alınan Bilgisayar: &#8221; + alinanhost + vbCrLf + _<br />
&#8220;Monitor Registry Modeli: &#8221; &amp; strmodel2 &amp; vbCrLf &amp; _<br />
&#8220;Monitör Device Modeli: &#8221; &amp; Trim(strmodel) &amp; vbCrLf &amp; _<br />
&#8220;Monitör Seri Numarası: &#8221; &amp; strserino &amp; vbCrLf &amp; _<br />
&#8220;Üretim Haftası: &#8221; &amp; struretimhaftasi &amp; vbCrLf &amp; _<br />
&#8220;Üretim Yılı: &#8221; &amp; struretimyili &amp; vbCrLf &amp; _<br />
&#8220;Monitör Dikey Boyutu (cm): &#8221; &amp; strdikey &amp; vbCrLf &amp; _<br />
&#8220;Monitör Yatay Boyutu (cm): &#8221; &amp; stryatay &amp; vbCrLf &amp; _<br />
&#8220;Monitör Boyutu (inc): &#8221; &amp; Format(strmonitorinc, &#8220;##.##&#8221;))<br />
End Sub<br />
End Class</p>
<p>Vs2005 Örnek Uygulamasını İndirmek için <a href="http://www.notsayfam.com/wp-content/plugins/download-monitor/download.php?id=3" target="_blank">tıklayınız</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=380</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vb.net üzerinde telnet uygulaması</title>
		<link>http://www.notsayfam.com/?p=372</link>
		<comments>http://www.notsayfam.com/?p=372#comments</comments>
		<pubDate>Sat, 29 May 2010 15:18:12 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Vb.Net]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=372</guid>
		<description><![CDATA[Ağ üzerinde gün içerisinde networke dahil olmuş bilgisayarların hangi switchler üzerinden sisteme dahil olduklarını bulmak için yazdığım bir uygulama. Uygulamanın çalışma mantığı: Çalıştırıldığı dizinde 2 adet dosyaya ihtiyaç duyuyor ayarlar.ini ve switchler.txt. Switchler.txt switchlerin ip leri yer almakta. ayarlar.ini dosyasında ise switchlerin şifreleri (hepsi ortak olmalı), Çalıştırılacak komut (sh mac-address-table), database bilgileri ve filtreleme, loglama [...]]]></description>
			<content:encoded><![CDATA[<p>Ağ üzerinde gün içerisinde networke dahil olmuş bilgisayarların hangi switchler üzerinden sisteme dahil olduklarını bulmak için yazdığım bir uygulama.</p>
<p>Uygulamanın çalışma mantığı:<br />
Çalıştırıldığı dizinde 2 adet dosyaya ihtiyaç duyuyor ayarlar.ini ve switchler.txt. Switchler.txt switchlerin ip leri yer almakta. ayarlar.ini dosyasında ise switchlerin şifreleri (hepsi ortak olmalı), Çalıştırılacak komut (sh mac-address-table), database bilgileri ve filtreleme, loglama yapılacak mı gibi bilgiler girilmeli.</p>
<p>Loglama yapılacak seçilirse çalıştırıldığı dizinde Log klasörünün içerisine switchlerin konsollarından gelen verileri ve filtreleme sonucu oluşan dosyaların çıktıları yer almakta.</p>
<p>Filtreleme mantığı ise her switch uplink ve downlinkleri üzerinden bir çok kendi üzerinde olmayan mac adresinin database üzerine kayıt edilmesini engellemek için gerekli olan kısım. Benim örneğimde Fa (Fast Ethernet) ve Lo (Long Reach Ethernet) portlarındaki mac adreslerini almak için filtre girilmiş durumda.  En fazla 3 adet filtre için geliştirdim.</p>
<p>Program kısaca Cisco switchlere telnet bağlanıp Fa,Lo portlarındaki bilgilerin alınıp veritabanına kayıt edilmesini sağlıyor. İsterseniz zamanlamayı açıp her 120 saniyede bir tekrar liste almasını ve değişenleri yazmasını sağlayabilirsiniz.</p>
<p>SQL için aşağıdaki alanlara ihtiyaç duyulmakta;</p>
<p>DROP TABLE IF EXISTS `mac`;<br />
CREATE TABLE `mac` (<br />
`id` int(11) NOT NULL AUTO_INCREMENT,<br />
`switch` text,<br />
`mac` text,<br />
`vlanid` text,<br />
`tarama` datetime DEFAULT NULL,<br />
`port` text,<br />
PRIMARY KEY (`id`)<br />
) ENGINE=InnoDB AUTO_INCREMENT=507 DEFAULT CHARSET=utf8;</p>
<p><a href="http://www.notsayfam.com/wp-content/plugins/download-monitor/download.php?id=1">VB.Net Telnet Uygulaması (vs2005)</a></p>
<p><a href="http://www.notsayfam.com/wp-content/uploads/2010/05/Telnet_.jpg"><img class="alignleft size-full wp-image-374" title="Telnet" src="http://www.notsayfam.com/wp-content/uploads/2010/05/Telnet_.jpg" alt="" width="527" height="391" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=372</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ücretsiz CD-DVD kayıt programı</title>
		<link>http://www.notsayfam.com/?p=370</link>
		<comments>http://www.notsayfam.com/?p=370#comments</comments>
		<pubDate>Tue, 11 May 2010 06:43:53 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[Program]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=370</guid>
		<description><![CDATA[XP Sp2,Vista SP ve W7 desteği olan ücretsiz iso kayıt programı. http://isorecorder.alexfeinman.com/isorecorder.htm Kuruluma ihtiyaç duymayan Data,Audio,Video CD/DVD desteği olan http://www.amok.am/en/freeware/amok_cd-dvd_burning/download/ Bir başka yazılım Güncelleme: Normal kullanıcıların tüm işini görebilecek Neronun ücretsiz versiyonunu da var. Nero Lite http://www.nero.com/eng/downloads-nbl-free.php]]></description>
			<content:encoded><![CDATA[<p>XP Sp2,Vista SP ve W7 desteği olan ücretsiz iso kayıt programı.<br />
<a href="http://isorecorder.alexfeinman.com/isorecorder.htm" target="_blank">http://isorecorder.alexfeinman.com/isorecorder.htm</a></p>
<p>Kuruluma ihtiyaç duymayan<br />
Data,Audio,Video CD/DVD desteği olan<br />
<a href="http://www.amok.am/en/freeware/amok_cd-dvd_burning/download/" target="_blank">http://www.amok.am/en/freeware/amok_cd-dvd_burning/download/</a><br />
Bir başka yazılım</p>
<p>Güncelleme: Normal kullanıcıların tüm işini görebilecek Neronun ücretsiz versiyonunu da var.<br />
Nero Lite <a href="http://www.nero.com/eng/downloads-nbl-free.php">http://www.nero.com/eng/downloads-nbl-free.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=370</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symantec Live Update Administrator (LUA) servis sorunu</title>
		<link>http://www.notsayfam.com/?p=368</link>
		<comments>http://www.notsayfam.com/?p=368#comments</comments>
		<pubDate>Sun, 25 Apr 2010 15:58:38 +0000</pubDate>
		<dc:creator>Mustafa</dc:creator>
				<category><![CDATA[Antivirüs]]></category>
		<category><![CDATA[İp Uçları]]></category>

		<guid isPermaLink="false">http://www.notsayfam.com/?p=368</guid>
		<description><![CDATA[Dün Symantec version geçişinden sonra LUA servisinin durduğunu farkettim. Başta güncellemeden olduğunu sansamda sonradan java kaynaklı olduğunu buldum. Eğer Symantec LUA servisini başlatırken aşağıdaki hatayı alıyorsanız Could not start the LUA Apache Tomcat service on Local Computer. Error 1067: The process terminated unexpectedly. ve komut istemi üzerinden java -version komutunu çalıştırdığınızda Error occurred during initialization [...]]]></description>
			<content:encoded><![CDATA[<p>Dün Symantec version geçişinden sonra LUA servisinin durduğunu farkettim. Başta güncellemeden olduğunu sansamda sonradan java kaynaklı olduğunu buldum. </p>
<p>Eğer Symantec LUA servisini başlatırken aşağıdaki hatayı alıyorsanız</p>
<p><code>Could not start the LUA Apache Tomcat service on Local Computer.<br />
Error 1067: The process terminated unexpectedly.</code></p>
<p>ve komut istemi üzerinden </p>
<p><code>java -version</code>    komutunu çalıştırdığınızda<br />
<code>Error occurred during initialization of VM<br />
java/lang/NoClassDefFoundError: java/lang/Object</code></p>
<p>hatasını alıyorsanız, Javanın en son kurulu paketini sisteminizden kaldırmanız veya tüm paketleri kaldırıp javayı yeniden kurmanız gerekiyor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notsayfam.com/?feed=rss2&#038;p=368</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

