Difference between revisions of "Macros/de"

From Free Pascal wiki
Jump to navigationJump to search
(Created page with "{{Macros}} <br> <br> __TOC__ <br> Makros sind den Symbolen und den Compile-Time Variablen ähnlich, der Unterschied zu den Symbolen besteht darin, dass Makros einen Rückgabew...")
 
m (Fixed syntax highlighting; replaced HTML with Wiki markup; removed ignored {{PAGETITLE}})
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Macros}}
 
{{Macros}}
<br>
+
 
<br>
+
Zurück zur [[using conditionals messages macros/de|Verwendung von Bedingungen, Nachrichten und Makros]].
 +
 
 
__TOC__
 
__TOC__
<br>
+
 
Makros sind den Symbolen und den Compile-Time Variablen ähnlich, der Unterschied zu den Symbolen besteht darin, dass Makros einen Rückgabewert haben.<br>
+
Makros sind den Symbolen und den Compile-Time Variablen ähnlich, der Unterschied zu den Symbolen besteht darin, dass Makros einen Rückgabewert haben.
Symbole kennen nur den Wert definiert oder nicht definiert.<br>
+
 
Der Schalter für die Compilerdirektive kennt zwei Einstellungen ON und OFF.<br>
+
Symbole kennen nur den Wert definiert oder nicht definiert.
Die Standardeinstellung ist OFF.<br>
+
 
 +
Der Schalter für die Compilerdirektive kennt zwei Einstellungen ON und OFF.
 +
 
 +
Die Standardeinstellung ist OFF.
 +
 
 
Beispiel (damit können Makros verwendet werden):
 
Beispiel (damit können Makros verwendet werden):
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
{$MACRO ON}
 
{$MACRO ON}
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
Es gibt zwei Arten von Makros: vordefinerte und selbstdefinierte Makros.<br>
+
 
<br>
+
Es gibt zwei Arten von Makros: vordefinerte und selbstdefinierte Makros.
 +
 
 
=vordefinierte Makros=
 
=vordefinierte Makros=
<table>
+
 
  <tr>
+
{| class="wikitable"
    <td>Symbol</td>
+
! Symbol || Beschreibung
    <td>Beschreibung</td>
+
|-
  </tr>
+
| FPC_FULLVERSION  
  <tr>
+
| Enthält die vollständige Versionsnummer als Ganzzahl. Für FPC 2.6.0 ist der Wert 20600.
    <td>FPC_FULLVERSION</td>
+
|-
    <td>Enthält die vollständige Versionsnummer als Ganzzahl.<br>Für FPC 2.6.0 ist der Wert 20600.</td>
+
| FPC_VERSION
  </tr>
+
| Enthält die vollständige Versionsnummer als Ganzzahl. Für FPC 2.6.0 ist der Wert 20600.
  <tr>
+
|-
  <tr>
+
| FPC_RELEASE
    <td>FPC_VERSION</td>
+
| Enthält die Unterversionsnummer (Releasenummer) von FPC.
    <td>Enthält die vollständige Versionsnummer als Ganzzahl.<br>Für FPC 2.6.0 ist der Wert 20600.</td>
+
|-
  </tr>
+
| FPC_PATCH
  <tr>
+
| Enthält die Revisionsnummer (Patchnummer) von FPC.
  <tr>
+
|}
    <td>FPC_RELEASE</td>
+
 
    <td>Enthält die Unterversionsnummer (Releasenummer) von FPC.</td>
 
  </tr>
 
  <tr>
 
    <td>FPC_PATCH</td>
 
    <td>Enthält die Revisionsnummer (Patchnummer) von FPC.</td>
 
</table>
 
<br>
 
 
=selbstdefinierte Makros=
 
=selbstdefinierte Makros=
Beispiel 1:<br>
+
 
<syntaxhighlight>
+
Beispiel 1:
 +
 
 +
<syntaxhighlight lang="pascal">
 
   {$MACRO ON}            // Erlaubt die Verwendung von Makros
 
   {$MACRO ON}            // Erlaubt die Verwendung von Makros
  
