Tüm Platformlar için Hızlı Uygulama Geliştirme Kitap Yayın Süreci
Kitap gözden geçirilmek üzere BTG (Bilgi ve Teknoloji Grubu) 'na gönderildi. 05.10.2018-14:10
BTG (Bilgi ve Teknoloji Grubu) tarafından iki sayfalık bir reklam tasarımı bekleniyor. 08.10.2018 - 15:30
Kitap basım talebi değerlendirilmek üzere matbaaya bildirildi. Matbaadan basım süreci hakkında bilgi bekleniyor. 15.10.2018 - 15:34
Kitap 1.000 adet basım talebi ile matbaaya gönderildi. 16.10.2018 - 16:50

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4.5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Derleyici Direktifleri Hakkında,
#1
Exclamation 
Delphi'de kullanılan, Bu gibi  bu ve benzeri komutların tam listesi ve tam olarak ne işe yaradıklarını öğrenebilir miyim ?

 {$IFDEF DEBUG}

 {$ENDIF}
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#2
Merhaba,
Derleyici Direktifleri olarak nitelendirilmektedir. (Yeni Nesil Delphi Teknolojileri Kitabımda detaylı olarak anlattım)
Direktiflerin Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Şunu da belirteyim sorunuz amatörce değil. Bir çoğumuz bu tip direktiflerden bi haberiz.
Özellikle son yıllarda (2012'den sonra) daha çok önem kazanan Derleyici Direktifleri, Çoklu (Çapraz) Platformların vazgeçilmez unsuru haline geldi.

Çapraz platformlarda kullanım şekli;

{$IFDEF PLATFORM_ADI}
//Platforma özgü kodlar
{$ENDIF}


Örnek 1

{$IFDEF ANDROID}
 // İşletim Sistemi Android ise
{$ENDIF}

Örnek 2

{$IF Defined(IOS) and Defined(CPUARM)}
 //  iOS Cihaz ise
{$ENDIF}
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
Peki abi örneklerle bir açıklayabilir misin nasıl kullanırız.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#4
(19-08-2016, Saat: 13:31)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlPeki abi örneklerle bir açıklayabilir misin nasıl kullanırız.

Merhaba , 
Derleyici direktifleri tarafında çok geniş bir yelpaze var ancak sen IFDEF i sorduğun için onun üzerinden gidelim,
Çalışma mantığı olarak adından da anlaşılacağı gibi derleyici direktifleri kodumuzun derlenmesi esnasında derleyicinin nasıl davranacağını belirlemek için kullanılır.


{$IfDef}
//çalışacak kodlarınız
{$EndIf}

IFDEF , belirttiğiniz bir direktif tanımlıysa , IFNDEF ise belirttiğiniz direktif tanımlı değilse drumlarını kontrol etmek için kullanılır.
Örneğin kaynak kodumuzda sadece test ederken çalışmasını istediğimiz kodları IFDEF ya da IFNDEF direktifiyle derlemeye dahil eder yada etmeye biliriz.


{$ Define TEST-MODU}
procedure IslemYap ;
var
 a , b , c ,sonuc : Integer;

begin
  a:= 5 ;
  b:= 10 ; 
  c := 15;
 sonuc:= 0; 

sonuc := a + b ;
{$IfDef TEST-MODU}
ShowMessage(IntToStr( Sonuc ));  
{$EndIf}
sonuc := sonuc * c ;
ShowMessage(IntToStr( Sonuc ));  

end;


Yukarıda ki kodda prosedüre gelmeden önce $Define ile TEST-MODU adında bir direktif tanımladım, kodun içindeki IfDef TEST-MODU ve EndIf arasındaki kod bu durumda derlemeye dahil edilecek tir, eğer $Define TEST-MODU sahasını kaldırısam  ilgili bölüm derelyici tarafından sanki hiç yazmamışım gibi dikkate alınmayacak ve derlenmeyecektir.

Bu direktifleri örnekte olduğu gibi kendin tanımlayabilirken kullnadığın delphi sürümünün desteğine göre hem derleyici versiyonunu hemde derleme yaptığın işletim sistemini veren sabit direktiflerin listesine Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol buradan ulaşabilirsin.  ayrıca IF direktifinin çok detaylı kullanımını örneklerle açıklayan şu yere de bir göz at özellikle IF direktifi içinde koda yazdığını CONST  larıda kullanabiliyor oluşu kısmına dikkat et. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

İyi çalışmalar.
Cevapla
#5
Teşekkürler Volkan Bey,
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#6
(18-08-2016, Saat: 09:36)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,
Derleyici Direktifleri olarak nitelendirilmektedir. (Yeni Nesil Delphi Teknolojileri Kitabımda detaylı olarak anlattım)
Direktiflerin Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Şunu da belirteyim sorunuz amatörce değil. Bir çoğumuz bu tip direktiflerden bi haberiz.
Özellikle son yıllarda (2012'den sonra) daha çok önem kazanan Derleyici Direktifleri, Çoklu (Çapraz) Platformların vazgeçilmez unsuru haline geldi.

Çapraz platformlarda kullanım şekli;

{$IFDEF PLATFORM_ADI}
//Platforma özgü kodlar
{$ENDIF}


Örnek 1

{$IFDEF ANDROID}
 // İşletim Sistemi Android ise
{$ENDIF}

Örnek 2

{$IF Defined(IOS) and Defined(CPUARM)}
 //  iOS Cihaz ise
{$ENDIF}

Selam Hocam,Hayırlı bayaramlar.Ben bu kitabı tedarik edemedim(Yeni Nesil Delphi Teknolojileri Kitabı).
Cevapla
#7
(21-08-2018, Saat: 22:22)radyoselim Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSelam Hocam,Hayırlı bayaramlar.Ben bu kitabı tedarik edemedim(Yeni Nesil Delphi Teknolojileri Kitabı).

Aleyküm Selam,
Sizin ve tüm DelphiCan'ların Kurban Bayramı mübarek olsun.
Formda bu konuda birçok başlık açıldı. Son gelişmeleri Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol bölümünden takip edebilirsiniz.
Kitabımız henüz yayınlanmadı.
Yayın tarihi önümüzdeki hafta inşallah belli olacak.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#8
Arayüzde derleyici konfigürasyonunda da kendi ifadeni tanımlayabilirsin.

Build Configurations içindeki RELEASE, DEBUG ile de açılabilen Project Options ekranında en üstte Conditional Defines var.

Oraya ";" ile ayırarak istediğin kadar yazabilirsin. Ben genelde RELEASE veya DEBUG altında yeni bir konfigürasyon oluşturmayı tercih ediyorum.

Böylece sadece fareyi çift tıklayarak tüm projede "$IFDEF TESTMODU" kullanabiliyorsun.

Yıllar önce Visual C ile uğraşırken 'aynısı neden delfide de olmasın ki' diye düşünüp şans eseri farketmiştim.
WWW
Cevapla
#9
Ben Lazarus da ( ki delphi'de kesin vardır) aynı programın lite ve pro sürümünü yazıyorum derlerken lite dersem bazı menüler gözükmüyor pro dersem gözüküyor. Aynı işlemi test aşamasında yazdığım programlarda da yapıyorum test derlemelerinde local server'a bağlanıyor nihayi derlemede uzak server'a bağlanır şekilde derliyor.
Topluluk mopluluk yok :/
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  JSON Bilgi Talebi, RAD 10 Seattle Yeni JSON Özellikleri Hakkında eroniko 4 125 13-10-2018, Saat: 21:59
Son Yorum: eroniko
  ClassType hakkında adelphiforumz 1 88 11-10-2018, Saat: 22:27
Son Yorum: sabanakman
  Inherited Formlar Hakkında Bilgi Talebi adelphiforumz 5 150 11-10-2018, Saat: 10:28
Son Yorum: adelphiforumz
  Firedac bileşenleri hakkında canbir 2 365 06-10-2018, Saat: 02:06
Son Yorum: Lord_Ares
Shocked Çoklu Dil Desteği Hakkında SercanTEK 10 353 28-08-2018, Saat: 13:24
Son Yorum: uparlayan



Konuyu Okuyanlar: 1 Ziyaretçi