<?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>Shenturk.com</title>
	<atom:link href="http://www.shenturk.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.shenturk.com</link>
	<description>Hava Durumu, Hava Cıva!, ADSL Kota, Ey DSL!, Döviz, Mini Döviz, Radyo, RDK, Haber...</description>
	<lastBuildDate>Tue, 31 Jan 2012 21:41:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mini Döviz 4.5 Çıktı!</title>
		<link>http://www.shenturk.com/delphi/mini-doviz-4-5-cikti</link>
		<comments>http://www.shenturk.com/delphi/mini-doviz-4-5-cikti#comments</comments>
		<pubDate>Tue, 31 Jan 2012 21:40:29 +0000</pubDate>
		<dc:creator>freedelphi</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Mini Döviz]]></category>
		<category><![CDATA[akbank]]></category>
		<category><![CDATA[altın]]></category>
		<category><![CDATA[avro]]></category>
		<category><![CDATA[banka]]></category>
		<category><![CDATA[çevrimiçi]]></category>
		<category><![CDATA[çeyrek]]></category>
		<category><![CDATA[cumhuriyet]]></category>
		<category><![CDATA[dolar]]></category>
		<category><![CDATA[döviz]]></category>
		<category><![CDATA[efektif]]></category>
		<category><![CDATA[euro]]></category>
		<category><![CDATA[garanti]]></category>
		<category><![CDATA[gram]]></category>
		<category><![CDATA[hamit]]></category>
		<category><![CDATA[has]]></category>
		<category><![CDATA[kur]]></category>
		<category><![CDATA[kurlar]]></category>
		<category><![CDATA[merkez]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[piyasa]]></category>
		<category><![CDATA[reşat]]></category>
		<category><![CDATA[riyal]]></category>
		<category><![CDATA[serbest]]></category>
		<category><![CDATA[sterlin]]></category>
		<category><![CDATA[tcmb]]></category>
		<category><![CDATA[ziraat]]></category>

		<guid isPermaLink="false">http://www.shenturk.com/?p=1536</guid>
		<description><![CDATA[Mini Döviz 4.0 yeniden hata veriyor maalesef. Aslında daha önceden aynı hata ile karşılaşmıştık. Döviz ekranında durum sembolü devamlı olarak "Değişiklik Yok" olarak gösterilmekte. Hatanın kaynağını buldum. Verileri aldığım sayfayı ayrıştırırken sembolü aldığım bölüm değiştirilmiş. Malum döviz bilgilerini HTML parsing (ayrıştırma) metodu ile aldığımdan sayfada yapılan değişiklikler programın çalışmasını etkiliyor. Sorunu giderdim ve yeni sürümü [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 495px"><img title="Mini Döviz 4.0 Hatalı Ekran Görüntüsü" src="http://www.shenturk.com/images/img0171.png" alt="Mini Döviz 4.0 Hatalı Ekran Görüntüsü" /><p class="wp-caption-text">Mini Döviz 4.0 Hatalı Ekran Görüntüsü</p></div>
<p>Mini Döviz 4.0 yeniden hata veriyor maalesef. Aslında daha önceden aynı hata ile karşılaşmıştık. Döviz ekranında durum sembolü devamlı olarak "Değişiklik Yok" olarak gösterilmekte. Hatanın kaynağını buldum. Verileri aldığım sayfayı ayrıştırırken sembolü aldığım bölüm değiştirilmiş. Malum döviz bilgilerini HTML parsing (ayrıştırma) metodu ile aldığımdan sayfada yapılan değişiklikler programın çalışmasını etkiliyor. Sorunu giderdim ve yeni sürümü çıkardım. Aşağıdaki linkten indirebilirsiniz. </p>
<table>
<tbody>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;<strong>Mini Döviz 4.5 İNDİR:</strong></td>
<td><a href="http://www.shenturk.com/downloads/minidoviz-4.5-setup.rar"><img src="http://www.shenturk.com/images/img0156.png" alt="İndir" /></a></td>
<td><a href="http://www.shenturk.com/downloads/minidoviz-4.5-setup.rar">minidoviz-4.5-setup.rar [547 KB]</a></td>
</tr>
</tbody>
</table>
<p><strong>NOT:</strong><br />
Eğer bilgisayarınızda Mini Döviz' in eski sürümleri yüklü ise kaldırmanıza gerek yoktur. Mini Döviz 4.5 kurulum programı, eski sürümü kaldırıp yerine 4.5 sürümünü kurar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenturk.com/delphi/mini-doviz-4-5-cikti/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WPF ve C# ile Yeniden Analog Saat Yapalım</title>
		<link>http://www.shenturk.com/genel/wpf-ve-c-ile-yeniden-analog-saat-yapalim</link>
		<comments>http://www.shenturk.com/genel/wpf-ve-c-ile-yeniden-analog-saat-yapalim#comments</comments>
		<pubDate>Tue, 17 Jan 2012 15:35:24 +0000</pubDate>
		<dc:creator>freedelphi</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Genel]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[3.5]]></category>
		<category><![CDATA[4.0]]></category>
		<category><![CDATA[analog]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[clock]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[ders]]></category>
		<category><![CDATA[ders notları]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[gdi+]]></category>
		<category><![CDATA[gdiplus]]></category>
		<category><![CDATA[indir]]></category>
		<category><![CDATA[layered]]></category>
		<category><![CDATA[layeredwindow]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[notlar]]></category>
		<category><![CDATA[örnek]]></category>
		<category><![CDATA[plus]]></category>
		<category><![CDATA[saat]]></category>
		<category><![CDATA[Studio]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[updatelayeredwindow]]></category>
		<category><![CDATA[Visual]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://www.shenturk.com/?p=1507</guid>
		<description><![CDATA[Maalesef yine bir analog saat yapacağım. Umarım sıkılmazsınız. Bu kez analog saat yapımı için başka bir araç kullananacağım. Microsoft Visual Studio kullanan arkadaşların yabancılık çekmeyeceği bir araç bu: Windows Presentation Foundation yada kısa adıyla WPF. Geçenlerde aldığım bir e-mail üzerine bu yazıyı yazma ihtiyacı duydum. Tartışmanın konusu kısaca şöyle: Basit bir saat yapmak için neden [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 495px"><img title="WPF ve C# ile Analog Saat" src="http://www.shenturk.com/images/img0183.png" alt="WPF ve C# ile Analog Saat" width="475" height="312" /><p class="wp-caption-text">WPF ve C# ile Analog Saat</p></div>
<p>Maalesef yine bir analog saat yapacağım. Umarım sıkılmazsınız. Bu kez analog saat yapımı için başka bir araç kullananacağım. Microsoft Visual Studio kullanan arkadaşların yabancılık çekmeyeceği bir araç bu: <a href="http://msdn.microsoft.com/en-us/library/ms754130.aspx" title="Windows Presentation Foundation" target="_blank">Windows Presentation Foundation</a> yada kısa adıyla <strong>WPF</strong>. Geçenlerde aldığım bir e-mail üzerine bu yazıyı yazma ihtiyacı duydum. Tartışmanın konusu kısaca şöyle: Basit bir saat yapmak için neden bu kadar kod yazmak zorundayız? WPF kullanarak yapamaz mıyız? Cevap basit: Elbette yapabiliriz! Hemde yok denecek kadar az kod yazarak! Önceki Analog Saat örneklerimde Windows' un klasik pencerelerini kullanarak Widget tarzı programların nasıl oluşturulduğunu göstemeye çalıştım. Geçmiş örneklerdeki en önemli kısım pencerenin <strong>katmanlı</strong> yapıya geçirilmesiydi. Bu işlem için <strong>UpdateLayeredWindow</strong> prosedürünü kullandığımızı hatırlayalım. Zorunlu olarak Windows API' den faydalandık. Üstelik ekrandaki her değişiklik için tüm kontrolleri yeniden çizmemiz gerekiyordu. Oldukça zahmetli değil mi? Herkes gibi ben de bu işlemleri otomatikleştirmek için araçlar aradım ve WPF ile tanıştım. Bildiğiniz üzere WPF çok gelişmiş çizim teknikleri içerir. Üstelik doğrudan GPU kullanabilme özelliği de vardır. Microsoft' un beğendiğim yazılım geliştirme ortamlarından biridir açıkçası. Üstelik katmanlı pencere desteği vardır ve tek tuşla aktif hale getirilebilir. Dakikalar içinde masaüstü araçları oluşturabilirsiniz. Yapalım o zaman...</p>
<p><strong>1. TASARIM</strong><br />
Bu projeyi <strong>Microsoft Visual Studio 2010</strong> ile <strong>.NET 4.0</strong> kullanarak geliştirdim. Tasarım aşamasında dikkat edilmesi gereken bazı noktalar var. C# ile yeni bir <strong>WPF Application</strong> seçtiğinizde varsayılan olarak çalışma pencereniz katmalı olarak <strong>ayarlanmaz</strong>. Runtime esnasında klasik bir Windows penceresi ekrana gelir. Oysa biz kenarlık ve başlık satırı istemiyoruz. Saat tasarımı için gerekli resimleri ekrana yerleştirdikten sonra ana pencerenin <strong>Properties</strong> bölümünden şu özelliklerin ayarlaması gerekir:</p>
<ul>
<li>İlk önce <strong>WindowStyle</strong> özelliği <strong>None</strong>,</li>
<li><strong>AllowsTransparency</strong> özelliği <strong>True</strong>,</li>
<li>Son olarak <strong>Background</strong> özelliği <strong>Transparent</strong> olacak. <strong>Null Brush</strong> seçerseniz de aynı sonucu elde edersiniz.</li>
</ul>
<p>Eğer Properties penceresinden ayarlamak istemezseniz bu özellikleri WPF mimarisinin temel yapısı olan <strong>XAML</strong> dosyasından da değiştirebilirsiniz. Bilindiği üzere <strong>XAML</strong> dosyası basit bir <strong>XML</strong> yapısından oluşur. Aslında Visual Studio ortamı sizin için XAML dosyası oluşturak gereken özellikleri Attributes kısmına yazar. Bazen elle düzenleme yapmak daha hızlı olabilir. Yukarıdaki işlemlerden sonra pencereniz katmanlı duruma geçer ve Widget tarzı çok şık bir görünüm elde edersiniz.</p>
<p><strong>2. KOD</strong><br />
Gelelim kod kısmına. Yazdığım kod o kadar kısa ki biz buna kod yazdık bile diyemeyiz. Neredeyse Twitter' da bile daha fazla yazı yazıyoruz... C# ile yazılan Kaynak kodun tamamı 69 satırdan ibaret. Üstelik geniş geniş yazdım ki okunabilir olsun. <strong>MainWindow.xaml.cs</strong> dosya adına sahip kaynak kodun tamamı aşağıdadır. Kod az olunca tamamını yayınlamakta bir sakınca görmedim...</p>
<pre class="brush: c-sharp;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;

namespace AnalogSaatWPF
{
    ///
<summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            DragMove();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            DispatcherTimer clockTimer = new DispatcherTimer();
            clockTimer.Tick += new EventHandler(clockTimer_Tick);
            clockTimer.Interval = new TimeSpan(0, 0, 1);
            clockTimer.Start();
        }

        private void clockTimer_Tick(object sender, EventArgs e)
        {

            // Acilari su anki saate gore hesapla.
            DateTime now = DateTime.Now;

            int hours = now.Hour;
            if (hours > 12) hours = hours - 12;
            int minutes = now.Minute;
            int seconds = now.Second;

            double hourAngle = (hours * 30) + (minutes / 2);
            double minuteAngle = (minutes * 6) + (seconds / 10);
            double secondAngle = seconds * 6;

            hourImage.RenderTransform = new RotateTransform(hourAngle);
            minuteImage.RenderTransform = new RotateTransform(minuteAngle);
            secondImage.RenderTransform = new RotateTransform(secondAngle);

        }

        private void exitMenuItem_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
        }

    }
}
</pre>
<p>Kaynak koda göz atmanız bittiyse bazı püf noktaları verebiliriz artık. <strong>WPF</strong> ile yazılım geliştiren arkadaşlarımız <strong>Toolbox</strong> bölümünde <strong>Timer</strong> bileşeninin <strong>olmadığını</strong> bilirler. Saat programı yapıyorsak bizim kesinlikle bir zamanlayıcıya ihtiyacımız var. Maalesef bu işlemi kod yazarak halletmek zorundayız. Neyseki WPF bize bu desteği sağlıyor. Ana penceremizin <strong>Loaded</strong> olayına küçük bir kod yazdım. Yukarıdaki kod parçasında <strong>35-41</strong> arası satırlara tekrar göz atmanızı öneririm. Ekrandaki saat parçalarının belli bir eksen etrafında dönmesi sağlamak için <strong>Image</strong> sınıfının <a href="http://msdn.microsoft.com/en-us/library/ms750596.aspx" title="MSDN: Transforms Overview" target="_blank">RenderTransform</a> özelliğini değiştirmek yeterlidir. Örneğimizde <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.rotatetransform.aspx" title="MSDN: RotateTransform Class" target="_blank">RotateTransform</a> sınıfını kullandım doğal olarak.</p>
<p>WPF ve C# ile analog saat projesi hakkında söyleyeceklerim şimdilik bu kadar. Aşağıdaki bağlantılardan projenin kaynak kodu ve çalıştırılabilir demosunu indirebilirsiniz...</p>
<table>
<tbody>
<tr>
<td><img src="http://www.shenturk.com/images/vs2010-48x48.png" alt="" /></td>
<td>Microsoft Visual Studio 2010 Framework .NET 4.0<br />
<a href="http://www.shenturk.com/downloads/analogsaatwpf-vs2010-source.rar">Kaynak Kod İndir [72 KB]</a><br />
<a href="http://www.shenturk.com/downloads/analogsaatwpf-vs2010-demo.rar">Demo İndir [38 KB]</a>
</td>
</tr>
<tr>
<td><img src="http://www.shenturk.com/images/vs2008-48x48.png" alt="" /></td>
<td>Microsoft Visual Studio 2008 Framework .NET 3.5<br />
<a href="http://www.shenturk.com/downloads/analogsaatwpf-vs2008-source.rar">Kaynak Kod İndir [71 KB]</a><br />
<a href="http://www.shenturk.com/downloads/analogsaatwpf-vs2008-demo.rar">Demo İndir [38 KB]</a>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.shenturk.com/genel/wpf-ve-c-ile-yeniden-analog-saat-yapalim/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Metro FM URL adresi değişmiş</title>
		<link>http://www.shenturk.com/genel/metro-fm-url-adresi-degismis</link>
		<comments>http://www.shenturk.com/genel/metro-fm-url-adresi-degismis#comments</comments>
		<pubDate>Sat, 07 Jan 2012 17:53:51 +0000</pubDate>
		<dc:creator>freedelphi</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[Radyo Dinle Kaydet]]></category>
		<category><![CDATA[RDK]]></category>
		<category><![CDATA[adresi]]></category>
		<category><![CDATA[degisitir]]></category>
		<category><![CDATA[ekle]]></category>
		<category><![CDATA[fm]]></category>
		<category><![CDATA[metro]]></category>
		<category><![CDATA[radyo]]></category>
		<category><![CDATA[rdk]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[yeni]]></category>

		<guid isPermaLink="false">http://www.shenturk.com/?p=1486</guid>
		<description><![CDATA[Metro FM severek dinlediğim bir radyo kanalı. Son günlerde çalışmıyordu. Devamlı olarak bağlantı kurulamadı hatası alıyordum. Biraz araştırdıktan sonra yayın yaptığı IP adresin değiştiğini farkettim. Broadcast şirketini değiştirmişler. Neyse ki bir iPhone' um var ve Wireshark sayesinde IP izleyebiliyorum. Malum Metro FM' in iPhone versiyonundan bağlantı yaptığı sunucunun IP adresini ve port numarasını bulabiliyorsunuz. Eğer [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 466px"><a href="http://www.metrofm.com.tr" target="_blank"><img alt="Metro FM" src="http://www.metrofm.com.tr/images/logo-metrofm.png" title="Metro FM" width="456" height="311" /></a><p class="wp-caption-text">Metro FM</p></div>
<p><a href="http://www.metrofm.com.tr/" title="Metro FM" target="_blank">Metro FM</a> severek dinlediğim bir radyo kanalı. Son günlerde çalışmıyordu. Devamlı olarak bağlantı kurulamadı hatası alıyordum. Biraz araştırdıktan sonra yayın yaptığı IP adresin değiştiğini farkettim. Broadcast şirketini değiştirmişler. Neyse ki bir <a href="http://www.apple.com/iphone/" title="iPhone" target="_blank">iPhone</a>' um var ve <a href="http://www.wireshark.org" title="Wireshark" target="_blank">Wireshark</a> sayesinde IP izleyebiliyorum. Malum Metro FM' in iPhone versiyonundan bağlantı yaptığı sunucunun IP adresini ve port numarasını bulabiliyorsunuz. Eğer sizde Metro FM' i RDK ile dinlemek istiyorsanız şunları yapabilirsiniz:</p>
<ul>
<li>İlk önce <strong>Radyo Listesi</strong>'inden Metro FM' i silin (eğer varsa).</li>
<li>Daha sonra <strong>Radyo Ekle</strong> düğmesine tıklatarak Metro FM' i aratın.</li>
<li>Son olarak Metro FM' in bulunduğu sayfa içindeki <strong>Ekle</strong> bağlantısına tıklatın.</li>
</ul>
<p>Eğer Metro FM' i <strong>URL adresinden</strong> eklemek isterseniz adres şu: <strong>http://46.165.197.15:3035/</strong></p>
<p>Kolay gelsin...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenturk.com/genel/metro-fm-url-adresi-degismis/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

