Pencere Görünümlerine Hükmetmek

Windows Xp gerek arabirim olarak gerek çekirdek olarak bir çok konuda bir devri kapatıp yeni bir devir açan bir işletim sistemi olmuştu 8-9 sene kadar önce… Daha esnek, daha kararlı ve kullanıcı arabirimi olarak da bir çok yenilik getiren bir işletim sistemi.

Arabirim olarak, Windows 2000’de gördüğümüz AlphaBlending’e bir de tüm arabirim genelinde tema desteği gelmişti ki kullanımın tadına doyum olmuyordu… Hoş; benim için farkeden bir şey yoktu gene :) Gene standart tema, gene standart görünüm… Neyse…

IDE’ler de bu gelişmeye ayak uydurdular ve aslında işletim sisteminin sağladığı bir destek ile projelerimizde, sistemin temalarından faydalanmamızı sağlayan bileşenler sundular. Borland editörlerini kullananlar bilirler: “XPManifest”. Yalnız bu bileşenin bir sıkıntısı vardı. Eğer sistemde temalar aktif değilse sizin projeniz de bu temalardan faydalanamıyordu. Yani manifest bileşenleri, sistemdeki tema aktif ise projenize etki edebiliyordu ( hala öyle ;) ). Son kullanıcının göz zevkine de hitap etmesi gereken biz geliştiricilerin ise bu durumu aşması gerekiyordu:

Continue reading

Case Şart Koşulu ile String İfadeler Kullanmak

Bir değişkenin alabileceği 2 den fazla değeri kontrol etmek amacıyla bir çoğumuz C++ daki “Switch-Case” veya Delphi’deki “Case-Of” koşul kontrollerini kullanırız. Çok sayıda değeri iç içe If-then ler ile kontrol ettirmek hem okunurluğu azaltacaktır, hem kod kalabalığı yapacaktır, hem de eğer yapıyı düzgün bir şekilde kuramazsanız ve syntax a dikkat etmezseniz hata yapma olasılığınız çok yüksek olacaktır.

Temel olarak bir case-of deyimi şu şekilde kullanılır:

Continue reading

Bir Linked List Hikayesi – Scene II – The List Itself – I ListItem

Bağlı liste macerama kaldığım yerden devam ediyorum…

Veri yapıları dersimizin ilk saatleri. Vasıf Hocam ilk iki konuyu anlatmış, Kuyruk yapısını bitirmiş, ara konular üzerine sohbet ediyorduk sınıfça. Bilmeyenleriniz için, Vasıf Hocamızın ara konuları Biyometrik Tanıma ile ilgilidir hep :). Sorduğu bir soru vardı “Şunu nasıl gerçeklersiniz?” şeklinde. Ben de el kaldırıp “Dinamik dizi tanımlarım. Her yeni değer ulaştığında bu diziyi güncellerim” demiştim. Dinamik dizi hayranıyız ya o zamanlar ( 1. sınıfta, programlama sınavlarında soruları dinamik dizilerle çözüyordum hep :) Hatta 2. sınıfta Programlama II sınavlarında bile daha dinamik organizasyon anlatılmadan ben dinamik dizilerle çözüyodum gene :) )… Tutturmuşum bir dinamik dizi dinamik dizi gidiyorum… Hocanın ilk tepkisi: ( bıyık altı, dudak kenarı gülümseyerek ) “Ohoo ne yaptın oğlum?!! İşlem yükünün çoğu senin dizi organizasyonunda harcandı!!”. Akabinde açıklamasını yaptı, “bu değerleri bir listede tutarım” şeklinde… Ve hemen ardından da “Başlık atın arkadaşlar: ‘Liste Veri Yapısı’ “…

Continue reading

Bir Linked List Hikayesi – Scene I – Asal Sayılar

Her şey asal sayıları hesaplayan ( hesaplamaya çalışan :) ) algoritma üzerinde çalışmamla başladı… Sanırım üniversiteye yeni girmiştim, 5 sene kadar öncesi işte. Asal sayıların hesaplanması için çok efektif algoritmalar olmasına rağmen ben bile bile hamal bir algoritma tasarlamak peşine düştüm. Benim tasarımım olacaktı nihayetinde :). Yaklaşımım şuydu: temel asallık kuralı… Bir sayı kendisinden ve 1 den başka bir sayıya tam bölünemeyecek… Bunu nasıl gerçekleyebilirdim peki? Sayıyı, kendisine kadar sayılara böldürerek elbet :)

Continue reading

Bir MultiDesktop İncelemesi…

İnternetin kesikliği ve fındık toplama işinin de bitmiş olmasıyla kendime yeni uğraşlar edinmem gerektiğini düşünüyodum. Kitap okumak.. Okudum. Müzik dinlemek.. E, bunu her zaman yapıyorum zaten.. Ne yapayım ne yapayım derken eski projelerime sardım kendimi. Bir türlü tamamlayamadığım Server-Client programım ( Tamamladığım farklı versiyonları mevcut. Bu versiyon tamamen benim fantazim.. ), bellek taşmalarını engelleyemediğim ve bir türlü performansını artıramadığım Linked List yapılarım… C++ ve C# ta durum nedir bilmiyorum ama Delphi’deki TList sınıfı, bir linked list değil bir Pointer Array’dir ve ne yaptımsa benim listemin hızını TList’in hızına bir türlü yaklaştıramadım (C# tamamen nesneye dayalı bir dil olduğundan ve pointer desteğinin de kısıtlı olduğunu bildiğimden “C#’ta da gerçek bir Linked List uygulaması yoktur.” diyebilirim sanırım.)…

Neyse… Oturdum yeniden yazmaya başladım bu yapıyı. Bir editör, yeni bir tane daha, yeni bir tane daha.. Geçtiğimiz bahardaki halime benzedim :) Gene 7-8 tane editör penceresi… Bir de oranın buranın Explorer pencereleri.. Taskbar doldu taştı. Ya biraz daha düzenli olmalı projeleri sırayla geliştirmeliydim ( ki hayatta yapamam ) ya da bu karışıklığa başka bir alternatif bulmalıydım. Emektar Dial-Up ile internete bağlandım ve başladım “MultiDesktop in Windows XP” diye aramaya… :)

Continue reading

A new hope..

Bundan 1-2 ay öncesine kadar orada burada ilanını yaptığım web sayfalarımın tüm teknik altyapısını ben sağlıyordum. Ta ki ciddi bir HDD vakası yaşıyana kadar. Tabi onun öncesinde de sunucu olarak kullandığım bilgisayarlardan bir tanesinin anakart problemi çıkartması ve bir diğerinin de gene disk arızası vermesi olayları da var… Nihayetinde ben de sistemin fişini çekme kararı almıştım kendimce ve o günden sonra da sunucu ve network sistemleri üzerine bir çalışmada bulunmadım. Artık bir blog sahibi olmadığımdan ötürü de herhangi bir makale de yayınlamadım…

Son birkaç gündür kafamda o kadar çok konu birikti ki, dayanamadım WordPress’e saldırdım en sonunda. Yıllar önce sadece API Key için edindiğim kullanıcı adımı bir blog açmak uğruna yerlere sermiş bulunmaktayım :p :))

Yeni başlıklar ile görüşmek dileğiyle…