7 Adımda Delphi Uygulamalarını Daha da Hızlandırın

3.308 defa okunmuş
Oy Verin:
(3 kişi oy kullanmış, ortalama: 5 üzerinden 4,33)
Loading ... Loading ...

Delphi, etkili ve hızlı sonuç alabileceğiniz nadir geliştirme ortamlarından birisi. Delphi’nin hızlı program geliştirme özelliği, bazen bizlerin müsrif davranmasına yol açabiliyor. Aslında birazdan vereceğim adımlardan bazıları, çoğu programlama dillerinde dikkat etmemiz gereken kurallardan. Uygulamayı dağıtmadan önce hız için dikkat etmemiz gerekenleri 7 adımda toplayıp sizlere sunuyorum.

Devam »

Kategori: Delphi | Etiketler: , , | 10 Adet Yorum

Derleyici Tasarım Notları – 1

3.034 defa okunmuş
Oy Verin:
(6 kişi oy kullanmış, ortalama: 5 üzerinden 5,00)
Loading ... Loading ...

Derleyici tasarımı, uzun zamandır kendimi geliştirmek için uğraştığım bir konu. Bu konu ile ilgili çok kitaplar ve makaleler okudum ve araştırmalar yaptım. Ama ne yazık ki, bu konuda kendimi ciddi manada ilerleyebilmiş olarak hissetmiyorum. Şimdi ise bu araştırma ve notlarımı burada toplamayı düşünüyorum. Böylece kendimi bu konuda geliştirmeyi ve bununla beraber bu notları sizlerle paylaşmayı düşünüyorum.

Bu yazı serisi, önceden yazdığım makaleler gibi tecrübe ve bilgiye dayalı olmayacak. Okuduğum kitap ve makalelerden ve denemelerimden oluşacak. Bu yüzden bu makale serisinin hedeflediği kitle, sadece bu işin meraklılarına hitap ediyor. Derleyici-yorumlayıcı yazmak isteyenlere faydalı bir konu özeti olacağını düşünüyorum. Ayrıca bu işe yeni başlayacak olanlara veya başlamış ama bir sebepten dolayı yarım bırakmış kimselere de bir fihrist, bir yol haritası olacağını düşünüyorum. Tabi bu notları çıkarmakla ben de kendimi bu konuda geliştirmeyi düşünüyorum.

Devam »

Kategori: Derleyici Tasarımı | 12 Adet Yorum

C / C++ ‘dan Delphi’ye Kod Çevirme Klavuzu (1)

2.214 defa okunmuş
Oy Verin:
(2 kişi oy kullanmış, ortalama: 5 üzerinden 3,00)
Loading ... Loading ...

Özellikle işe yarar bir kütüphane bulduğunuz zaman eğer yoksa hemen Delphi sürümlerini araştırırız. Çoğu zaman “Delphi port” ismiyle, kütüphanelerin Delphi versiyonlarına erişebiliriz. Eğer Delphi versiyonlarını bulamazsak, iş başa düşmüş demektir.  Kütüphaneler bir çok dilde olabilirler. Fakat genel manada en çok C++ veya C kodlarının adaptasyonu ve çevrilmesi programcıları zorlayabilmektedir.

Bu yazımızda C / C++ ve Delphi gramer bilgisi vermek yerine, daha çok C / C++ kodlarını en doğru şekilde Delphi’ye nasıl adapte edebileceğimizi göreceğiz. Yapacağımız işlem sadece bire bir kod çevirisi olmayacak. Yeri geldiğinde hiç bir kod çevirmeden sadece orjinal kütüphaneyi Delphi programımızın içine gömebileceğiz.

Eğer siz de, ister derlenmiş olsun, ister açık kaynak kodlu olsun, bir C / C++ kütüphanesini Delphi’ye nasıl çevirebileceğimizi merak ediyorsanız buyurun beraber yazımıza giriş yapalım.

Devam »

Kategori: Delphi | Etiketler: , , | 6 Adet Yorum

Stream’de Uzmanlaşalım… (Bölüm 2)

1.784 defa okunmuş
Oy Verin:
(3 kişi oy kullanmış, ortalama: 5 üzerinden 5,00)
Loading ... Loading ...

Geçen bölümde stream’e giriş yaptık. Ve değişik veri tipleri ile stream üzerindeki okuma ve yazma işlemlerini gördük. Bu bölümde stream kullanımının sadece dosya okumak-yazmak olmadığını da göreceğiz. Ayrıca .net ve vcl.net ortamında stream kullanımından da bahsetmeye çalışacağız.

Devam »

Kategori: Delphi | Etiketler: , , , , , , , , , , , | 1 Adet Yorum

