Welcome, Guest. Please login or register.
Did you miss your activation email?
09 September, 2010, 12:13:11 pm
Home | Help | Search | Login | Register

Lazarus and FreePascal

Nov 13 2009 Motor Kullanımı
written by alivardar | 1489 Views | Rating: (0 rates)
Dökümanlar
Motor

Motor, içinde CVS eklentisi, yazım ışıklandırma, ayıklayıcı (debugger), derleyici arayüzü barındıran bir programlama geliştirme arayüzüdür. Bir proje istenirse sıfırdan oluşturulabilir ve kolaylıkla geliştirme yapılabilir.
Bir kitaplık veya C, C++, Perl, Java uygulamaları için sıfırdan proje üretilebilmesine olanak veren hazır komutlara sahiptir. Ncurses kullanılarak yazılmıştır. Motora benzeyen konsol geliştirme araçlarına örnek olarak Rhide ve Setedit verilebilir. Motor'u bu uygulamalar arasında öne çıkaran sadelik ve konsol uyumluluğu olmaktadır. X altında uygulama geliştirmek düşünülmediği için X altında uygulama geliştirmek için uygun değildir.
Motor'u konst.org.ua/motor/ adresinden temin edilebilir. Diğer taraftan eğer bir debian kullanıcısıysanız aşağıdaki komut ile sistem üzerine kurulum gerçekleştirilebilir.

# apt-get install motor

Neden Motor?

Motor gibi konsol altında çalışan setedit ve rhide isimli iki güzel uygulama daha vardır. Bu uygulamalar tvision kitaplığını kullanırlar. Nesne tabanlı olan tvision kitaplığı ilk olarak borland firması tarafından yazılmıştır. Linux altında da açık kodlu olarak bu kitaplık üçüncü şahısar tarafından yazılmıştır. Bünyesinde buton, menu, scrollbar gibi bir çok görsel bileşeni barındırır. Turbo vision kütüphanesi de ncurses kullanırır. Dolayısıyla uygulama geliştirmede üçüncü katman görevini görmektedir. Motor tvision kitaplığını kullanmaz doğrudan ncurses kullanır.

Kullanım

Uygulama konsol altında motor komutu yazılarak çalıştırılır.

# motor

Eğer çalıştırma sırasında, proje adı parametre olarak verilmemiş ise karşımıza proje oluşturabileceğimiz yada daha önce oluşturduklarımızı açabileceğimiz bir ekran gelecektir.

creation mode: from scratch, from files from vcs
seçeneklerini içerir.

from scratch: Proje dosyaları ilk defa kullanılmak üzere oluşturulur. from files, varolan kdoları kullanır. vcs ise var olan bir sunucudan indirir.�Proje oluşturma ekranında, proje adı, bulunacağı dizinin sizden belirlenmesi istenecektir. Aynı zamanda istenirse kodların içine�GPL lisansını otomatik olarak ekleyebilir.
'Use GNU gettext for internationalization' seçeneği seçilirse uygulamanıza çoklu dil seçeneği eklenecektir. Ancak bu yeterli değildir.
Detaylı kullanım için Gettext ile kullanım bölümüne bakınız. Projeyi automake kullanarak geliştirmek için projeyi oluşturma ekranında automake seceneği
seçilmelidir. Template seçeneği içinden kitaplık geliştirme, c, c++, java veya perl uygulamları için gerekili hazırlıkları yapacaktır.
Projenin oluşturulması sonrası sıklıkla kullanılan kısa yol tuşları;

F10 : Ekranın üst kısmında tüm menü seçenekleri belirecektir.
F9 : Projeyi derler.
F11 : Proje içinde bulunan dosyalara erişim sağlanabilir.
F12 : Uygulama çalıştırılır.


Hata ayıklama işlemleri

