AddElement()
Syntax
AddElement(LinkedList())Beschreibung
Fügt ein neues, leeres Listenelement nach dem aktuellen Element ein oder als erstes Element, wenn die Liste noch keine Elemente enthält. Dieses neue Element wird zum aktuellen Element der Liste.
Parameter:
LinkedList() - Der Variablenname der verknüpften Liste, welche mit dem NewList Befehl erstellt wurde. Sie müssen die Klammern nach dem Listennamen immer angeben.
Rückgabewert:
Der von diesem Befehl zurückgegebene Wert zeigt an, ob das neue Element hinzugefügt werden konnte oder nicht (es wird z.B. nicht erstellt, wenn Ihr Computer nicht mehr genügend freien Speicher hat). Wenn das neue Element erstellt wurde, gibt dieser Befehl einen Wert ungleich Null zurück. Konnte das neue Element nicht erstellt werden, ist der Rückgabewert gleich Null.
Nur für fortgeschrittene Anwender:
Der Wert, den dieser Befehl zurückgibt, ist ein Zeiger auf das neue Element, oder Null wenn das neue Element nicht erstellt werden konnte. Die Struktur jedes Elements wird nachfolgend dargestellt:Structure Element *Next.Element ; Zeiger auf das nächste Element in der Liste oder Null, wenn es das letzte Element ist *Previous.Element ; Zeiger auf das vorherige Element in der Liste oder Null, wenn es das erste Element ist ; Die Datentypen des Anwenders, mit denen die Liste erstellt wurde, folgen nach diesen ; zwei Variablen (was bedeutet, das die Anwenderdaten wie folgt gefunden werden können: ; Adresse des neuen Elements + 8 EndStructureSie sollten die Zeiger am Anfang der Elemente nicht verändern, das dies die Struktur der Liste durcheinander bringt, was zu allen möglichen Problemen führen kann.
Beispiel:
; Der einfachste Weg zur Benutzung von AddElement NewList simple.w() AddElement(simple()) ; Erstellt das erste neue Element innerhalb der Liste simple() = 23 AddElement(simple()) ; Aktuelle Position ist das erste Element, wir fügen simple() = 45 ; daher ein neues an der zweiten Position ein ; Das nachfolgende Beispiel zeigt die Benutzung des Rückgabewerts von AddElement NewList advanced.l() If AddElement(advanced()) <> 0 advanced() = 12345 Else MessageRequester("Fehler!", "Kein Speicherplatz zum Reservieren des neuen Elements", #PB_MessageRequester_OK) EndIf ; Eine kleine Struktur, um die Beschreibung für "fortgeschrittene Anwender" (siehe oben) zu demonstrieren Structure Programmer Name.s Strength.b EndStructure Structure SuperGeek *Next.SuperGeek *Previous.SuperGeek Name.s ; The same field than the 'Programmer' structure Strength.b EndStructure NewList Programmers.Programmer() ; The list for storing the elements *Element.SuperGeek = AddElement(Programmers()) If *Element<>0 *Element\Name = "Dave" *Element\Strength = 3 ; Wow, super-strong geek! ;) Else MessageRequester("Fehler!", "Kein Speicherplatz zum Reservieren des neuen Elements", #PB_MessageRequester_OK) EndIf
Unterstützte OS
All