Stream’de Uzmanlaşalım… (Bölüm 1)

2.391 defa okunmuş
Oy Verin:
(5 kişi oy kullanmış, ortalama: 5 üzerinden 5,00)
Loading ... Loading ...

Diyezon’a yazmayalı baya bir süre olmuştu. Neredeyse diyezon, kendi işlerim yüzünden hayalet site olma yolunda ilerliyordu. Bundan önceki son yazımı yaklaşık bir sene önce yayınlamıştım. Her neyse…

Stream’ler hakkında bir makale yazmak, yapacaklarım arasındaydı. En son gelen bir istek üzerine stream konusuna el atalım istedim. Bu makale serimizde hem VCL’de bulunan TStream, hem de .NET’de bulunan Stream sınıfları ve kullanımlarından bahsetmeye çalışacağım.

Özellikle TStream üzerinde stringlerle uğraşmak gibi bir çok konu programcıların kafasını karıştırabilmektedir. Bu ve bunun gibi sorunların çözümlerine de çareler bulmaya çalışacağız.

Devam »

Kategori: Delphi | Etiketler: , , , , , | 10 Adet Yorum

Delphi ile Thread(Kanal) Kullanımı – Bölüm 2

7.041 defa okunmuş
Oy Verin:
(15 kişi oy kullanmış, ortalama: 5 üzerinden 4,67)
Loading ... Loading ...

Bu bölümde kanalları nasıl eş zamanlı olarak çalıştırabileceğinizi göreceksiniz. Bunun için kritik bölgeler ve muteksler ile tanışacaksınız. Ayrıca kanal uyumlu olmayan VCL’in, kanallar ile nasıl kullanılabileceğini de göreceksiniz. Bununla beraber kanal kullanımındaki yaşanan bazı problemlere de değinmeye çalışacağız. Özellikle veritabanlarını kanallar ile kullanmada uyulması gereken püf noktalarına da değinmeye çalışacağız.

Aslında bu bölüm gerçekten uzun oldu. Normalde VCL kullanımını üçüncü bir bölüme taşımayı düşünüyordum. Ama bu konuda istekler olunca birleştrip yayınlamayı düşüdüm. İçeride sizi iki sayfalık bir makale bekliyor. Bu yüzden sayfa sonunda bitti zannedip kapatmayın!

Hazırsanız başlayalım.

Devam »

Kategori: Delphi | Etiketler: , , , | 15 Adet Yorum

Delphi ile Thread(Kanal) Kullanımı – Bölüm 1

6.396 defa okunmuş
Oy Verin:
(16 kişi oy kullanmış, ortalama: 5 üzerinden 4,75)
Loading ... Loading ...

Yaptığımız projelerin bir bölümü eninde sonunda bu konuya dayanıyor. Genelde kanal gerekli olduğu halde Timer ya da Application.ProcessMessages gibi çarelere gitmeye çalışıyoruz Ve devamında hem görsel hem de işleyiş açısından istemediğimiz sonuçlarla karşılaşıyoruz. Halbuki kanalların kullanılması sanıldığı kadar zor değildir. Bu ön yargıyı bu makalede aşmaya çalışacağız.

Bu makale, ileri seviye Windows programcılığına geçiş kapısıdır. Bu makeledeki konuları öğrendikten sonra Win32 programcılığının en güçlü özelliklerini öğrenmiş olacaksınız.

Yanlız "ileri seviye" tabiri gözünüzü korkutmasın. Çünkü makeleyi bitirdiğinizde thread kullanımının aslında ne kadar kolay olduğunu göreceksiniz. Bununla birlikte bu makalede bu konu ile ilgili her ayrıntıyı anlatabilmemiz için yüzlerce sayfalık kitap yazmamız gereklidir. Bu yüzden burada işin mantığını kapıp, ihtiyacınız oldukça yardım dosyalarına müracaat etmeniz gerekebilir.

Kanallar hakkında hiç bir bilginiz olmayabilir. Bu makalede işin temelinden alacağız ve makaleyi bitirdiğinizde kendi programlarınıza kanal ekleyebilecek duruma geleceğinize inanıyorum.

Bu makale serisinde kanallar temelden anlatılmakla beraber, ileri seviye kanal kullanımı, VCL bileşenlerinde kanal kullanımı ve Muteksler de ana konularımız arasına girecektir.

Devam »

Kategori: Delphi | Etiketler: , | 16 Adet Yorum

Enine Boyuna Generics – Bölüm 2

1.770 defa okunmuş
Oy Verin:
(3 kişi oy kullanmış, ortalama: 5 üzerinden 3,67)
Loading ... Loading ...

