Bir önceki makalemizde Interface’ler ile ilgili bilgi vermiş ve Operator Overloading namı diğer operatör aşırı yükleme hususuna değineceğimizden bahis açmıştık. Bu makalemizde; Operator Overloading hakkında yazacağız ve .Net framework’te olduğu gibi çalışan yeni bir String ve DateTime veri türü oluşturacağız. Ancak öncelikle, aslında hepimizin bildiği operatör kavramına bir göz gezdirmekte fayda var sanırım.
Operatörler; [...]
Continue Reading...
Şu son bir kaç gündür, Delphi 2010 ve getirdiği yenilikler ile ilgileniyorum. Bu bağlamda; Generic Liste sınıfları ve bu liste sınıflarının özelleştirilmesi ve çeşitli yeteneklerle zenginleştirilmesi üzerine geliştirmeler yapıyorum. Sizlerle bu yaptıklarımı paylaşabilmem için öncelikle bazı temel hususları izah etmek gerektiğini düşündüm. Bu bağlamda; ilk olarak Interface’ler hakkında bir makale, ardından operator overloading [...]
Continue Reading...
Threading ile ilgili bir önceki makelemizde Event ve WaitableTimer senkronizasyon mekanizmalarını anlatmış ve konuya ışık tutabilmesi adına örnekler paylaşmıştık. Makalemizin sonunda ise; bir thread’i normal yollarla durdurabilmek için(TerminateThread API’sini kullanmadan) bir makale yazacağımdan bahsetmiştim. Bu makalemizin konusu verdiğim söz gereği; bir thread’i sonlandırma seçenekleri ile ilgili olacak.
Ancak, sizlerden ricam bu makalede ilerlemeden önce Threading [...]
Continue Reading...
Bir önceki makalemizde thread’ler konusuna giriş yapmış, işletim sisteminin thread’leri nasıl yönettiğini ve thread’lerin senkronizasyon mekanizmalarını anlatmaya çalışmıştık. Bu bağlamda Critical Section, Mutex, Semaphore senkronizasyon mekanizmalarını izah etmiştik. İlk makalemizde değinmediğimiz 2 adet senkronizasyon mekanizmasına da bu makalede temas etmeye çalışacağız. Event ve Waitable Timer adı verilen bu mekanizmalar da tıpkı diğer senkronizasyon mekanizmaları [...]
Continue Reading...
Hâla programlama aleminde threading uzak kalınası bir mesele gibi gözlemleniyor. Aslında belli başlı kurallar bilindiğinde bu konunun korkulacak bir konu değil ancak dikkatle ele alınması gereken bir konu olduğu anlaşılacaktır. Genellikle thread dediğimiz mekanizmayı yazdığımız kodların paralel çalışabilmesi için kullanırız. Ancak kullandığımız işletim sistemleri gerçek mânada multi-threaded olmadıkları için hepimizin başına bir ton sorun gelmiştir [...]
Continue Reading...
Yakın bir zamanda TThread sınıfına yine işim düşmüştü. Yazacağım bir kod parçasında bir thread’in işinin bitmesini beklemem gerekiyordu. Kodumu bu şekilde geliştirirken Delphi’nin bir bug’una rastladım ve bu hatayı Delphi ürün müdürü Nick Hodges‘a ilettim. Sorunun bir sonraki Delphi sürümünde ortadan kalkacağına inanıyorum.
Kısaca sorunun ne olduğundan bahsettikten sonra, mail yazışmalarımızı ilgilenenler için paylaşacağım. [...]
Continue Reading...
Aslında herşey Java adı verilen programlama dilinin doğuşuna kadar ilerliyor. Java, programlama dünyasına farklı bir perspektif katmıştı. Yazılan kodların applet’ler vasıtası ile web ortamlarında kullanılabilmesi yada Java Runtime ile değişik işletim sistemi platformlarında çalıştırılabiliyor olması onu günden güne daha popüler hâle getiriyordu.
Microsoft, kendi işletim sistemlerinin yeryüzündeki tüm bilgisayarlarda kullanılamayacağının farkına vardığında; Java’ya karşı [...]
Continue Reading...
Infosoft Global firmasının animasyonlu(Flash destekli) pek çok ürünü var. Bu ürünlerin neler olduğunu ve ne gibi yetenekleri olduğuna buradan bakabilirsiniz. Ben elbetteki hepsini anlatmayacağım. Örneğimde Fusion Widgets kütüphanesine dahil olan silindir chart’ı anlatacağım. Lâkin burada izah edeceklerim diğer chart türleri içinde geçerli olacaktır.
Hepimiz yazdığımız uygulamaların vurucu gücünün; raporlar ve bu raporların ekrandaki sunum [...]
Continue Reading...
Firewall temel anlamı ile işletim sistemlerini daha güvenli kılmak için tasarlanmış programlardır.Modern işletim sistemlerinin hemen hemen hepsinde gömülü olarak bulunan bir firewall vardır. Güvenlik duvarı, ateş duvarı gibi isimler alan firewall’lar; makinamızda çalışan uygulamaların internete çıkışlarını denetleyen, dışarıdan içeri gelen TCP/UDP paketlerini çeşitli kurallara göre filtrelemeye çalışan uygulamalardır. Kimi zamanlarda yazdığımız uygulamalar, firewall’lar tarafından [...]
Continue Reading...
Eğer sizlerde projelerinizde zamansal kontroller kullanıyorsanız, iki kod sürecinin arasındaki zaman dilimini hesaplıyorsanız muhtemelen GetTickCount API’sini kullanıyorsunuz demektir. Bu API, işletim sistemi açıldığı zaman sıfır(0)’a eşitlenen ve her milisaniyede bir değeri bir arttırılan işletim sistemine has bir değişkenin değerini bizlere geri verir. Win32 API Help’te tanımı aşağıdaki gibidir:
DWORD GetTickCount(VOID)
Görüldüğü üzere geri dönüş değeri [...]
Continue Reading...