Default parameter/fr: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Default parameter/fr
| Old | New | Line | |
|---|---|---|---|
| 1 | + | Un paramètre par défaut aussi appelé paramètre optionnel (ou argument par défaut) est un paramètre de [[Function/fr|fonction]] or [[Procedure/fr|procédure]] auquel une valeur par défaut est fournie. Si le prrogrammeur ne donne pas de valeur à ce paramètre, la valeur par défaut est utilisée. Si le programmeur passe une valeur, celle-ci est utilisée. Le programmeur peut étendre un routine existante en y ajoutant des paramètres ayant une valeur par défaut au lieu d'écrire une routine identique avec des arguments différents. Cela est utile quand pour l'un des paramètres, la valeur par défaut est fortement probable. | |
| 2 | + | ||
| 3 | + | Seules les valeurs de type simpe sont permises. Attention à l'ordre des paramètres par défaut, ils sont tous en fin de signature, après les paramètres sans valeur par défaut et doivent être organisés par ordre décroissant de probabilité d'emploi de la valeur par défaut. Le dernier paramètre par défaut de la liste ayant le plus de chance de prendre sa valeur par défaut que le premier. | |
| 4 | + | ||
| 5 | + | ## Exemple deadline_day | |
| 6 | + | ||
| 7 | + | ``` pascal | |
| 8 | + | ||
| 9 | + | uses SysUtils, DateUtils | |
| 10 | + | ||
| 11 | + | function deadline_day( day: integer; month: integer = 0 ) : tDateTime; | |
| 12 | + | var | |
| 13 | + | n :TDateTime; | |
| 14 | + | y, m, d :word; | |
| 15 | + | begin | |
| 16 | + | n := now; | |
| 17 | + | DecodeDate( n, y, m, d ); | |
| 18 | + | if month = 0 then | |
| 19 | + | begin | |
| 20 | + | if d > day then | |
| 21 | + | begin | |
| 22 | + | n := IncMonth( n ); | |
| 23 | + | DecodeDate( n, y, m, d ); | |
| 24 | + | end; | |
| 25 | + | end | |
| 26 | + | else | |
| 27 | + | begin | |
| 28 | + | if month < m then n := IncYear( n ); | |
| 29 | + | DecodeDate( n, y, m, d ); | |
| 30 | + | m := month; | |
| 31 | + | end; | |
| 32 | + | d := day; | |
| 33 | + | result := EncodeDate( y, m, d ); | |
| 34 | + | end; | |
| 35 | + | ``` | |
| 36 | + | ||
| 37 | + | Le paramètre par défaut est utilisé à la place du paramètre manquent en queue dans un appel. | |
| 38 | + | ||
| 39 | + | - dans un programme, appeler `deadline_day( 5 );` //-\> appelle `deadline_day( 5, 0 );` | |
| 40 | + | - dans un programme, appeler `deadline_day( 5, 1 );` //-\> appelle `deadline_day( 5, 1 );` | |
| 41 | + | ||
| 42 | + | --- | |
| 43 | + | *From the Free Pascal wiki, page "Default parameter/fr", as it stood on 2020-02-12 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
