Arşiv

‘Delphi’ kategorisi için arşiv

Delphi Distiller v1.73 yayınlandı

5ckdpyq5h9ifxcwtyk6Delphi Distiller liteapplications tarafından yayınlanan, Delphi için ince ayar programı. Bu program ile Delphi 5/6/7/2006/2007/2009/2010 da paket yönetimi ve güncelleme kontrolü, açılış ekranının görüntülenmemesi gibi ayarları yapabilirsiniz. Program kullandığınız delphi sürümlerini otomatik olarak algılıyor ve gerekli ayarları aktif hale getiriyor. Bu nedenle hata yapmanız pek mümkün değil. Packages and Experts Manager bölümünden istediğin paketi devre dışı bırakabilirsiniz. Tweaks bölümde geçici dosyaların oluşturulup oluşturulmaması gibi ufak ayarlar mevcut.

CTRL+ALT+L tuş kombinasyonunu kullandığınızda karşınıza ufak bir süpriz çıkacak :) . Denemesi size kalsın.
Devamını oku…

Delphi Distiller v1.69 yayınlandı

5ckdpyq5h9ifxcwtyk6Delphi Distiller liteapplications tarafından yayınlanan, Delphi için ince ayar programı. Bu program ile Delphi 5/6/7/2006/2007/2009/2010 da paket yönetimi ve güncelleme kontrolü, açılış ekranının görüntülenmemesi gibi ayarları yapabilirsiniz. Program kullandığınız delphi sürümlerini otomatik olarak algılıyor ve gerekli ayarları aktif hale getiriyor. Bu nedenle hata yapmanız pek mümkün değil. Packages and Experts Manager bölümünden istediğin paketi devre dışı bırakabilirsiniz. Tweaks bölümde geçici dosyaların oluşturulup oluşturulmaması gibi ufak ayarlar mevcut.

CTRL+ALT+L tuş kombinasyonunu kullandığınızda karşınıza ufak bir süpriz çıkacak :) . Denemesi size kalsın.

Programı buradan indirebilirsiniz.

Yeni sürümle;

  • Delphi 2009 Update 3 v12.0.3420.21218 desteği geldi.
  • Açılışta delphinin güncellemeleri kontrol etmesini durduran bölüm ise kaldırıldı.

Delphi 2009 Update 3 ve Update 4

Delphi 2009 update 3 ve update 4 yayınlandı.

Update 3 bug fix list.

Update 4 bug fix list.

Güncellemeleri programınızın Update bölümünden veya buradan indirebilirsiniz..

Kategoriler:Delphi, Programlama Etiketler:,

Delphi – Java Fibonacci Dizisi

Leonardo Fibonacci, (Pisalı Leonardo, Leonardo Pisano d. 1170, ö. 1250), yaygın olarak ismiyle Fibonacci diye anılan, orta çağın en yetenekli matematikçisi olarak kabul edilen İtalyan matematikçi.

Fibonacci modern çağda en fazla Hint-Arap Sayılarını Avrupa’ya getirmesiyle ve 13. yüzyıl başlarında yayınlanan Liber Abaci isimli hesaplama yöntemleri kitabıyla tanınır. Liber Abaci’de bir örnek olarak yer alan modern sayılarla hesaplanmış kendi adıyla anılan sayı dizisi Fibonacci Dizisi olarak anılmaktadır. Sadece Fibonacci dizisi ve özellikleri ile ilgili kitaplar hatta haftalık düzenli yayınlanan matematik dergileri bile bulunmaktadır.

Liber Abaci‘de (1202) Fibonacci, modus indium (Hintlilerin Yöntemi) adını verdiği ve günümüzde Arap-Hint sayıları diye bilinen modern ondalık sayı sistemini tanıtır. Bu kitap gündelik hayatta ticari defter tutma, ölçü birimlerini çevirme, faiz hesaplama, para bozma ve değiştirme ve benzeri işlemlerde önemini göstermiştir. Kitap Avrupa’da tahsilli insanlar arasında hızlı bir şekilde yayılmış ve Avrupa’nın müspet bilimde ilerlemesine önemli etkileri olmuştur.

Liber Abaci’de ayrıca kapalı bir ortamdaki bir tavşan ailesinin artışını, her tavşan çiftinin bir ay sonra bir yavru yapıp onun da 1 ay sonra 1 yavru yapacağı gibi ideal varsayımlar altında hesplanmasını gösterir. Bu problemin çözümünde tavşan çiftlerinin sayısının artışını gösteren sayı dizisi Fibonacci sayıları, diziye de Fibonacci dizisi denir. Bu sayı dizisi 6. yüzyıldan beridir Hintli matematikçiler tarafından bilinmekteydi ancak Avrupa’ya ilk olarak Fibonacci tarafından tanıtılmıştır.1

