Define
DescriptionDefine.<type> [<variable> [= <expression>], <variable> [= <expression>], ...]
Permet d'assigner le même type de données à une série de variables.
Sans ce mot clé, les variables sont crées avec le type par défaut de PureBasic qui est le type entier INTEGER. Pour rappel le type INTEGER vaut:
4 octets (avec un compilateur 32 bits) allant de -2147483648 à +2147483647
8 octets (avec un compilateur 64 bits) allant de -9223372036854775808 à +9223372036854775807
Define est d'une grande souplesse car il permet aussi d'assigner un type différent à une variable en particulier, à l'intérieur d'une série.
Define peut également être utilisé avec les tableaux, les listes et les maps.
Exemple: Affectation en série
Define.b a, b = 10, c = b*2, d ; Ces 4 variables sont de type octets (byte .b)
Exemple: Mélange d'affectations en série et individuelles
Define.q a, b.w, c, d, st.s = "ok" ; a, c, et d sont des Quad (.q), b est un Word (.w) et st est une String (.s) Debug SizeOf(a) ; Affichera 8 Debug SizeOf(b) ; Affichera 2 Debug SizeOf(c) ; Affichera 8 Debug SizeOf(d) ; Affichera 8 Debug st ; Affichera ok
DescriptionDefine <variable>.<type> [= <expression>] [, <variable>.<type> [= <expression>], ...]
Autre possibilité pour la déclaration des variables avec Define.
Exemple
Define MonChar.c ; Caractère Define MonLong.l ; Double Mots Define MonWord.w ; Mot Debug SizeOf(MonChar) ; Affichera 2 (à cause du mode unicode) Debug SizeOf(MonLong) ; Affichera 4 Debug SizeOf(MonWord) ; Affichera 2