WITH |
Avec |
---|---|
Delphi/Kylix/Lazarus |
Syntaxe
With identificateur d'enregistrement Do instruction simple ou composée |
Paramètres
Nom | Description |
---|---|
identificateur d'enregistrement | Ce paramètre permet d'indiquer un identificateur d'enregistrement à faire passer comme simple variable chacun de ses champs. |
instruction simple ou composée | Ce paramètre permet le bloc d'instruction ou l'instruction devant subir l'impact de ce mot réservé. |
Description
Ce mot réservé permet de définir la structure d'enregistrement courante devant être utilisé pour les variables.
Remarques
- L'instruction with ajoute un enregistrement, un objet, une classe ou une référence d'interface à la portée de résolution des noms de symboles. Le Delphi recherche les noms dans l'ordre suivant :
- Soyez prudent en utilisant l'instruction with. L'utilisation aveugle de l'instruction with obscurcit la signification du code et rend plus difficile l'identification des références d'objet étant les cibles des méthodes et des propriétés. La modification de l'enregistrement, de l'objet, de la classe ou de l'interface référencés peut entraîner l'interprétation d'un identificateur dans une portée différente. Si vous avez de la chance, le changement provoquera une erreur de syntaxe; si vous ne l'êtes pas, le changement ne sera pas remarqué tant que votre programme ne fonctionnera pas correctement.
- Néanmoins, with a ses utilisations. Il peut être un moyen pratique d'éviter de créer une variable temporaire lorsque l'ajout d'une telle variable ne contribue pas à la clarté de votre code.
Priorité | Description |
---|---|
1 | Membres d'enregistrements, d'objets, de classes ou d'interfaces répertoriés dans l'instruction with, en commençant par la dernière instruction with la plus interne et en continuant par l'instruction with précédente ou externe. |
2 | Variables locales et paramètres de sous-programme, y compris les variables définies par implicité, telles que Result et Self. |
3 | Membres de Self (si le sous-programme est une méthode). Vous pouvez penser à chaque méthode comme ayant un implicite avec Self avant le corps de la méthode. |
4 | Variables globales dans la même unité que la référence. |
5 | Variables globales déclarées dans d'autres unités, en commençant par la dernière unité nommée dans la déclaration uses. |
Exemple
Cet exemple permet de montrer l'utilisation du mot réservé «WITH» :
- Program WithSamples;
-
- {$APPTYPE CONSOLE}
- Uses SysUtils;
-
- Type
- personne=Record
- salutation:Char;
- prenom:String[30];
- nomfamille:String[30];
- ville:String[30];
- pays:String[30];
- province:String[30];
- End;
-
- Var
- a:personne;
-
- BEGIN
- With a do Begin
- salutation := 'M';
- prenom := 'Sylvain';
- nomfamille := 'Maltais';
- ville := 'Laval';
- pays := 'CA';
- province := 'QC';
- End;
- WriteLn('Prénom : ',a.prenom);
- WriteLn('Nom : ',a.nomfamille);
- WriteLn('Ville : ',a.ville);
- END.
on obtiendra le résultat suivant :
Prénom : SylvainNom : Maltais
Ville : Laval
Voir également
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Begin
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - End
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Record
Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - WITH
Langage de programmation - Turbo Pascal pour Windows - Référence de procédures et fonctions - WITH
Dernière mise à jour : Mercredi, le 18 février 2015