Kategori Delphi, Radyo Dinle Kaydet, RDK, Oluşturulma Mar.11, 2012
RDK - Radyo Dinle Kaydet
RDK'nın 1.4 sürümümünde hata tespit edildi maalesef. URL ekleme konusunda bayağı bir sıkıntı oluştu. Eğer eklediğiniz URL adresinde bazı geçersiz karakterler varsa tüm listenizin silinmesine sebep oluyor. Sorunu giderdim çok şükür. Ayrıca yeni sürümde bir değişiklik daha yaptım: Artık radyo listelerimizi yönetebileceğiz. Bunun için Farklı Kaydet, Ekle gibi menüler ekledim. Eğer başka bir bilgisayara RDK kurduğunuzda Radyo Listenizi de taşıyabilirsiniz. Burada bahsetmek istediğim bir konu daha var. RDK ilk yayınlandığı günden beri MP3 dosyalarını çalabilme yeteneğine sahipti aslında. Sadece bunu hiç aktif etmemiştim. Artık bu sürümde RDK basit bir MP3 player gibi çalışabilir. Kendime yaptığım ayrı bir sürümde hem Radyo hemde MP3 dinleyebiliyordum. Sizlerle de paylaşmak istedim. RDK içinden MP3 dosyalarınızı dinlemek istiyorsanız yapmanız gereken şu: MP3 dosyalarınızı yada MP3 dosyalarınızı içeren klasörlerinizi RDK'nın içine sürükleyip bırakmak. Hepsi bu! Sürükleme işleminde RDK, sürüklenen dosyaları var olan listenize ekler. Eğer listenizin silinip, sürüklediğiniz dosyalardan yeni bir liste oluşturulmasını istiyorsanız elinizi CTRL tuşuna basılı tutun. RDK, MP3 formatındaki dosyalardan başka formattaki dosyaları da çalabilir: AAC, WMA, AC3 gibi dosyaları da yüksek kalitede dinleyebilirsiniz. Kolay gelsin...
RDK' nın 1.5 sürümünü aşağıdaki bağlantıdan indirebilirsiniz.
Etiketler: aac, best, canlı, çevrimiçi, dinle, fm, gadget, kaydet, kral, masaüstü, mp3, online, player, power, radyo, rdk, süper, türk, widget, wma
Kategori Delphi, Mini Hava, Oluşturulma Mar.07, 2012
Mini Hava
Mini Hava projesiyle ilgilenmeyeli bayağı olmuş. İlk sürümü Eylül 2009' da yayımlamışım. Belirgin bir hatası olmasına rağmen bir türlü yeni sürümü çıkartamamıştım. Mini Hava kullanıcılarının en çok şikayet ettikleri konu kayıt sorunu olması. Malum yeni bir şehir ekledikten sonra ve bilgisayarı kapatıp açtığınızda eklediğiniz şehir ekranda görüntülemeniyor. Hatayı giderdim ve 1.1 sürümünü yayımladım. Güle güle kullanın...
Mini Hava' nın 1.1 sürümünü aşağıdaki bağlantıdan indirebilirsiniz.
Etiketler: adana, ankara, Delphi, durumu, forecast, hava, hava durumu, iller, illere göre hava durumu, istanbul, izmir, konya, mini, msn, tahmin, türkiye, weather, widget
Kategori Delphi, Radyo Dinle Kaydet, RDK, Oluşturulma Feb.07, 2012
RDK - Radyo Dinle Kaydet
Bu yazıma Uğur Ata' nın yaptığı 25 $' lık bağış için teşekkür ederek başlamak en doğru giriş olacak benim için. Yaptığı bu cömert bağış gerçekten çok işime yaradı inanın. Kendisine ve diğer bağış yapan duyarlı arkadaşlara tekrar teşekkür ediyorum. Elbette bağışların devamını diliyorum...
RDK 1.4 artık kullanıma hazır. Yine bazı radikal değişiklikler yaptım. Sizlerden gelen istekler doğrultusunda yeni özellikler ekledim. İsteklerin hepsini yapamadım ama yavaş yavaş en iyiye doğru gitmeye çalışıyorum. Yaptığım değişiklikleri belirteyim:
- Radyo Arama bölümü eklendi. Artık Radyo Listemizde bulunan radyoların içinde kolayca arama yapabileceğiz. Klavyedeki ok tuşlarını kullanmayı ihmal etmeyin.
- Pencere boyutlandırılması eklendi. Farenizi Radyo Listesinin en altında getirdiğinizde genişletme işaretçisini görebilirsiniz. Burada unutmayın ki büyük pencere işlemci tüketimini artırır, benden söylemesi!
- Yeniden Adlandırma eklendi. Radyo Listemizde bulunan radyoların adlarını dilediğimiz gibi değiştirebileceğiz artık.
- Bazı simgeleri değiştirdim ve küçük hataları giderdim.
RDK' nın 1.4 sürümünü aşağıdaki bağlantıdan indirebilirsiniz.
Etiketler: aac, best, canlı, çevrimiçi, dinle, fm, gadget, kaydet, kral, masaüstü, mp3, online, power, radyo, rdk, süper, türk, widget, wma
Kategori Delphi, Mini Döviz, Oluşturulma Jan.31, 2012
Mini Döviz 4.0 Hatalı Ekran Görüntüsü
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.
NOT:
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.
Etiketler: akbank, altın, avro, banka, çevrimiçi, çeyrek, cumhuriyet, dolar, döviz, efektif, euro, garanti, gram, hamit, has, kur, kurlar, merkez, online, piyasa, reşat, riyal, serbest, sterlin, tcmb, ziraat
Kategori C#, Genel, Programlama, WPF, Oluşturulma Jan.17, 2012
WPF ve C# ile Analog Saat
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 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 katmanlı yapıya geçirilmesiydi. Bu işlem için UpdateLayeredWindow 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...
1. TASARIM
Bu projeyi Microsoft Visual Studio 2010 ile .NET 4.0 kullanarak geliştirdim. Tasarım aşamasında dikkat edilmesi gereken bazı noktalar var. C# ile yeni bir WPF Application seçtiğinizde varsayılan olarak çalışma pencereniz katmalı olarak ayarlanmaz. 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 Properties bölümünden şu özelliklerin ayarlaması gerekir:
- İlk önce WindowStyle özelliği None,
- AllowsTransparency özelliği True,
- Son olarak Background özelliği Transparent olacak. Null Brush seçerseniz de aynı sonucu elde edersiniz.
Eğer Properties penceresinden ayarlamak istemezseniz bu özellikleri WPF mimarisinin temel yapısı olan XAML dosyasından da değiştirebilirsiniz. Bilindiği üzere XAML dosyası basit bir XML 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.
2. KOD
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. MainWindow.xaml.cs dosya adına sahip kaynak kodun tamamı aşağıdadır. Kod az olunca tamamını yayınlamakta bir sakınca görmedim...
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
{
///
/// Interaction logic for MainWindow.xaml
///
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();
}
}
}
Kaynak koda göz atmanız bittiyse bazı püf noktaları verebiliriz artık. WPF ile yazılım geliştiren arkadaşlarımız Toolbox bölümünde Timer bileşeninin olmadığını 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 Loaded olayına küçük bir kod yazdım. Yukarıdaki kod parçasında 35-41 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 Image sınıfının RenderTransform özelliğini değiştirmek yeterlidir. Örneğimizde RotateTransform sınıfını kullandım doğal olarak.
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...
Etiketler: .NET, 2008, 2010, 3.5, 4.0, analog, c#, clock, csharp, ders, ders notları, digital, Framework, gdi+, gdiplus, indir, layered, layeredwindow, Microsoft, notlar, örnek, plus, saat, Studio, tutorial, update, updatelayeredwindow, Visual, widget, window
Sayfa: <<
1
2
3
...
23
24
25
26
27
...
50
51
52
>>