Bir önceki bölümde Generics hakkında bazı terminolojiler üzerinde durduk. Ayrıca ilk başta verdiğimiz örnek ile, bir sınıfı veya bir metodu object yaklaşımı ile nasıl genlleştirilebileceğini gördük. Önceki makaleyi okuduktan sonra objcet yaklaşımı ile Generics arasındaki farkı idrak ettiğinize inanıyorum. Ve Generics’in avantajlarını ve kolaylığını anladığınızı düşünüyorum.

Bu bölümde Sınırlandırıcıları(Constraints) göstermeye çalışacağız. Hazırsanız buyrun.

Devam »

Kategori: Delphi | Etiketler: , , , , , | 1 Adet Yorum

Enine Boyuna Generics – Bölüm 1

2.102 defa okunmuş
Oy Verin:
(3 kişi oy kullanmış, ortalama: 5 üzerinden 5,00)
Loading ... Loading ...

Bir iki önceki makalemizde, Delphi gramerine katılan generics ve parametrize tipleri yüzeysel olarak tanıtmıştık. Generics, RAD Studio 2007′ nin çıkması ile artık sadece beta tester’larını değil, tüm Delphi programcılarını ilgilendiren bir konu olmuştur. Gerçi şu an için sadece .NET ortamında kullanabildiğimiz bu özellik bir sonraki sürümde Win32 için de kullanılabilir bir gramer olacaktır. Başlangıç için önceki makalemizi okuyabilir ya da direk buradan başlayabilirsiniz. Zira bu bölümde Generics ile ilgili temel bilgiler vereceğiz.

Devam »

Kategori: Delphi | Etiketler: , , , , , | 1 Adet Yorum

Delphi 7 ile Şimdiki Delphi Sürümleri Arasındaki Farklar

2.835 defa okunmuş
Oy Verin:
(4 kişi oy kullanmış, ortalama: 5 üzerinden 5,00)
Loading ... Loading ...

Bildiğiniz gibi VCL, .NET ortamına taşınırken derleyici bazında bir çok değişikliğe ve geliştirmeye gidildi. Bu geliştirmeler, hem Delphi.NET derleyicisini hem bildiğimiz klasik Delphi for Win32 derleyicisini etkiledi. Tabi bu geliştirmeler, en çok biz programcıların işine yaradı.

Bu makalemizde bu yeniliklere değinmeye çalışacağız. Bunlardan bir kısmını önceki makalelerimizde ayrıntılı olarak işlemiştik. Burada sadece bu sitede bahsetmediğimiz kısımlar bahsedilecek ve önceden bahsettiklerimize linkler içerecektir.

Devam »

Kategori: Delphi | Etiketler: , , , , , , , , , , , , , , , , , , | 4 Adet Yorum

Delphi ve Operator Overloading

1.905 defa okunmuş
Oy Verin:
(4 kişi oy kullanmış, ortalama: 5 üzerinden 5,00)
Loading ... Loading ...

"Operator Overloading"(operator aşırı yükleme), Delphi’ye Delphi.NET ile birlikte gelen class helper’lar gibi yeni özelliklerden birisidir. Bu teknik, class helper’lar gibi hem Win32 hem de .NET için kullanabilirsiniz.

Delphi’ye, belki de çok uzun zaman önce eklenmesi gereken bu özellik ile, herhangi bir sınıf veya record için toplama(+), çıkarma(-), çarpma(*) gibi operatörlere bazı özel anlamlar yükleyebiliyoruz. C++ programcılarının hiç de yabancı olmadıkları bu teknik ile kendimize özel veri tipleri tanımlayıp, bu tiplerin Integer, string gibi başka tipler ile etkileşimlerinin nasıl sonuç vereceğini belirleyebilirsiniz.

Devam »

Kategori: Delphi | Etiketler: , , , , | Yorum yazın

Delphi.NET’in Yeni Oyuncağı “Class Helper”

1.514 defa okunmuş
Oy Verin:
(3 kişi oy kullanmış, ortalama: 5 üzerinden 5,00)
Loading ... Loading ...

.Net ortamı için sadece Delphi’de bulunan bir nesne özelliği ile tanışalım bugün, Class Helper(Sınıf Hizmetçisi, Yardımcısı, ya da ne isim verirseniz.). C# kullanıcıları, 2.0 sürümü ile benzer bir tip olan "Partial Type" ile tanıştılar. Ama partial tipler hali hazırda derlenmiş kodlar üzerinde işlem yapamazlar. Ama class helper’lar yapabilirler! Yani derlenmiş bir assembly’ de bulunan bir sınıf üzerine de class helper yazılabilir.

Nedir bu Class Helper? Yenilir mi, içilir mi, grameri nasıldır, ne işimize yarayacak? Bütün bu soruların cevaplarını bu kısa makalemizde vermeye çalışacağız.

