İlk Proje

Parent Previous Next

Lazarusu ilk çalıştırdığımızda ilk formumuz otomatik olarak ekrana gelecektir. Bu form üzerine istenilen nesneler yerleştirmek sureti ile veya herhangi bir nesne eklemeden de kodlamamızı yapabiliriz.

İlk uygulamamızın inşasına başlayalım:


Uygulamamızın amacı oluşturulan pencere üzerindeki bir düğmeye mouse tıklandığında ekranın ortasında "Merhaba Dünya" yazan bir pencere getirmek olsun.


Bunun için form üzerine öncelikle bir düğme eklememiz gerekli IDE uygulamaların amacı hızlı kodlamanın yapılmasını sağlmak olduğu için bu işlemi rahatlıkla yapabiliriz. IDE ekranın hatırlarsak ekranın orta kısmında formumuz üst kısımda ise kullanacağımız bileşkelerimiz (component) bulunmaktadır.



Bu bileşkelere yakından bakarsak:



Standart, Additional, Common Controls vs gibi tablara ayrılmış şekilde bulunmaktadır. Şimdi standard tabındaki 3ncü nesne olan düğmeyi tıklayın.



Artık düğmeyi seçmiş olduk sıra formun üzerinde müsait bir alanda tekrar mouse ile tıklamak olacaktır.



IDE bizim için form üzerinde bir düğme buton inşa eder...


Tamam peki sırada ne var? Her nesne bazı özelliklere sahiptir ve geliştirici bu özelliklerin yayınlanmış olanlarını değiştirebilir veya kullanabilir. Bu özellikleri Object Inspector ( Nesne Müfettişi ) penceresinden gözlemleyebilir ve değiştirebiliriz.



Dikkat edilirse en üst kısımda Form1:TForm1 hemen altında ise Button1:TButton tanımı vardır.

Lazarus temel olarak Delphi Object Pascal çalışma prensibi ile çalışır ve her kullanılan bileşke bir nesnedir. Her nesne ise bir ataya sahiptir bu en temelde TObject olarak adlandırılır. TObject ise bir sınıftır (class) ancak şu anda bu kısımları çok fazla irdelemeyeceğiz...


Bunu şöyle düşünmek daha faydalı olabilir; etrafımızda gördüğümüz her maddeyi bir bir nesne olarak tanımlarız. Her nesne ise bazı özelliklere sahiptir renk , ağırlık , ebat , konum gibi ancak her nesne temelde daha küçük parçalardan oluşur en temel parça şimdilik atom ve altı olarak tanımlandığına göre class tanımını veya tobject tanımını Lazarus içerisindeki nesnelerin en temel noktası olarak açıklayabiliriz.


Bunu form tasarımı için düşündüğümüzde ise TForm temel noktamız olmaktadır her nesne form içerisinde bir çalışan alt programdır.


Çok fazla detaya girmeden form üzerindeki butonun bazı özelliklerini değiştirelim;


Bu işlem için mouse ile tıklanıp seçilen butonun object inspector penceresindeki Caption (başlık) kısmına "Örnek Düğme" yazalım ve Enter ile onaylalım.




Bu işlemden sonra form üzerindeki düğmenin etiketi değişmiş olacaktır. Tabi bu adımla hazırladığımız yazılım bitmiş olmuyor.

Bunun için artık düğmenin Events (olaylar) kısmında yeni bir işlem yapacağız.


------->


Bu kısımdaki OnClick olayına çift tıkladığımızda veya "..." düğmesi tıklandığında yeni bir olay için code kısmında otomatik olarak yeni procedure oluşacaktır.




Source editor Lazarus Free Pascal ın kodlamalarının yapıldığı kısımdır. Bu kısımda Pascal yazım diline uygun yazdığımız sürece editor bazı komutları renkli olarak ifade edecektir.


Şimdi ise biraz bu pencerenin detaylarını inceleyelim:


unit Unit1;


{$mode objfpc}{$H+}


interface


uses

 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;


type


 { TForm1 }


 TForm1 = class(TForm)

   Button1: TButton;

   procedure Button1Click(Sender: TObject);

 private

   { private declarations }

 public

   { public declarations }

 end;


var

 Form1: TForm1;


implementation


