Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
prog:lazarus:func:func [13/03/2020 16:11] thierry [Open array parameters] |
prog:lazarus:func:func [19/08/2024 18:30] (Version actuelle) thierry [Of Object] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Function et Procedure ====== | + | ====== Function, Procedure et Property ====== |
+ | ===== Déclaration des procedures et functions ===== | ||
+ | ==== Deprectated ==== | ||
+ | Pour signifier au développeur qu'il utilise un fonction qui est obsolète, on peut aussi ajouter un message, comme ceci : | ||
+ | <code pascal> | ||
+ | procedure FreeThenNil(var obj); deprecated 'Use LazUtilities.FreeThenNil instead'; | ||
+ | </code> | ||
+ | ==== Of Object ==== | ||
+ | La syntaxe correcte pour déclarer une fonction ou une méthode qui peut être assignée à un pointeur de méthode (souvent utilisé pour les événements) en Pascal (Delphi/Lazarus) est la suivante : | ||
+ | <code pascal> | ||
+ | // Pour un procedure | ||
+ | TStateChangeEvent = procedure(Sender: TObject; AState: TState; AObject: TObject) of object; | ||
+ | |||
+ | //Pour une Function | ||
+ | TMyFuncEvent = function(Sender: TObject): boolean of object; | ||
+ | |||
+ | </code> | ||
+ | |||
+ | |||
===== Parametres ===== | ===== Parametres ===== | ||
==== Types de paramètres ==== | ==== Types de paramètres ==== | ||
Source : [[https://www.freepascal.org/docs-html/ref/refse91.html]] | Source : [[https://www.freepascal.org/docs-html/ref/refse91.html]] | ||
=== Value parameters === | === Value parameters === | ||
+ | <note>ToDo</note> | ||
=== Variable parameters === | === Variable parameters === | ||
+ | <note>ToDo</note> | ||
=== Out parameters === | === Out parameters === | ||
Le but d'un paramètre ''out'' est de renvoyer des valeurs à la routine appelante : la variable est passée par référence.\\ | Le but d'un paramètre ''out'' est de renvoyer des valeurs à la routine appelante : la variable est passée par référence.\\ | ||
Ligne 50: | Ligne 71: | ||
Source:[[https://www.freepascal.org/docs-html/ref/refsu66.html]] | Source:[[https://www.freepascal.org/docs-html/ref/refsu66.html]] | ||
=== Constant parameters === | === Constant parameters === | ||
+ | <note>ToDo</note> | ||
=== Open array parameters === | === Open array parameters === | ||
- | ==== Array of const ==== | + | <note>ToDo</note> |
+ | === Array of const === | ||
+ | <note>ToDo</note> | ||
==== Valeur par défaut d'un paramètre ==== | ==== Valeur par défaut d'un paramètre ==== | ||
L'exemple suivant affiche 20 à l’écran. | L'exemple suivant affiche 20 à l’écran. | ||
Ligne 70: | Ligne 94: | ||
Source:[[https://www.freepascal.org/docs-html/ref/refsu64.html]] | Source:[[https://www.freepascal.org/docs-html/ref/refsu64.html]] | ||
+ | ===== Properties ===== | ||
+ | <code delphi> | ||
+ | property ReadOnly: Boolean read GetReadOnly write SetReadOnly default false; | ||
+ | </code> | ||