InsertElement()
Syntaxe
Resultat = InsertElement(Liste())Description
Insère un nouvel élément avant l'élément courant, ou au début de la liste si la liste est vide (c-a-d si elle ne contient pas d'élément). Ce nouvel élément devient l'élément courant de la liste.
Arguments
Liste() - Le nom de votre variable liste, créée à l'aide de la commande NewList. Les parenthèses sont obligatoires après le nom de la liste.
Valeur de retour
La valeur renvoyée par cette commande peut être utilisée pour déterminer si le nouvel élément a pu être ajouté ou non (si la mémoire est insuffisante par exemple). Si le nouvel élément a été créé, cette commande renvoie une valeur différente de zéro. Si le nouvel élément n'a pu être créé, alors elle renvoie la valeur zéro. Pour programmeurs expérimentés:
La valeur renvoyée par cette commande est un pointeur vers les données du nouvel élément ou zéro si le nouvel élément n'a pu être crée.
Exemple
; La manière la plus simple d'utiliser InsertElement
NewList simple.w()
InsertElement(simple()) ; Crée le premier élément de la liste
simple() = 23
InsertElement(simple()) ; La position courant est le premier élément, nous ajoutons cet élément au début de la liste
simple() = 45 ; L'ancien premier élément est maintenant le second élément de la liste
; Ceci montre comment utiliser la valeur de retour de InsertElement
NewList experimentes.l()
If InsertElement(experimentes()) <> 0
experimentes() = 12345
Else
MessageRequester("Erreur !", "Impossible d'allouer de la mémoire pour le nouvel élément", #PB_MessageRequester_OK)
EndIf
; Une petite structure pour démontrer la description "programmeurs expérimentés" (ci-dessus)
Structure Programmeur
Nom.s
Talent.b
EndStructure
NewList LesProgrammeurs.Programmeur() ; La liste pour stocker les éléments
*Element.Programmeur = InsertElement(LesProgrammeurs())
If *Element<>0
*Element\Nom = "Dave"
*Element\Talent = 3 ; Celui-là, c'est un féru de PureBasic ! ;)
Else
MessageRequester("Erreur !", "Impossible d'allouer de la mémoire pour le nouvel élément", #PB_MessageRequester_OK)
EndIf
OS Supportés
Tous