Delphi

Delphi

Embarcadero Delphi ya da kısaca Delphi bir programlama dili ve konsol, web, masaüstü ve mobil uygulamalar için tümleşik geliştirme ortamı(SDK)dır. Delphi'nin derleyicileri, kendi Pascal dialekti olan Object Pascal'ı kullanarak Windows(x86 ve x64), Mac OS X (sadece 32-bit), iOS (32 ve 64-bit) ve Android için güçlü ve hızlı bir geliştirme ortamı sunar. Wikipedia

Delphi 7 Yardımı Windows 7’de de çalışsın

Windows 7 üzerine Delphi 7 kurduysanız F1 tuşu ile çağrılan yardım dosyasının görüntülenmediğini farkedeceksiniz. Sorun windows 7 ile beraber gelen yardım görüntüleyici programının artık...

Delphi’de access violation hatalarını gidermek

Access violation hatası belleğin işlem yapılan konumunun okunamamasından veya yazılamamasından kaynaklanır. Hata mesajında hataya neden olan kodun segment ve ofset adresleri bildirildiğinden programcının hatanın yerini tespit etmesi zordur. Benzer sorunlar sıfıra bölme (zero division) ve yığın taşması (stack overflow) gerçekleştiğinde de olur.

Delphi programlarında bu tür sorunlara neden olan kod satırlarını tespit münkündür. Bunun için Project->Options...->Linker ekranındaki Map file ayarı Detailed olarak ayarlanır. Bundan sonra her derleme işleminde uzantısı map olan bir bellek harita dosyası oluşturur.

Bu dosyada program  kod satırlarınıa karşılık gelen makina kodlarının ofset adresleri yer alır. Böylece hatanın oluştuğu bellek adresinin hangi kod satırına karşılık geldiği bulunabilir.


Hatalı kod satırını daha düzgün ve ayrıntılı olarak raporlayabilmek için uLkStackTrace class'ını kullanabiliriz. uLkStackTrace Mozilla lisansıyla dağıtılan bir SourceForge.net projesi.

uLkStackTrace sınıfınınkullanıldığı örnek proje dosyasını aşağıdaki bağlantı ile indirebilirsiniz:



UnhandledExceptions_DelphiSourceCode.rar (~241KB)<


Örnek projede de görüleceği üzere, sınıfın kullanılmasından kısaca bahsetmek  gerekirse;
  • Uses bloğuna uLkStackTrace unit ismini ekleyin.
  • İstisnaları ekrana veya bir dosyaya rapor edecek bir prosedür hazırlayın.
  • LkExceptionReporter yordamına bu prosedürü atayın.
  • Rapor prosedürünü Form.Create'in başına yazmayı unutmayın.

ForceDirectories ile Dizin Ağacı Oluşturmak

Delphi'de dizin oluşturmak için kullanılan komut CreateDir'dir. CreateDir belirttiğiniz bir dizinde yeni bir dizin oluşturmak için kullanılır. Eğer amacınız iç içe birden fazla dizin...

Delphi: "Invalid argument to date encode" hatasını gidermek

TIdHttp içinde aniden peydahlanan bu sorun kodun ele aldığı tarih bilgisinin, daha doğrusu tarih formatının önceden varsayıldığı gibi olmamasından kaynaklanıyor. Aslında bu sorunun çözümü...

TStringGrid Hücrelerinin Seçimini Kaldırmak

TStringGrid nesnesi varsayılan olarak seçili hücrelerini mavi renkle ışıklandırıyor bunu istemiyorsanız aşağıdaki kodu kullanabilirsiniz. procedure TForm1.FormCreate(Sender: TObject); var grRect: TGridRect; begin ...

Delphi ile web sayfasının ekran görüntüsünü almak

About.com birçok konuda olduğu gibi Delphi'de yazılım geliştirme konularıyla ilgili yazılar yayınlıyor. Makaleler ve çeşitli kod örneklerinden oluşan yazılar ele aldığı konuların kullanışlılığı ve anlatımındaki yalınlık ile akılda kalıyor. Aşağıda, benim de zamanında çok aradığım ve bazılarının işine yarayabilecek, web sitelerinin ekran görüntüsünü çekmek için bir kod yer alıyor. Kod TWebBrowser nesnesi ile taranan sayfaların ekran görüntüsünü kaydetmek için kullanılıyor.

Delphi ile HTML etiketlerini ayıklamak

Bir kaynak koddan HTML etiketlerini ayıklamak için bu fonksiyon kullanılabilir.

Delphi 2007 for PHP

Delphi for PHP (DPHP), Delphi benzeri görsel uygulama geliştirme ortamı ile PHP'de web projesi gelistirme konusunda bir devrim yaratıyor. DPHP, PHP'de sağlam web uygulamaları geliştirmek için hızlı ve kolay bir yol sunuyor. 

