In Delphi gibt es auch vorkompilierte Anweisungen ähnlich wie C. Obwohl diese Art von Anweisung nur in der aktuellen Einzeldatei wirksam ist (es kann auch sein, dass der Autor die tatsächliche Verwendung dieser Art von Anweisung nicht vollständig versteht), ist diese Art von Die Anweisung ist für die Kompilierung mehrerer Versionen nützlich (z. B. die Veröffentlichung einer Lernversion aus der Standardversion) und bietet durchaus gute Verwendungsmöglichkeiten.
eins. Anleitung Einführung:
1. DEFINE-Direktive:
Format: {$DEFINE name}
Beschreibung: Wird verwendet, um ein Symbol (Symbol) zu definieren, das in der aktuellen Einheit gültig ist. definiert
Anschließend können Sie mithilfe der Anweisungen IF DEF und IFNDEF feststellen, ob das Symbol vorhanden ist.
2. UNDEF-Befehl:
Format: {$UNDEF name}
Beschreibung: Wird verwendet, um ein Symbol (Symbol) zu löschen, das in der aktuellen Einheit definiert wurde. Diese Direktive und DEFINE
zusammen genutzt.
3. IFDEF-Richtlinie:
Format: {$IFDEF-Name}
Hinweis: Wenn der Name nach dieser Direktive definiert wurde, wird das Codesegment nach dieser Direktive bis {$ELSE} oder {$ENDIF} kompiliert.
4. IFNDEF-Anweisung:
Format: {$IFNDEF-Name}
Hinweis: Wenn der Name nach dieser Anweisung nicht definiert ist, wird das Codesegment nach dieser Anweisung bis {$ELSE} oder {$ENDIF} kompiliert.
5. IFOPT-Anweisung:
Format: {$IFOPT-Schalter}
Hinweis: Wenn der Schalter nach dieser Anweisung gesetzt wurde, wird das Codesegment nach dieser Anweisung bis {$ELSE} oder {$ENDIF} kompiliert.
Beispiel: {$IFOPT R+}
Writeln('Schalten Sie beim Kompilieren den Bereichsprüfungsschalter ein.');
{$ENDIF}
6. ELSE-Anweisung:
Format: {$ELSE}
Beschreibung: Bestimmen Sie, ob das Codesegment zwischen der Anweisung und {$ENDIF} kompiliert oder ignoriert werden soll, indem Sie den bedingten Ausdruck des Präfixes Ifxxx beurteilen.
7. ENDIF-Direktive:
Format: {$ENDIF}
Beschreibung: Arbeitet mit Ifxxx zusammen, um die Endposition des Quellcodesegments des bedingten vorkompilierten Segments anzuzeigen.
zwei. Beispiel:
Schreiben Sie Beispiele, um Kompilierungsarbeiten ohne Codesegmente durchzuführen, indem Sie verschiedene Kompilierungssymbole vorab definieren.
1. Erstellen Sie ein neues Delphi-Projekt und fügen Sie eine Button-Schaltfläche im Formular der Unit1-Einheit hinzu.
2. Schreiben Sie das Programm wie folgt:
Einheit Einheit1;
Schnittstelle
verwendet
Windows, Nachrichten, SysUtils, Klassen, Grafiken, Steuerelemente, Formulare, Dialoge,
StdCtrls;
Typ
TForm1 = Klasse(TForm)
Button1: TButton;
PROzedur FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
Privat
{Private Erklärungen}
öffentlich
{Öffentliche Erklärungen}
a: Zeichenfolge;
Ende;
var
Form1: TForm1;
Durchführung
{$R *.DFM}
{$DEFINE AAA} // Definitionszeile.
procedure TForm1.FormCreate(Sender: TObject);
beginnen
a := 'Andere';
{$IFDEF AAA}
a := 'AAA';
{$ENDIF}
{$IFDEF BBB}
a := 'BBB';
{$ENDIF}
Ende;
procedure TForm1.Button1Click(Sender: TObject);
beginnen
Bildunterschrift := a;
Ende;
Ende.
{Hinweis: Der fettgedruckte Text ist der eingegebene Code}
3. Drücken Sie nach dem Kompilieren und Ausführen die Taste. In der Titelleiste des Formulars wird „AAA“ angezeigt. Das Programm kompiliert die Anweisung a := 'AAA'.
4. Ändern Sie das Programmsegment, das die Zeile definiert:
wenn geändert zu
{$DEFINE BBB}
Wenn Sie kompilieren und erneut ausführen, wird in der Titelleiste des Formulars „BBB“ angezeigt. Das Programm kompiliert die Anweisung a := 'BBB'.
Beim Aufheben der Definition einer Zeile oder beim Wechseln zu
{$DEFINIERE NICHTS}
oder andere Namen, kompilieren Sie es und führen Sie es erneut aus. In der Titelleiste des Formulars wird „Andere“ angezeigt. Das Programm kompiliert lediglich die Anweisung a := 'Other'.
drei. So erstellen und ändern Sie schnell Versionen:
Mithilfe von Vorkompilierungsanweisungen müssen Sie beim Erstellen mehrerer Versionen desselben Programms nur die verschiedenen Einheiten in jeder Version finden, nacheinander einheitliche Versionssymbole (Symbole) definieren und dann dem Programmsegment bedingte Vorkompilierungsanweisungen hinzufügen Kompilieren Sie während der eigentlichen Kompilierung verschiedene Programmteile, was sich positiv auf die Standardisierung des Programms (Definition eines einheitlichen Versionssymbols) und die Vertraulichkeit (unterschiedliche Versionen kompilieren unterschiedliche Programmteile) auswirkt.
Da diese Art von vorkompilierter Direktive jedoch nur auf die aktuelle Einheit wirken kann, besteht der Nachteil darin, dass das Versionssymbol nicht einmal in einer gemeinsamen Einheit definiert werden kann, sondern in jeder Einheit ein einheitliches Versionssymbol definiert werden muss. Sie müssen sicherstellen, dass alle Versionssymbole geändert wurden, um die Richtigkeit jeder Version sicherzustellen. Dazu können Sie die Funktion „Suchen in“ der Delphi-IDE verwenden. Mit der Funktion „Dateien..." (Suchzeichenfolgen in mehreren Dateien) können Sie alle Dateien und Speicherorte finden, die Versionssymbole definieren, und diese dann der Reihe nach ändern, um sicherzustellen, dass alle Speicherorte korrigiert wurden.