{$R *.lfm}


{ TForm1 }


procedure TForm1.Button1Click(Sender: TObject);

begin


end;


end.

                                     


Bu sayfada bir çok terim bulunmaktadır bunlar unit,mode,interface,uses type,class, var, implementation,procedure,begin,end; ve end.


Her yazılım geliştirme dilinde buna benzer bazı tanımları göreceksiniz dildeki kodlamaları inceleyelim:


C Dili için:

#include <stdio>

void main(void)

{

 printf("Merhaba Dünya");

}


Basic Dili için:

10 CLS

20 PRINT "MERHABA DUNYA"

30 REM Program sonu...



Java Dili için:

class HelloWorldApp {

   public static void main(String[] args) {

       System.out.println("Hello World!"); // Display the string.

   }

}



Dikkat edilirse her dilin kendine ait bazı tanımları var ve yazım üslubu bulunuyor bu üsluba çok dikkat etmemiz gerekiyor ki derleyeci bizim ne demek istediğimiz anlasın.


Bu yazım üslubunu inceleyeceğiz Lazarusa ait terimler asla kendimize ait bir değişken veya function/procedure adı olamaz.

Bunlara reserved words denir ve Lazarus kullanıcı klavuzundan detaylı şekilde öğrenilebilir. Düz bir liste verilecek olursa:


http://wiki.freepascal.org/Identifiers adresinden alıntı:


  1. Turbo Pascal reserved words
  2. Delphi reserved words
  3. FPC reserved words


Turbo Pascal dilinden gelenler


absolute         and         array         asm         begin         break         case         const

constructor        continue         destructor         div         do         downto        else         end

file         for         function         goto         if        implementation        in        inherited

inline         interface         label         mod         nil         not         object         of

on         operator         or         packed         procedure         program         record         reintroduce

repeat         self         set         shl         shr         string         then         to

type         unit         until         uses         var         while         with         xor


Delphi dilinden gelenler


as         class         except         exports         finalization         finally         initialization

is         library         on         property         raise         threadvar         try


Free Pascal dilinin kullandıkları


dispose         exit         false         new         true

abs        arctan        boolean        char        cos        dispose        eof        eoln

exp        false        input        integer        ln        maxint        new        odd

ord        output        pack        page        pred        read        readln        real

reset        rewrite        round        sin        sqr        sqrt        succ        text

true        trunc        write        writeln



Bir Pascal sözdizimi kısaca şöyle ifade edilir:


PROGRAM ProgramName (OrnekProje);

CONST

 (* Sabit tanımlar *)

TYPE

 (* Tip tanımları *)

VAR

 (* Değişkenler *)

(* Alt program tanımları *)

BEGIN

 (* Program kodlarının olduğu alan *)

END.


Bir Pascal programında tanımlar İngilizce olmak üzere büyük küçük ayrımı yapılmaz:


ProceDure mY_ProGrAm;

beGIN

enD.

şeklinde de bir tanımlama yapılabilir.


Şimdilik yaptığımız koda geri dönelim ve


procedure TForm1.Button1Click(Sender: TObject);

begin


end;


satırında şu değişikliği gerçekleştirelim:


procedure TForm1.Button1Click(Sender: TObject);

begin

 ShowMessage('Merhaba Dünya');

end;



Lazarusun Source Editor kısmında yazmak istediğiniz bir kodun belli bir kısmını yazdıktan sonr CTRL ve Boşluk tuşlarına bastığınızda size olabilir komutların listesini ve kısa kullanım örneğini sunacaktır:




ShowMessage komutunun sonucunu çalıştırmak için projemizi CTRL ve F9 tuşları çalıştırabiliriz veya IDE ye ana penceredeki yeşil üçgen düğme ile çalıştırabilirsiniz.




Herhangi bir hata çıkmadı ise program çalışacak ve bir pencere karşımıza gelecektir, bu penceredeki "Örnek Düğme" başlıklı düğme tıklandığında ShowMessage komutu işleme tabi tutulur:





İlk programımızı yazdık ve bunu artık saklayalım, Lazarus ana pencerede iken Save All ile bütün projeyi saklayabiliriz.





Projemizin adını belirleyelim:




Forma dair olan dosyaların adını belirleyelim:










Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle