LastElement()

Syntaxe

Resultat = LastElement(ListeChainee())
Description
Le dernier élément de la liste spécifiée devient l'élément courant.

Argument

ListeChainee() - Le nom de votre variable liste chaînée, créée à l'aide de la commande NewList. Les parenthèses sont obligatoires après le nom de la liste.

Valeur de retour

Si la liste est vide alors la valeur de retour de cette fonction est 0. Elle peut donc être utilisée pour vérifier si une liste est vide ou non. Pour programmeurs expérimentés:
La valeur renvoyée par cette commande est un pointeur vers le dernier élément ou zéro si le dernier élément n'existe pas. La structure de chaque élément est définie ci-dessous :
  Structure Element
    *Next.Element        ; Pointeur vers l'élément suivant de la liste ou zéro si c'est le dernier élément
    *Previous.Element    ; Pointeur vers l'élément précédent de la liste ou zéro si c'est le premier élément

    ; La structure utilisée par la liste suit directement ces 2 variables (ce qui implique que les
    ; données utilisateurs se situent à l'adresse du nouvel élément + 8 octets).
  EndStructure
Vous ne devriez pas changer les pointeurs du début de la liste, car ça casserait la structure interne de la liste.

Exemple:

  ; Un exemple d'utilisation simple
  NewList nombres.w()

  AddElement(nombres())
  nombres() = 5
  AddElement(nombres())
  nombres() = 8

  LastElement(nombres())
  MessageRequester("Information", "La valeur du dernier élément est "+Str(nombres()), #PB_MessageRequester_OK)


  ; Un exemple qui utilise la valeur de retour
  NewList nombres.w()

  If LastElement(nombres()) <> 0
    MessageRequester("Information", "La valeur du dernier élément est "+Str(nombres()), #PB_MessageRequester_OK)
  Else
    MessageRequester("Information", "La liste est vide", #PB_MessageRequester_OK)
  EndIf

  AddElement(nombres())
  nombres() = 5
  AddElement(nombres())
  nombres() = 8

  If LastElement(nombres()) <> 0
    MessageRequester("Information", "La valeur du dernier élément est "+Str(nombres()), #PB_MessageRequester_OK)
  Else
    MessageRequester("Information", "La liste est vide", #PB_MessageRequester_OK)
  EndIf


  ; Un exemple réservé aux programmeurs expérimentés
  NewList nombres.w()

  AddElement(nombres())
  nombres() = 5
  AddElement(nombres())
  nombres() = 8

  *element.w = LastElement(nombres())
  If *element
    MessageRequester("Information", "La valeur du dernier élément est "+Str(PeekW(*element+8)), #PB_MessageRequester_OK)
  Else
    MessageRequester("Information", "La liste est vide", #PB_MessageRequester_OK)
  EndIf

OS Supportés

Tous

<- InsertElement() - LinkedList Index - ListIndex() ->