Web geliştiricileri arasında PHP kullananların oranı oldukça fazla. Hatta ilk sırada diyebiliriz. PHP için yazılmış açık kaynak kodlu proje ve bileşenleri de hesaba katarsak PHP'nin önemi iyice netleşecektir. Ancak yaygın kullanımına ve popülaritesine rağmen bu güne kadar aşırı gelişmiş kod editörlerinin dışında ciddi bir RAD (Rapid Application Development) aracına sahip olamamış. Delphi for PHP, Delphi arayüzüne aşina olanlara PHP'de hızlı bir geliştirme ortamı sunuyor.

Delphi’de Scroolbar’ı Kod ile Kontrol Etmek

Delphi'nin bir scrollbar'a (kaydırma çubuğu) sahip TMemo, TListBox, TStringGrid ve TListView gibi birçok nesnesi bulunmakta. Nesnenin içindeki elemanlar nesnenin yüksekliğine sığmadığında otomatik olarak dikey...

İyi yazılım 10 yıl alır, buna alışın.

Şu tabloya bir göz atın:

İyi yazılım On Yıl Alır, Buna Alışın



Bu tablo, Lotus Notes workgroup yazılımının piyasaya ilk çıkarıldığı tarih olan 1989’dan 2000 yılına kadar kaç yerde kurulu olduğunu göstermektedir. Aslında Notes 1.0 sürümü çıkarıldığında beş yıldan beri geliştirilmekte idi. Notes’un yeterli kaliteye erişmesi ve kullanıcıların satın almaya başlaması için geçen sürenin uzunluğuna dikkatinizi çekmek isterim. Gerçekten de 1984 yılında ilk kod satırının yazılmaya başlaması ile yukarıdaki eğrinin yükselen kısmına erişmesi için tam 11 yıl geçmesi gerekmiştir. Bu süre boyunca Ray Ozzie ve kadrosu St Barts’da buzlu viski içmiyorlardı. Nefes almaksızın kod yazıyorlardı.

Metinin satırlarını sıralamak ve tekrarlıları ayıklamak

Büyükçe bir metin dosyası hayal edin ve satırlarının alfabetik sıraya göre dizilmesi ve tekrar eden satırların ayıklanması gerekiyor. Belki tam olarak bu işi yapan bir programı ve delphi...

ZEOSDBO Select * from hatasını gidermek

ZEOSDBO-6.6.2-rc ile ZQuery1.SQL.Add('select * from links'); sorgusunu çalıştırıp  ZQuery1.FieldbyName('title').AsVariant; ile veriyi almaya calıştığımda aşağıdaki hata mesajını alıyordum; Application raised an exception class EZSQLException with mesage...

Thumbnailer

Daha önce yapılmış programları yazmak adetim değildir ama her zaman da programların deneme sürümlerine ulaşamıyorum. Bu küçük programı hazırlama nedenim de buydu. Program listesi verilen web sitelerini tarıyor, tam boy fotografını çekiyor ve çektiği fotoğrafı belirtilen boyutta jpeg olarak kaydediyor.

Delphi: Canvas does not allow drawing Hatası

"Canvas does not allow drawing" hatası tuval çizime izin vermiyor gibi bir anlam taşıyor. Tuval ressamların resimlerini çizdikleri yüzeye verilen ad burada ise programdaki...

Borland Kodlama Standartları

Bu doküman Delphi kod yazma standartlarını anlatmaktadır. Borland tarafından oluşturulan ve birçok Delphi programcısı tarafından benimsenen standartlar. Object Pascal çok güzel dizayn edilmiş bir dildir, bu standartların temel amacı da kodu daha okunabilir kılmaktır. Daha sonra yazdığınız bir koda baktığınız zaman kolayca okuyabilmelisiniz veya birlikte proje geliştirdiğiniz bir takım arkadaşınız kodlarınızı kolayca anlayabilmelidir.

Netbios (Windows Ağı) paylaşımlarını listelemek

Örnek programın ekran görüntüsü Dört yıl kadar önce üzerinde bazı değişiklikler yaptığım ağ paylaşımlarını listeleyen bir kod. Tüm işletim sistemlerinde düzgünce çalışıyor. Bunu özellikle söyledim çünkü bu kod 98 den XP ye geçişte oldukça zamanımı aldı, o zamanlarda delphi ile daha yeni çalışmaya başlamıştım. 98 den XP ye geçişte kodda bazı değişiklikller yapmak gerekti.

IE (Internet Explorer)’ın Giriş Sayfası Kilidini Açmak

Bilgisayarınıza bulaşan Malware tabir edilen ve bilgisayarınızı tabiri caizse bir "mal"a çeviren zararlılar, IE (Internet Explorer)'ın giriş sayfasına kendi adresini yazar ve burayı kilitler....

Yazarlar

657 İÇERİKLER53 YORUMLAR
6 İÇERİKLER0 YORUMLAR