Kategori arşivi: Tümü

Delphi’de Linked List ve TList kullanımı

Linked List (Bağlı Liste) çeşitli bilgi veya nesneleri hafızada bir arada tutmak ve onlara ulaşmak için kullanılan etkili eski yöntemlerden bir tanesidir. Her programlama dilinde kullanılabilir. Mantığı bir bilgi tipi veya nesne içerisine en az bir Pointer konulması, bir sonraki bilgi tipinin veya nesnenin hafıza adresinin bu pointerde saklanması ve ona bu pointerden ulaşılmasıdır.

Linked list’in çeşitli tipleri vardır. Sıralı olabileceği gibi ağaç şeklinde veya başka şekillerde de olabilirler. Tek yönlü olabileceği gibi birden fazla pointer kullanılarak hareket yönü artırılabilir.

Aşağıda 1 sayı (Integer) saklamak için yapılmış tek yönlü bir Linked List’in hafızada temsili yerleşimi görülmektedir. (Pointer (Hafıza Adresleri) 32 bit işletim sisteminde 4 bayt, 64 bit işletim siteminde 8 bayt yer kaplamaktadır)

Tek yönlü Linked List

Günümüzde programlama dillerinde Linked List’in yerine kullanılabilecek gelişmiş ve kolay komut ve yöntemler bulunmaktadır. Okumaya devam et

Reklamlar

Dünya programcılar günü

Tüm programcıların 13 eylül (Yılın 256. günü) Dünya Programcılar Günü kutlu olsun :)))

Daha nice kodlara…

#ProgrammersDay

Program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

begin
  Writeln('Hello World!');
  Readln;
end.

Delphi’de klavye işlemleri

Delphi’de klavye işlemleri için OnKeyPress, OnKeyDown ve OnKeyUp olayları kullanılır. OnKeyPress ve OnKeyDown tuşa basıldığında, OnKeyUp olayı ise tuş bırakıldığında oluşur. Tüm
bu olayların ortak Key parametresi vardır.

Örneğin Ctrl + B tuşlarına beraber basıldığında olayların oluş sırası şu şekildedir :

OnKeyDown (Ctrl) // ssCtrl
OnKeyDown (Ctrl+B) // ssCtrl + ‘B’
OnKeyPress (B)
OnKeyUp (Ctrl+B) Okumaya devam et

Delphi’de yeni bileşen oluşturma

Nesneye yönelik programlama dilleriyle yazılım geliştiren programcıların çoğu kullandıkları dille birlikte gelen hazır bileşenleri kullanmaya alışıktırlar. Bazen mevcut bileşenlerin yetersiz kalacağı durumlarda söz konusudur. Bu durumda yeni bir bileşen oluşturmak gerekir.

Yeni bir bileşen oluşturmak Delphi’de çok kolaydır. Yeni bir bileşen oluşturmakla Delphi’nin VCL (Visual Component Library) kütüphanesi genişletilmiş olur. Oluşturulan yeni bileşen artık yeni her uygulamada kullanılabilir.

Delphi Bileşen Paketleri

Çalışma zamanı (Run Time) bileşen paketleri : Delphi uygulamaları tarafından çalışma anında kullanılırlar, geliştirme ortamına (IDE) direkt yüklenmezler. Derlenmiş halde bulunduklarından uygulamayla birlikte serbestce dağıtılabilirler.

Tasarım anı bileşen paketleri : Delphi ortamına yüklenebilirler, genellikle bileşen özellik editörleri ve kaydetme kodu gibi işlemlerin tasarım anı kısımlarını içermektedirler. Geliştirme ortamına (IDE) yüklenebilirler. Okumaya devam et

Excel’e giriş ve orta seviye formüller

Excel’e Giriş

Excel, Microsoft Office paketi içinde bulunan Tablolama ve hesaplama programıdır. Excel, hücrelerden oluşur. Sütunlar A, B, C… gibi harflerden oluşurken; Satırlar 1, 2, 3… gibi sayılardan oluşur. Her hücrenin bir adresi vardır. Örneğin B sütunu ile 7 satırının kesiştiği hücre B7 hücresidir. Hücrelere sayı, metin, tarih-saat veya formül girilebilir. Değer veya Formül hücre adresinin yanındaki Fx butonunun boşluğuna veya hücrenin kendisine girilir.

Excel'de değer ve formül Okumaya devam et

Delphi’de matematiksel işlemler

Bazı matematik fonksiyonları kullanabilmek için Uses kısmına Math kütüphanesinin eklenmesi gerekmektedir.

MATEMATİK SABİTLERİ

PI sabiti (fonksiyonu) : Pi π sabit sayısını döndüren fonksiyondur. Sonuç Reel sayıdır.

Var  Sonuc : Extended;
 
Begin
 Sonuc := PI; // Sonuc = 3.14159265358979
End;

E sabiti (Exp Fonksiyonu) : Delphide e sabit sayısını (22/7) döndüren fonksiyon yoktur. Exp fonksiyonu e sayısının girilen parametre kadar üssünü döndürür. Exp fonksiyonu 1 parametresi ile cağrılarak e sabit sayısı elde edilebilir. Sonuç Reel sayıdır.

Var  Sayi, Sonuc : Extended;

Begin
 Sonuc := Exp(1); // Sonuc = e = 2,71828182845905
 
 Sayi := 5;
 Sonuc := Exp(Sayi); 
 // Sonuc = e üssü 5 = 148,413159102577
End;

MATEMATİK TEMEL FONKSİYONLAR

Abs : Parametre olarak girilen sayının pozitif değerini hesaplamak için kullanılır. Sonuç Reel sayıdır.

Var Sayi, Sonuc : Extended;

Begin
 Sayi := 195.3;
 Sonuc := Abs(Sayi); // Sonuc = 195,3
 
 Sayi := -195.3;
 Sonuc := Abs(Sayi); // Sonuc = 195,3 
End;

Okumaya devam et

Thread (Kanal) nedir? Delphi’de Thread kullanımı örnekleri

Thread uygulaması thread çalışırken

29.10.2017 tarihinde Bir Thread’in Diğer Thread’i Beklemesi konusu ve yeni bir örnek eklenmiştir. 26.11.2017 tarihinde konu ve örnek değiştirilmiştir.

14.10.2017 tarihinde Thread’de PostMessage kullanımı konusu ve yeni bir örnek eklenmiştir

Örnek kod 29.09.2017 tarihinde değiştirilmiştir. Eski kodlar karşılaştırma yapılabilmesi için silinmemiş; yorum haline getirilip ** karakterleri de eklenerek saklanmıştır

Windows’da her bir uygulama çalıştırıldığında artık windows için birer işlem (process) olur. Bir işlem Windows için fazla bir şey ifade etmez. Çünkü işlemler sadece hafızada belli bir bölgede var olmaktan sorumludur. Esas işlemi yapan kısım kanallardır (thread). Her işlem en az bir adet kanala sahiptir. Win 3.1 gibi işletim sistemleri sadece bir adet kanala sahiptir. Windows 95 ve üstü, Unix, OSX gibi işletim sistemleri birden fazla kanala sahiptirler. Okumaya devam et