PureBasic:FirstElement


PureBasic:LinkedList

<< Précédent | Sommaire | Suivant >>


Sommaire

[modifier] Syntaxe

FirstElement(ListeChainee())

[modifier] Description

Le premier élément de la liste spécifiée devient l'élément courant.

[modifier] Paramètres

  • ListeChainee() - Le nom de la liste chainée, créée à l'aide de la commande NewList

Les parenthèses sont obligatoires après le nom de la variable.

[modifier] 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.

Programmeurs expérimentés seulement:
La valeur renvoyée par cette commande est un pointeur vers le nouvel élément. La structure de chaque élément est définie comme ceci:

  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'addresse du nouvel élément + 8 octets.
  EndStructure

Vous ne devriez pas changer les pointeurs du début de la liste, car ca casserait la structure interne de la liste.

Exemple:

  ; An example of simple usage
  NewList numbers.w()
  AddElement(numbers())
  numbers() = 5
  AddElement(numbers())
  numbers() = 8
  FirstElement(numbers())
  MessageRequester("Information", "First element value is "+Str(numbers()), #PB_MessageRequester_OK)
  ; An example which uses the return value
  NewList numbers.w()
  If FirstElement(numbers()) <> 0
    MessageRequester("Information", "First element value is "+Str(numbers()), #PB_MessageRequester_OK)
  Else
    MessageRequester("Information", "List is empty", #PB_MessageRequester_OK)
  EndIf
  AddElement(numbers())
  numbers() = 5
  AddElement(numbers())
  numbers() = 8
  If FirstElement(numbers()) <> 0
    MessageRequester("Information", "First element value is "+Str(numbers()), #PB_MessageRequester_OK)
  Else
    MessageRequester("Information", "List is empty", #PB_MessageRequester_OK)
  EndIf
  ; An example which is only for advanced users
  NewList numbers.w()
  AddElement(numbers())
  numbers() = 5
  AddElement(numbers())
  numbers() = 8
  *element.w = FirstElement(numbers())
  If *element
    MessageRequester("Information", "First element value is "+Str(PeekW(*element+8)), #PB_MessageRequester_OK)
  Else
    MessageRequester("Information", "List is empty", #PB_MessageRequester_OK)
  EndIf

[modifier] OS supportés

Windows, AmigaOS, Linux, MacOS X