Proje geliştirme aşamasında en sıkıcı işlemlerden biride hatanın yerinin tespit edilmesidir. GDB son derece kullanışlıdır ama bazı komutların önceden bilinmesi gerekir. Motor bizlere kullanışlı bir hata ayıklama arayüzü sunmaktadır. X11 uygulamalarını desteklemez sadece konsol uygulamaları için uygundur. Projenin çalıştırılmasında kodun istenilen yerinde durabilir ve değişkenler izlenebilir.
En basit kullanımı için F8 kullanılır. Uygulama çalışmaya başladığı ilk kod satırı üzerinde duracak ve bekleyecektir. F7 ile sonraki komut çalıştırılabilir. İmlecin olduğu yere kadar çalışmasını istersek F4 tuşuna basabiliriz. Ctrl-f12 tuşuna basarak hata ayıklama modundan çıkılmış olur. Kod içinde hata ayıklama yapmak amacıyla birden fazla yere uygulamanın çalışırken durması için Ctrl-B tuşu yardımı ile�kırılma noktaları(breakpoint) tanımlanabilir. Alt-B yardımı ile bu kırılma noktaları kaldırılır. Yazılan uygulama hata verdiğinde core dosyası üretebilir. Motor içinde Debug menüsü içinden 'Load core dump' seceneği tıklanarak core dosyası yüklenebilir. Hatalı olan yerde değişken durumları gözelenebilir ve hata veren kod bulunabilir. Motor sizin için hata veren yerde duracaktır.

Projeye kitaplık ekleme

Uygulama farklı yetenekler kazandırmak için dah aönceden yazılmış kitaplıkların kullanılması gerekecektir. Örnek olarak mysql bağlantısı içiçn ilgili C kitaplıklarına gihtiyacımız vardır. �Menü için Project-> Project Settings ekranında Make başlığı altında gerekli eklemeler yapılabilir.compiler options kısmına derleyici ile ilgili derleme parametreleri tanımlanabilir. libraries kısmına eklenecek olan kitaplık yazılabilir. Örnek olarak mysql için -lmysql yazılır.

Gettext Desteği

Geliştirilen projlerinizde çoklu dil desteğinin olmasını isterseniz. Bu işlemler motor ile son derce zahmetsizdir. Bunun için yeni bir proje oluşturulurken öncelikle "Use GNU gettext for internationalization" seçeneğinin "Yes" olması gerekmektedir. bu tek başına yeterli değildir en azından bir adet dil dosyasının eklenmiş olması gerekmektedir.Dil dosyasını eklemek için menüden "Project -> Files" seçilerek "Miscellaneous files" altına "po/tr.po" biçiminde Türkçe diline ait olan destek eklenir. Eklem sırasında po dizini mevcut değil oluşturmak istermisiniz sorusuna evet denilerek devam edilmesi gerekir. "Files" ekranından çıkıldığı anda proje tekrardan configure edilir. Proje dizini içine po dizini ve intl dizinlerini uygulama kendisi ekleyecektir. Bu aşamdan sonra projemizin derleme sırasında dil desteğini otomatik olarak düzenlemesi sağlanmış oldu. Ancak henüz her şey tamamlanmadı. Uygulamanın kodları içine de bir takım eklemeler yapmamız gerekmektedir. Menü içinden Projects->Make a dist package seçildiği takdirde projeye ait gerekli tüm dosyalar uyarlanacaktır. RPM veya tar.gz olarak kullanıma hazır hale getirilecektir. Bu aşamada projeye ait olan dosyaların gmo dosyalarının üretilmesi ve po dizini içine yerleştirilmesi gerekir aksi takdirde hata verecektir. Aynı zamanda po dizini içinde Makevars dosyasinin po dizini içinde oluşturulması gerekecektir. Bunun için po dizini içinde aşağıdaki satırı yazmak yeterli olacaktır.
# cp Makevars.template Makevars

Uygulama içinde kullanım aşağıdaki Örnek bir kullanımda main dosyasını aşağıdaki şekilde düzenlemesi gerekmektedir.


#include
#include
#include
#define _(c) gettext(c)
#define progname "deneme"
int main()
{
setlocale(LC_ALL, "");
bindtextdomain( progname, "/usr/share/locale");
textdomain(progname);
const char *name = _("deneme");
const char *author = _("ali vardar");
printf("+ program %s, (c) by %s\n", name, author);
return 0;
}

po ve POT dosyaları po dizini içinde kullanıma ve çevrimlere hazır şekilde bulunacaktır. Projenin dağıtım paketlerinin oluşturulması sırasında po dosyaları yenilenecektir. Menüden "Make dist package" komutu verildiği zaman gmo dosyalarınıda arayacaktır.


Digg this story! Del.icio.us Share on Facebook! Technorati Reddit StumbleUpon

Forum / Destek

Hakkımızda

GPL Applications

Stats

Members
Stats
  • Total Posts: 114
  • Total Topics: 39
  • Online Today: 7
  • Online Ever: 31
  • (15 March, 2010, 09:08:04 pm)
Users Online
Users: 0
Guests: 12
Total: 12
 
TinyPortal v1.0 beta 4 © Bloc


Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!