Fibonacci dizisi daha önce 6. yüzyılda Hintli matematikçiler tarafından bulunmuş olan bu sayı dizisi Liber Abaci kitabında tavşanların üremesiyle ilgili problemin hesaplanması sonucu Fibonacci tarafından 1202 yılında ortaya konmuştu. Dizinin ilk sayı değeri 0, ikincisi 1 ve her ardışık elemanı da önceki iki elemanın sayı değerinin toplamı alınarak bulunur ve bu halde 0, 1, 1(1+0), 2(1+1), 3(2+1), 5(3+2), 8(5+3), 13(8+5),… şeklinde artar.

0cebc512d9a3ac497eda6f10203f792e

Altın oran fibonacci dizisinde bir sonraki sayının bir önceki sayıya bölünmesiyle  bulunur. Dizi ilerledikçe altın orana yaklaşılır. Altın oran matematikte altın simge ile temsil edilir.

fibonaccialtın oran
Tabiattaki canlılarda uzuvların oranı altın oran adı verilen 1.618… sayısına uygunluk gösterir. Antik mimari eserler ve bazı modern mimari eserler bu orana uygun tasarlanırlar. Altın orana uygun ölçülerdeki nesnelerin ve canlıların daha estetik olduğu ve güzel göründüğü savunulur.

Fibonacci ve altın oran hakkında bilgi verdikten sonra programlara geçelim.

Delphi

Programda sıradaki sayıyı bulmak için kendinden bir önceki ve iki önceki sayıları topluyoruz. Koda dökersek

liste[i]:=liste[i-1]+liste[i-2];

şeklinde olduğundan for döngüsü 2 den başlıyor ve ilk iki elemanı 0 ve 1 olarak kendimiz belirliyoruz.

function TForm1.fibo(n:integer):Boolean;
var
i:Integer;
begin
liste[0]:=0;
liste[1]:=1;
  for I := 2 to n do
    begin
      liste[i]:=liste[i-1]+liste[i-2];
    end;
end;

Daha sonra oluşturduğumuz liste dizisini listbox içine yazdırıyoruz.

procedure TForm1.Button1Click(Sender: TObject);
var
i,n:Integer;
begin
n:=StrToInt(edit1.Text);
SetLength(liste,n);
fibo(n);
for i := 0 to High(liste) do
  begin
    ListBox1.Items.Add(IntToStr(liste[i]));
  end;
end;

resim0005

Programın kaynak kodlarını buradan indirebilirsiniz.

Java

Javada kullanılan mantık da aynısı. Zaten teorem aynı :) . Programın tam kodları aşağıda.

package ogr;
 
import java.util.Scanner;
 
public class fibo {
 
	/**
	 * @param args
	 */
 
	public static void main(String[] args) {
		Scanner k=new Scanner(System.in);
		System.out.print("n=");
		int n=k.nextInt();
		int liste[]=new int[n];
		liste[0]=0;
		liste[1]=1;
		for (int i=2;i<n -1;i++)
		{
			liste[i]=liste[i-2]+liste[i-1];
		}
		for (int i=0;i<n-1;i++)
		{
			System.out.print(liste[i]+"\n");
		}
	}
 
}

Fibonacci ile ilgili araştırma yaparken ilginç konularla karşılaştım. Özellikle altın oran ve ağaç yapraklarının fibonacci düzeninde dizilimi çok ilginç. Bir ara fırsatım olursa onlarıda anlatırım.

Kaynaklar

Delphi Regex: TPerlRegEx

Daha önce Delphinin dahili regex kütüphanesi olmadığını harici komponent veya kütüphaneler kullanmak zorunda olduğumuzdan bahsetmiştim. TPerlRegEx kütüphanesini kullanarak ufak bir regex uygulama örneği yaptım.

Güncelleme: 16.05.2009Anlatım eklendi.

Saat geç oldu şimdilik resimle idare edin. Yarın detaylı olarak anlatacağım programı.

TPerlRegEx

TPerlRegEx kütüphanesini buradan indirebilirsiniz.

Sabah oldu vardiyayı devraldık :) . Yukarıdan kütüphaneyi indirdiyseniz kuruluma geçelim.
Öncelikle Devamını oku…

Kategoriler:Delphi, Programlama Etiketler:, ,

Firebird Maestro Delphi 2009 ile Firebird master detail veritabanı oluşturma

12345

Delphi 2009 ve Firebird Maestro ile master detail veritabanının nasıl oluşturulacağını anlatan ufak bir video hazırladım. Aslında resimleride eklemek istiyordum ama şu aralar pek vaktim yok. Boş bir zamanımda onlarıda eklerim inşallah.

Videodaki programın kaynak kodlarını buradan indirebilirsiniz. Programı çalıştırmak için ibdatabase1 bileşenin databasename (5.resim) kısmını kendinize göre düzenleyiniz.

Video anlatımı buradan izleyebilir veya buradan indirebilirsiniz. (36.6mb MP4)