Devam »

Kategori: Delphi | Etiketler: , , , , | 6 Adet Yorum

Başka bir bilgisayarda debug yapın!

2.029 defa okunmuş
Oy Verin:
(4 kişi oy kullanmış, ortalama: 5 üzerinden 4,25)
Loading ... Loading ...

Uzun uğraşlar vererek hazırladığınız projeniz üzerinde bir çok testler yaptınız, hataları bulup giderdiniz. Ardından programı son kullanıcıya verdiniz. Kullanıcı belli bir süre sonra size telefon açtı ve programın hata verdiğini söyledi. Siz de hatayı nasıl çıkarttığını öğrenip, aynı şeyi kendi bilgisayarınızda denediniz ama ne yazık ki sizin bilgisayarınızda böyle bir hata oluşmadı ve siz kafayı yeme hadlerine yaklaştınız.

Bu senaryo hemen hemen çoğu programıcının başına gelebilecek hadiselerden. Ve çok sinir bozucu bir durum. O an herkesin içinden, son kullanıcının bilgisayarına Delphi, C++ Builder, ya da VS’yi kurup programı orada test etmek geçer. Ama bu her zaman için müsait olmayan bir durum. Üstelik kaybolan zaman da cabası.

Bu gibi sorunların üstesinden gelebilmek için Remote Debugging denen bir sistem geliştirilmiştir. Kullanıcının bilgisayarına Remote Debugger programı kurulur ve siz kendi bilgisayarınızdan uzaktaki bilgisayara bağlanarak debug işleminizi yaparsınız. Ve hatanın ne olduğunu anlamaya çalışırsınız.

Bir çok geliştirme ortamı remote debug işlemine izin vermektedir. Bizim bu yazıda bahsedeceğimiz işlem, Delphi ve C++ Builder için olacak. Bir kaç adımda bu işlemin nasıl yapıldığını öğrenin ve yukarıdaki senaryonun aktörlerinden biri olmayın.

Devam »

Kategori: Delphi | Etiketler: , , | Yorum yazın

Delphi programcıları, Generics ile tanışıyor…

2.161 defa okunmuş
Oy Verin:
(3 kişi oy kullanmış, ortalama: 5 üzerinden 3,33)
Loading ... Loading ...

Şu an betası test edilen Highlander sürümünde göreceğimiz generic tipler, aslında c++ programcılarına pek de yabancı olmayan bir terim. .Net 2.0 ile birlikte, managed kodlar generics ile tanıştı. Haliyle Delphi de, highlander sürümü ile birlikte .net 2.0′ı ve generics’i destekliyor. Ama IDE ve kod editörü tam manasıyla generics’e destek vermeyecek. Ama derleyici olarak generics’in tüm özelliklerinden faydalanabileceğiz. Özellikle generics için refactoring bulunmayacak. Ayrıca help insight ‘da da generic tipler "<>" şeklinde görünecek. Ayrıca editor, generic tipleri generic tip olarak nitelememekte. Generic tipi ayrı bir sınıf olarak almakta. Her neyse bu gibi sorunlar bir update ile ya da 2008′in ilk çeyreğinde çıkması beklenen Tiburon sürümünde halledilecektir. Önemli olan generic tipleri derleyici bazında tam olarak kullanabileceğimiz.

Bütün bunları geçelim ve generic tiplere yabancı olanlar için bir kaç küçük örnek verelim.

Devam »

Kategori: Delphi | Etiketler: , , , , , , | 3 Adet Yorum

Fonksiyon Çağırım Mekanizmaları

2.693 defa okunmuş
Oy Verin:
(9 kişi oy kullanmış, ortalama: 5 üzerinden 5,00)
Loading ... Loading ...

Gerek C++ programlamada gerekse Delphi ve diğer programlama dillerinde fonksiyonların stdcall, cdecl, pascal gibi terimler ile tanımlandığını görmüşüzdür. Eğer biraz da merakımız olmuşsa bunların az çok neyi ifade ettiklerini bir yerlerden okumuşuzdur. DLL yazanlar ve başka bir dilde yazılmış bir DLL’i kullanmaya çalışanlar mutlaka bu terimlerden en az biri ile aşina olmuştur. Çünkü DLL yazıp bunu dağıtacağınızda bu terimleri biliyor olmalısınız. Bu makalede bu terimlerin derinlerine ineceğiz ve Delphi inline assembler ile kullanımına örnek vermeye çalışacağız.

Devam »

Kategori: Assembler, Delphi | Etiketler: , , , , , , , , | 3 Adet Yorum
Ana Sayfa RSS İrtibat