Lazarus(Free Pascal)

Bugüne kadar birçok programlama dili uğraşmama rağmen, hâlâ en sevdiğim programlama dili Pascal. Windows işletim sistemiyle beraber Pascal'ı kullanabileceğiniz tek ücretsiz platform Turbo Delphi idi, daha doğrusu ben öyle sanıyormuşum.

Geçtiğimiz günlerde Free Pascal kullanılarak Delphi benzeri bir IDE alternatifi olarak geliştirilen Lazarus'un şurada Delphi 4 seviyesine eriştiğini okuyunca merak ettip Windows 10 yüklü bilgisayarıma Lazarus 1.4.4(FPC 2.6.4) 'ü 107 MB'lik setup programı yardımıyla kurdum.

Acemi bir programlama meraklısı olarak daha çok işleri otomatize eden programlar yazıyorum. Örneğin Excel'deki bilgilerin web sitesine girilmesini sağlamak gibi işler yapıyorum. Dolayısıyla Ken Henderson tarafından yazılan SendKeys alt programının Lazarus ile kullanılıp kullanılamayacağını merak ediyordum.

Öncelikle Lazarus'un beyaz arkaplanlı kod editörünü değiştirmek istedim. Bunun yapabilmek için şuradan öğrendiğim gibi Araçlar/Options/Editor/Display/Colors bölümünden Twilight'ı seçtim.

Daha sonra kodları yazmaya başladım. Ancak karşıma Türkçe karakterler ilgili şu sorun çıktı. Sendkeys ile Not Defterine gönderdiğim cümlenin Türkçe karakterlerinde Lazarus hata veriyordu. Araştırınca bunun Lazarus'un kullandığı FPC(Free Pascal Compiler) adlı derleyicinin sadece Ansi karakter setiyle çalışabilmesinden kaynaklandığını anladım. Bu sorunu UTF8ToAnsi fonksiyonu ile çözebileceğimi buldum.

procedure TForm1.Button1Click(Sender: TObject);
begin
  AppActivate(Pchar(UTF8ToAnsi('Adsız - Not Defteri')));
  sleep(3000);
  SendKeys(PChar(UTF8ToAnsi(Edit1.Text)), True);
  sleep(2000);
  SendKeys('{ENTER}', True);
end;  

UTF8ToAnsi ile hem üçüncü satırdaki AppAcitvate hem de beşinci satırdaki SendKeys'teki Türkçe karakter sorunu çözüldü.

Peki Windows'a özgü durumlarda mesela Clipboard kullanımında sorun olacak mıydı? uses ile Clipbrd unit'ini projeye dahil edince aşağıdaki kodu da rahatça kullanabildim.

procedure TForm1.Button3Click(Sender: TObject);
var
  pano: string;
begin
  if Clipboard.HasFormat(CF_TEXT) then pano:=Clipboard.AsText;
  showmessage(pano);
end;  

Yazdığım programı kaydettiğim klasöre gidince, programın exe boyutunun 14,5 MB olduğunu gördüm. Bunu azaltmanın yolu da şurada açıklanmış. Buraya da not almak gerekirse; Aralaçr'dan Configure External Tool'u seçip Ekle'yi tıklayıp, karşımıza gelen pencereyi şu şekilde dolduruyoruz.

Bu işlemi yaptıktan sonra Araçlar'dan Geçerli Exeyi kucult komutun verdiğimde, exe dosyasının boyutunun 1.85 MB'a düştüğünü gördüm.

Sonuç olarak yaptığım bu kısa denemede Lazarus'un lisans sorunlarıyla uğraşmadan Pascal diliyle geliştirme yapmakta rahatlıkla kullanılabileceğini gördüm.

24.01.2016 17:22:32


Etiketler: pascal

Yorumlar

Bu yazıya henüz yorum yapılmamış.

Yazı hakkında yorum yapmak için, buraya tıklayın.

Kategoriler :

Arşiv :

Etiketler :

Bağlantılar :