SetRef

Fonction

Syntaxe

Écrit une valeur dans la variable, le champ, la case de tableau, l’élément de liste ou l’entrée de table désigné par un handle.

SetRef(<handle>, <value>)

Les éléments

<handle>Un handle fait avec @target.
<value>La valeur à écrire. Elle est convertie au type de la cible, comme toute écriture dans cette cible.

Rend

La valeur réellement rangée, après conversion : SetRef(h, 300) sur une cible AS uint8 rend 44.

À savoir

  • Le type de la cible l’emporte : un handle vers une variable AS integer retire les décimales, un handle vers une variable AS uint8 repart de 0 après 255.
  • Sur un handle libéré, le programme s’arrête avec « BASIC reference handle has been released ». Sur une variable HANDLE jamais affectée, il s’arrête avec « BASIC value is not a reference handle ».
  • Contrairement à un paramètre REF, un handle peut être gardé dans une variable, un enregistrement ou une liste et servir plus tard.

Exemple

FUNCTION AddGold(target AS HANDLE, amount AS integer)  SetRef(target, GetRef(target) + amount)ENDFUNCTIONgold AS integer = 5AddGold(@gold, 10)Console(Str(gold))   ' 15small AS uint8 = 0Console(Str(SetRef(@small, 300)))   ' 44
Dans le manuel : Fonctions