fb:porticula NoPaste
collection.bas
Uploader: | ThePuppetMaster |
Datum/Zeit: | 13.04.2008 17:07:53 |
'##############################################################################################################
' LinkedList-Beispiel: Collection
'##############################################################################################################
'Dieses Beispiel zeigt die Bildung einer eindimensionalen Collection mit der LinkedList.
'Zuerst müssen wir das Modul includieren, das uns die ganzen Funktionen zur LinkedList
'Steuerung bereit stellt.
#include "linkedlist.bi"
'einen Handel-Pointer für die LinkedList erstellen
Dim shared G_Liste as integer PTR
'Noch kurz eine Variable die wir im Programm öffters brauchen, erstellen
Dim X as UInteger
'Anschliessend können wir Einträge in die Liste hinzufügen.
For X = 1 to 10
'Einen neues Element an die Liste anhängen
ColAdd(G_Liste, Chr(64 + X))
Next
'Jetzt geben wir das ganze kurz aus
For X = 1 to 10
'Das Element mit der Nummer 'X' ausgeben
Print ">" & ColGetStr(G_Liste, X) & "<"
Next
'Anschliessend leeren und zerstören wir die liste
ColDestroy(G_Liste)
'Die beiden 'Projekte' in der Ausgabe voneinander trennen
Print "--------------------"
'Wir können auch die Position angeben, an der Daten hinzugefügt werden sollen.
'Dazu erstellen wir erstmal 3 Einträge in die mittlerweile leere und zerstörte Liste.
'Wir müssen nicht zwangsweise eine Liste erstellen, bevor wir sie füllen. Das macht die
'Funktion für uns, wenn es merkt, das keine Liste vorhanden ist.
ColAdd(G_Liste, "Erster Eintrag")
ColAdd(G_Liste, "Zweiter Eintrag")
'Dann 'quetschen' wir einen Eintrag dazwischen, indem wir die Nummer des Elements angeben (2te Position)
'PS: Das Erste Element beginnt immer mit 1
ColAdd(G_Liste, "Quetsch", 2)
'Zu guter letzt geben wir wieder alles aus. Die Maximale Anzahl Einträge erfassen wir
'mit 'ColCount', wenn die Anzahl unbekannt sein sollte.
For X = 1 to ColCount(G_Liste)
'Das Element mit der Nummer 'X' ausgeben
Print ColGetStr(G_Liste, X)
Next