$include/de

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en)

$I oder $INCLUDE

Die Direktive $INCLUDE oder $I dient dem Einfügen einer Datei.
Die Direktive $INCLUDE oder $I fügt an der Stelle an der die Anweisung steht eine Datei ein.
Falls die einzufügende Datei keine Dateiendung hat, dann sucht der Compiler nach einer Datei mit der Endung .pp.
Die Anzahl der einzufügenden Dateien ist auf die Anzahl der verfügbaren file descriptors des Free Pascal Compilers beschränkt.

Beispiel:

{$INCLUDE test1.pas} // sucht im aktuellen Verzeichnis nach der Datei test1.pas
{$INCLUDE ../test2.pas} // sucht im übergeordneten Verzeichnis nach der Datei test2.pas


$I und $INCLUDE

Die Direktiven $I und $INCLUDE haben die gleiche Bedeutung.
Die Direktiven $I und $INCLUDE unterstützen die gleichen Bezeichner.

Die Direktiven kennen folgende Bezeichner:

TIMEGibt das aktuelle Datum und die aktuelle Zeit aus.
DATEFügt das aktuelle Datum ein.
FPCTARGETFügt den Namen des Zielprozessors ein. Dieser Bezeichner ist deprecated (hinfällig). Der neue Bezeichner heisst FPCTARGETCPU.
FPCTARGETCPU Fügt den Namen des Zielprozessors ein.
FPCTARGETOSFügt den Namen des Zielbetriebsystems ein.
FPCVERSIONFügt die aktuelle Compilerversion ein.
FILEDateiname, in der die Direktive steht.
LINENummer der Zeile, in der die Direktive steht.
CURRENTROUTINEName der aktuellen Routine.

Andere Bezeichner werden aus den Umgebungsvariablen des Compiler Prozesses genommen.
Beispiel:

Program InfoDemo;
begin
  WriteLn('Compilierzeit:                ' + {$I %TIME%});
  WriteLn('Compilierdatum:               ' + {$I %DATE%});
  WriteLn('Erforderliche CPU:            ' + {$I %FPCTARGETCPU%});
  WriteLn('Erforderliche CPU (veraltet): ' + {$I %FPCTARGET%});
  WriteLn('Betriebssystem:               ' + {$I %FPCTARGETOS%});
  WriteLn('FPC Version:                  ' + {$I %FPCVERSION%});
  WriteLn('Name der Datei:               ' + {$I %FILE%});
  WriteLn('Aktuelle Zeile als String:    ' + {$I %LINE%});
  WriteLn('Aktuelle Zeile als Int:       ' + IntToStr({$I %LINENUM%}));
  WriteLn('Compilierer:                  ' + {$I %USER%});
  WriteLn('Home-Ordner des Benutzers:    ' + {$I %HOME%});
  WriteLn('Name der aktuellen Routine:   ' + {$I %CURRENTROUTINE%});
end.



Hinweis: Für Infos über Lazarus, kann die Unit LCLVersion eingebunden werden.