Syntaxe

Met fin à un enregistrement : exécute sa méthode Delete, s’il en a une, puis le marque comme supprimé.

DELETE <variable>
DELETE <array>[<index>]
DELETE <record>.<field>
METHOD Delete()

Les éléments

<variable>Une variable qui contient un enregistrement. Elle est vidée (NULL) après l’appel.
<array>Un tableau d’enregistrements.
<index>La case à supprimer, entre crochets.
<record>Un enregistrement qui possède un champ enregistrement.
<field>Le champ enregistrement à supprimer.

À savoir

  • Après DELETE sur une variable, lire un de ses champs arrête le programme.
  • Sur une case de tableau ou un champ, la case reste, mais appeler une de ses méthodes arrête le programme : « BASIC record has been deleted ».
  • Le chemin prend des crochets : DELETE fleet[2]. DELETE fleet(2) est refusé : « DELETE requires a BASIC record variable or field ».
  • Supprimer deux fois le même enregistrement arrête le programme : « BASIC record has been deleted ».
  • Delete ne s’exécute que par DELETE. Réaffecter une variable, ou atteindre la fin du programme, ne l’appelle pas.
  • DELETE sur une variable numérique n’est pas refusé. La variable devient NULL sans bruit, ou le programme s’arrête si elle valait 0. Réservez-le aux enregistrements.

Exemple

alive = 0TYPE Enemy  hp AS integer  METHOD New()    alive = alive + 1  ENDMETHOD  METHOD Delete()    alive = alive - 1  ENDMETHODENDTYPEe AS Enemyf AS EnemyConsole(Str(alive))   ' 2DELETE eConsole(Str(alive))   ' 1