Delphi ile regex

Daha önce regex (Regular expressions) ve regexin PHP ile kullanılışı ile ilgili bir kaç örnek vermiştim. Sıra en sevdiğim programlama dillerinden biri olan delphiye geldi. Delphi 2009 sürümüne gelmesine rağmen halen regex desteği vermiyor. Regex desteğini ancak üçüncü parti kütüphaneler ile sağlıyabiliyoruz. Delphi ile regex kullanmak isterseniz aşağıdaki VLC kütüphanelerinden birini tercih edebilirsiniz.

  1. TPerRegEx
  2. TPerlRegEx Delphi kodları, PCRE C kodları, PCRE OBJ dosyaları ve DLL leri içeren kütüphaneyi OBJ dosyalarını linkleyerek veya DLL import ile kullanabilirsiniz. Kütüphane regex bul, bul-değiştir, regex parçalama desteği ile geliyor.

  3. TRegExpr
  4. Tam kaynak kodlu delphi regex kütüphanesi.

  5. DIRegEx
  6. DIRegEx çeşitli delphi bileşenlerinden oluşan geniş bir kütüphane. Pattern olarak bir kaç değişiklik dışında Perl 5.10 regex patternini kullanıyor. Ayrıca kütüphanede UTF-8 desteğide mevcut.

  7. Regex Library
  8. 25$ ücret ile satılan 30 gün deneme süreli regex kütüphanesi.

http://delphi.about.com/od/toppicks/tp/delphi-regular-expressions.htm

Kategoriler:Delphi Etiketler:, , ,

delphi application.messagebox

Delphi uyarı pencereleri, bilgi girişleri ve onay durumlarını görüntülemenin bir kaç yolu var. Bunlardan biriside application.messagebox . Bu kontrol ile iptal, tekrar dene, evet, hayır… gibi buton(düğme,tuş?)lar ve çeşitli simgelerden oluşan uyarı mesajları verebiliriz. Kullanıcıdan gelen cevaplar doğrultusunda programa yön verebiliriz.

application.messagebox fonksiyonu:

function MessageBox(const Text: PChar; const Caption: PChar; Flags: Longint = MB_OK): Integer;
//MessageBox("metin","Başlık",buton+icon);

Buton parametreleri:

  • MB_ABORTRETRYIGNORE 3 buton durdur,tekrar dene,yoksay.
  • MB_OK 1 buton tamam.
  • MB_OKCANCEL 2 buton tamam,iptal
  • MB_RETRYCANCEL 2 buton tekrar dene, iptal.
  • MB_YESNO 2 buton evet,hayır.
  • MB_YESNOCANCEL 3 buton evet, hayır, iptal

Simge parametreleri:

  • MB_ICONASTERISK Bilgi (i) simgesi.
  • MB_ICONEXCLAMATION Uyarı (!) simgesi.
  • MB_ICONINFORMATION Bilgi (i) simgesi.
  • MB_ICONQUESTION Soru (?) simgesi.
  • MB_ICONSTOP Hata (X) simgesi.

Kullanıcı seçimi sonucu dönen değerler:

  • IDOK 1 Tamam.
  • IDCANCEL 2 İptal.
  • IDABORT 3 Durdur.
  • IDRETRY 4 Tekrar dene.
  • IDIGNORE 5 Yoksay.
  • IDYES 6 Evet.
  • IDNO 7 Hayır.

Bir kaç örnek:

Application.MessageBox('MB_ABORTRETRYIGNORE+MB_ICONASTERISK','başlık',MB_ABORTRETRYIGNORE+MB_ICONASTERISK);
Application.MessageBox('MB_OK+MB_ICONEXCLAMATION','başlık',MB_OK+MB_ICONEXCLAMATION);
Application.MessageBox('MB_OKCANCEL+MB_ICONSTOP','başlık',MB_OKCANCEL+MB_ICONSTOP);
Application.MessageBox('MB_RETRYCANCEL+MB_ICONINFORMATION','başlık',MB_RETRYCANCEL+MB_ICONINFORMATION);
Application.MessageBox('MB_YESNO+MB_ICONQUESTION','başlık',MB_YESNO+MB_ICONQUESTION);
Application.MessageBox('MB_YESNOCANCEL+MB_ICONSTOP','başlık',MB_YESNOCANCEL+MB_ICONSTOP);

mbyesnocancelmbyesnombretycancelmbokcancelmbokabortrety

procedure TForm1.Button1Click(Sender: TObject);
begin // yes tuşunun kodu 6 kontrol ediliyor
if Application.MessageBox('MB_YESNOCANCEL+MB_ICONSTOP','başlık',MB_YESNOCANCEL+MB_ICONSTOP)=6 then
  ShowMessage('YES (Evet) tıklandı');
end;

Kaynak:
Delphi 2009 Offical help