Syntaxe

Donne un type à une variable ou à un tableau. Dès lors, chaque valeur rangée dedans est convertie dans ce type.

[GLOBAL | LOCAL] <name> AS <type> [= <value>]
[GLOBAL | LOCAL] <name> AS <type>[] [= [<value>, …]]
[GLOBAL | LOCAL] <name> AS <type>[<size>[, <size>…]] [= [<value>, …]]
DIM <name>(<size>) AS <type>
<name>.<suffix> = <value>

S’écrit aussi : integer, string, byte, int64

Les éléments

<name>Le nom de la variable, sans sigil : name$ AS string compile, mais le programme ne démarre pas.
<type>Un nom de type, sans tenir compte de la casse : int8 (byte), uint8 (ubyte), int16 (word), uint16, int32 (integer, long), uint32, int64 (quad), uint64, float32 (float), float64 (double), string, handle, taskhandle, ou un nom de TYPE.
<value>Valeur de départ facultative, convertie dans le type. Sans elle, un nombre part de 0, un texte de "", une référence de NULL.
<size>Le dernier indice valide d'une dimension. AS <type>[] sans taille crée un tableau vide (.length vaut -1).
<suffix>Un type PureBasic d'une lettre : b a w u c l i q f d s. Le premier name.f = 1.5 déclare la variable comme avec AS.

À savoir

  • Le type agit à chaque écriture : =, +=, -=, *=, /=, INC et DEC. Les types entiers coupent les décimales (vers zéro) et bouclent hors de leur plage ; un texte fait de chiffres est lu, un autre texte arrête le programme.
  • float est sur 32 bits, comme en AGK : 0.1 se relit 0.10000000149011612. Prenez double pour des décimales nettes. long est aussi sur 32 bits : le Long 64 bits de Visual Basic s'écrit quad.
  • x AS byte et x AS string écrits sans valeur perdent leur type : la variable reste sans type. Écrivez x AS byte = 0, x AS string = "", ou utilisez int8. Même chose pour int, pointer et les autres noms signalés dans le manuel.
  • Les valeurs int64 ne se mélangent qu'avec d'autres variables 64 bits : y = big + 1 vers un y sans type arrête le programme. Un littéral au-delà de 9007199254740991 s'écrit en texte : "9223372036854775807".
  • Un compteur de FOR typé ne boucle pas pendant la boucle.
  • DIM x AS integer sans taille compile, mais le programme ne démarre pas. Écrivez x AS integer.

Exemple

lives AS integer = 7.9hits AS uint8 = 250hits = hits + 10title AS string = "Hero"price AS float = 0.1exact AS double = 0.1big AS int64 = "9223372036854775807"Console(Str(lives) + " " + Str(hits) + " " + title)   ' 7 4 HeroConsole(Str(price) + " " + Str(exact))   ' 0.10000000149011612 0.1Console(Str(big))   ' 9223372036854775807
Dans le manuel : Variables et types