Line 54: Line 56:
 
     ...;
 
     ...;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
Beispiel 2 ergibt das gleiche Ergebnis wie Beispiel 1:<br>
+
 
<syntaxhighlight>
+
Beispiel 2 ergibt das gleiche Ergebnis wie Beispiel 1:
 +
 
 +
<syntaxhighlight lang="pascal">
 
   {$MACRO ON}            // Erlaubt die Verwendung von Makros
 
   {$MACRO ON}            // Erlaubt die Verwendung von Makros
  
Line 68: Line 72:
 
     ...;
 
     ...;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
Beispiel 3 führt zu einem Fehler, da ein Symbol nicht mehr definert ist:<br>
+
 
<syntaxhighlight>
+
Beispiel 3 führt zu einem Fehler, da ein Symbol nicht mehr definert ist:
 +
 
 +
<syntaxhighlight lang="pascal">
 
   {$MACRO ON}
 
   {$MACRO ON}
  
Line 84: Line 90:
 
     ...;
 
     ...;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
<br>
 
 
--[[User:Olaf|Olaf]] 08:17, 20 February 2013 (UTC)
 
--[[User:Olaf|Olaf]] 08:17, 20 February 2013 (UTC)
[[category:Pascal]]{{AutoCategory}}
+
[[Category:Free Pascal Programmers Guide/de]]

Latest revision as of 02:13, 2 January 2020

Deutsch (de)

Zurück zur Verwendung von Bedingungen, Nachrichten und Makros.

Makros sind den Symbolen und den Compile-Time Variablen ähnlich, der Unterschied zu den Symbolen besteht darin, dass Makros einen Rückgabewert haben.

Symbole kennen nur den Wert definiert oder nicht definiert.

Der Schalter für die Compilerdirektive kennt zwei Einstellungen ON und OFF.

Die Standardeinstellung ist OFF.

Beispiel (damit können Makros verwendet werden):

{$MACRO ON}


Es gibt zwei Arten von Makros: vordefinerte und selbstdefinierte Makros.

vordefinierte Makros

Symbol Beschreibung
FPC_FULLVERSION Enthält die vollständige Versionsnummer als Ganzzahl. Für FPC 2.6.0 ist der Wert 20600.
FPC_VERSION Enthält die vollständige Versionsnummer als Ganzzahl. Für FPC 2.6.0 ist der Wert 20600.
FPC_RELEASE Enthält die Unterversionsnummer (Releasenummer) von FPC.
FPC_PATCH Enthält die Revisionsnummer (Patchnummer) von FPC.

selbstdefinierte Makros

Beispiel 1:

  {$MACRO ON}             // Erlaubt die Verwendung von Makros

  {$define A := 3}        // definiert ein Symbol und weist ihm einen Wert zu
  {$define B := 4}        // definiert ein Symbol und weist ihm einen Wert zu
  {$define Sum := A + B}  // definiert ein Makro

  if Sum = 7 then         // fragt den Inhalt des Makros ab
    ...
  else
    ...;


Beispiel 2 ergibt das gleiche Ergebnis wie Beispiel 1:

  {$MACRO ON}             // Erlaubt die Verwendung von Makros

  {$define Sum := A + B}  // definiert ein Makro
  {$define A := 3}        // definiert ein Symbol und weist ihm einen Wert zu
  {$define B := 4}        // definiert ein Symbol und weist ihm einen Wert zu

  if Sum = 7 then         // fragt den Inhalt des Makros ab
    ...
  else
    ...;


Beispiel 3 führt zu einem Fehler, da ein Symbol nicht mehr definert ist:

  {$MACRO ON}

  {$define Sum := A + B}  // definiert ein Makro
  {$define A := 3}        // definiert ein Symbol und weist ihm einen Wert zu
  {$define B := 4}        // definiert ein Symbol und weist ihm einen Wert zu

  {$undef A}              // hebt die Definition des Symbols A auf

  if Sum = 7 then         // führt zu einem Fehler, da das Symbol A an dieser Stelle nicht mehr existiert
    ...
  else
    ...;

--Olaf 08:17, 20 February 2013 (UTC)