Dans Delphi, il existe également des instructions précompilées similaires à C. Bien que ce type d'instruction ne soit efficace que dans le fichier unique actuel (il se peut aussi que l'auteur ne comprenne pas complètement l'utilisation réelle de ce type d'instruction), ce type d'instruction L'instruction est utile pour la compilation multi-versions. Le travail de production (comme la publication d'une version d'apprentissage à partir de la version standard) a de très bonnes utilisations.
un. Introduction aux instructions :
1. Directive DEFINIR :
Format : {$DEFINE nom}
Description : Utilisé pour définir un symbole (Symbole) valide dans l'unité actuelle. défini
Vous pouvez ensuite utiliser les instructions IF DEF et IFNDEF pour déterminer si le symbole existe.
2. Commande UNDEF :
Format : {$UNDEF nom}
Description : Permet d'annuler un symbole (Symbole) défini dans l'unité courante. Cette directive et DÉFINIR
utilisés ensemble.
3. Directive IFDEF :
Format : {$Nom IFDEF}
Remarque : Si le nom après cette directive a été défini, le segment de code après cette directive jusqu'à {$ELSE} ou {$ENDIF} sera compilé.
4. Directive IFNDEF :
Format : {$IFNDEF nom}
Remarque : Si le nom après cette directive n'est pas défini, le segment de code après cette directive jusqu'à {$ELSE} ou {$ENDIF} sera compilé.
5. Instruction IFOPT :
Format : {$Commutateur IFOPT}
Remarque : Si le commutateur après cette instruction a été défini, le segment de code après cette instruction jusqu'à {$ELSE} ou {$ENDIF} sera compilé.
Exemple : {$IFOPT R+}
Writeln('Activez le commutateur de vérification de plage lors de la compilation');
{$ENDIF}
6. AUTRE instruction :
Format : {$ELSE}
Description : Déterminez si le segment de code entre l'instruction et {$ENDIF} doit être compilé ou ignoré en jugeant l'expression conditionnelle du préfixe Ifxxx.
7. Directive ENDIF :
Format : {$ENDIF}
Description : coopère avec Ifxxx pour indiquer la position finale du segment de code source du segment précompilé conditionnel.
deux. exemple:
Écrivez des exemples pour effectuer un travail de compilation sans segments de code en prédéfinissant différents symboles de compilation.
1. Créez un nouveau projet Delphi et ajoutez un bouton Button sur le formulaire de l'unité Unit1.
2. Écrivez le programme comme suit :
unité Unité1 ;
interface
utilise
Windows, messages, SysUtils, classes, graphiques, contrôles, formulaires, boîtes de dialogue,
StdCtrl ;
taper
TForm1 = classe(TForm)
Bouton1 : TButton ;
PRocédure FormCreate(Expéditeur : TObject);
procédure Button1Click (Expéditeur : TObject);
privé
{Déclarations privées}
publique
{Déclarations publiques}
a : Chaîne ;
fin;
var
Formulaire1 : TForm1 ;
mise en œuvre
{$R *.DFM}
{$DEFINE AAA} // Ligne de définition.
procédure TForm1.FormCreate(Expéditeur : TObject);
commencer
a := 'Autre';
{$IFDEF AAA}
a := 'AAA';
{$ENDIF}
{$IFDEF BBB}
a := 'BBB';
{$ENDIF}
fin;
procédure TForm1.Button1Click(Expéditeur : TObject);
commencer
Légende := a;
fin;
fin.
{Remarque : le texte en gras correspond au code saisi}
3. Après la compilation et l'exécution, appuyez sur le bouton et vous verrez « AAA » affiché dans la barre de titre du formulaire. Le programme compile l'instruction a := 'AAA'.
4. Changez le segment de programme qui définit la ligne :
lorsqu'il est changé en
{$DÉFINIR BBB}
Lorsque vous compilez et exécutez à nouveau, vous verrez « BBB » affiché dans la barre de titre du formulaire. Le programme compile l'instruction a := 'BBB'.
Lorsque vous annulez la définition d'une ligne ou que vous passez à
{$DÉFINIR RIEN}
ou d'autres noms, compilez et exécutez à nouveau, et vous verrez "Autre" affiché dans la barre de titre du formulaire. Le programme compile uniquement l'instruction a := 'Autre'.
trois. Comment créer et modifier rapidement des versions :
À l'aide des instructions de précompilation, lors de la création de plusieurs versions du même programme, il vous suffit de rechercher les différentes unités dans chaque version, de définir des symboles de version unifiés (symboles) dans l'ordre, puis d'ajouter des instructions de précompilation conditionnelles au segment du programme. compiler différentes parties de programme lors de la compilation proprement dite, ce qui a un bon effet sur la standardisation du programme (définition d'un symbole de version unifié) et la confidentialité (différentes versions compilent différentes parties de programme).
Cependant, comme ce type de directive précompilée ne peut agir que sur l'unité courante, l'inconvénient est que le symbole de version ne peut pas être défini une seule fois dans une unité commune, mais qu'un symbole de version unifié doit être défini dans chaque unité. Ainsi, lors d'un changement de version, Vous devez vous assurer que tous les symboles de version ont été modifiés pour garantir l'exactitude de chaque version. Pour cela, vous pouvez utiliser la fonction "Rechercher dans" de l'IDE Delphi. Fichiers..." (chaînes de recherche dans plusieurs fichiers) pour rechercher tous les fichiers et emplacements qui définissent les symboles de version, puis les modifier dans l'ordre pour garantir que tous les emplacements ont été corrigés.