Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

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

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Star ıdHTTP Post hakkında? [Çözüldü] Cyber 1 84 06-02-2018, Saat: 13:36
Son Yorum: Cyber
  WSDL Import Tanımlaması hakkında adelphiforumz 10 254 26-01-2018, Saat: 12:01
Son Yorum: Fesih ARSLAN
  Delphi Eval Hakkında narkotik 8 183 26-01-2018, Saat: 01:46
Son Yorum: narkotik
  Layout View Hakkında (Çözüldü) yhackup 8 563 15-12-2017, Saat: 08:28
Son Yorum: Fesih ARSLAN
Question listbox hakkında yardım BY-HAYALET 21 503 06-12-2017, Saat: 15:09
Son Yorum: frmman



Konuyu Okuyanlar: 1 Ziyaretçi