LitDev 1.2.24.0 DE
http://litdev.uk/LitDev.De.html Extension API

LD3DView LDArray LDBits LDBlueTooth LDCall
LDChart LDClient LDClipboard LDColours LDCommPort
LDController LDControls LDCursors LDDataBase LDDateTime
LDDebug LDDialogs LDDictionary LDEffect LDEmail
LDEncryption LDEvents LDFastArray LDFastShapes LDFigures
LDFile LDFocus LDftp LDGeography LDGraph
LDGraphicsWindow LDHashTable LDHID LDIcon LDImage
LDInline LDIOWarrior LDList LDLogic LDMath
LDMathX LDMatrix LDMusic LDNetwork LDPhysics
LDProcess LDQueue LDRegex LDResources LDScrollBars
LDSearch LDServer LDSettings LDShapes LDShell
LDSort LDSound LDSpeech LDStatistics LDStopwatch
LDText LDTextWindow LDTimer LDTranslate LDUnits
LDUtilities LDVector LDWaveForm LDWebCam LDWindows
LDxml LDZip

LDList
Bietet Möglichkeiten zum Speichern von Werten (Zahl, String, Var) wie in einem 1D Array, der sich selbst neuordnet, sobald Elemente hinzugefügt oder entfernt werden.
Eine Liste ist ein effizienter Arrayspeicher (weit schneller als SB Arrays), kann durch Ganzzahlen indexiert werden und bietet diverse weitere Methoden.
Die Indexierung (ab 1) wird automatisch aktualisiert sobald sich die Liste ändert. Listenname vordefiniert zB. list = "" oder in "" (Intern: List#).

example 3D-samples\3DRubicCube.sb
other-samples\LDFastShapes.sb
http://social.technet.microsoft.com/wiki/contents/articles/24946.small-basic-list-extension.aspx
http://de.wikipedia.org/wiki/Menge_(Mathematik)

int = Intersect(A, B) 'A ∩ B
uni = Union(A, B) 'A ∪ B
nurA = Except(A, int) 'A - B
nurB = Except(B, int) 'B - A
xor = Union(nurA, nurB) 'Symmetr. Diff. A ⊕ B
xor2 = Except(uni, int) 'A ⊕ B
A⊕B = (A-B) ∪ (B-A) = (A∪B) - (A∩B)


Add Append Clear
Contains Copy Count
CreateFromIndices CreateFromValues Distinct
Except Find FindIndices
GetAt IndexOf InsertAt
Intersect Print Read
Remove RemoveAt Reverse
SetAt SortByNumber SortByText
SubList ToArray Union
Write

Add(listName,value)
Fügt einen Wert am Ende einer angegebenen Liste hinzu. Eine nicht bestehende Liste wird erstellt.
listName Der Name der Liste.
value Der anzufügende Wert (zB. String, SB Array, Zahl).
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.
example 'Liste A mit Werten 1-10
list = "A"
For n = 1 To 10
LDList.Add(list, n)
EndFor


Append(listName1,listName2)
Fügt am Ende der ersten Liste eine zweite Liste hinzu.
listName1 Der Name der ersten Liste.
listName2 Der Name der zweiten Liste zum Anfügen an listName1.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

Clear(listName)
Entfernt alle Werte von einer angegebenen Liste.
listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

Contains(listName,value)
Ermittelt ob ein angegebener Wert in einer Liste enthalten ist.
listName Der Name der Liste.
value Der gesuchte Wert.
returns "True" oder "False".

Copy(listName)
Kopiert eine Liste in eine neue Liste (Intern: List#+1).
listName Der Name der Liste.
returns Der Name der neuen Listenkopie bei Erfolg, sonst "".

Count(listName)
Ermittelt die Anzahl der Elemente in der angegebenen Liste.
listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

CreateFromIndices(sbArray)
Kopiert alle Indizes eines SB Array in eine neue Liste (Intern: List#+1).
sbArray Der Name des SB Array.
returns Der Name der erstellten Liste bei Erfolg, sonst "".

CreateFromValues(sbArray)
Kopiert alle Werte eines SB Array in eine neue Liste (Intern: List#+1).
Die Arrayindizes werden in der Liste ignoriert.

sbArray Der Name des SB Array.
returns Der Name der erstellten Liste bei Erfolg, sonst "".

Distinct(listName)
Ermittelt eine Teilliste einmaliger Werte (ohne Duplikate) von einer angegebenen Liste (Intern: List#+1).
Beim Textvergleich wird GROß-/kleinschr. ignoriert.

listName Der Name der Liste.
returns Der Name der neuen Teil-/Unterliste bei Erfolg, sonst "".

Except(listName1,listName2)
Ermittelt eine Liste nicht-gemeinsamer, unterschiedlicher Werte (Differenz-/Restmenge A\B, A-B) zweier angegebener Listen (Intern: List#+1).
Elemente von Liste A ohne die Elemente von B.
Beim Textvergleich wird GROß-/kleinschr. ignoriert.

listName1 Der Name der ersten Liste.
listName2 Der Name der zweiten Liste.
returns Der Name der neuen Restliste bei Erfolg, sonst "".

Find(listName,match,exact)
Ermittelt eine Teilliste gefundener Texttreffer in einer angegebenen Liste (Intern: List#+1).
Beim Textvergleich wird GROß-/kleinschr. ignoriert.

listName Der Name der Liste.
match Der gesuchte Text.
exact Exakte Übereinstimmung (GROß-/kleinschr. ignoriert)? "True" (Standard) oder "False" (Suchtext ist überhaupt in der Liste enthalten).
returns Der Name der neuen Teilliste mit Treffern bei Erfolg, sonst "".

FindIndices(listName,match,exact)
Ermittelt eine Teilliste mit den Indizes gefundener Texttreffer in einer angegebenen Liste (Intern: List#+1).
Beim Textvergleich wird GROß-/kleinschr. ignoriert.

listName Der Name der Liste.
match Der gesuchte Text.
exact Exakte Übereinstimmung (GROß-/kleinschr. ignoriert)? "True" (Standard) oder "False" (Suchtext ist überhaupt in der Liste enthalten).
returns Der Name der neuen Teilliste mit Trefferindizes bei Erfolg, sonst "".

GetAt(listName,index)
Ermittelt den Wert am angegebenen Index (ab 1) in einer Liste.
listName Der Name der Liste.
index Die zu ermittelnde Indexnummer.
returns Der Listenwert.

IndexOf(listName,value)
Ermittelt den Index (ab 1) des ersten Auftreten eines Wertes in der angegebenen Liste.
listName Der Name der Liste.
value Der Wert dessen Index gesucht ist (0 falls kein Fund).
returns Der Index des Wertes oder 0.

InsertAt(listName,index,value)
Fügt einen Wert am angegebenen Index (ab 1) in eine Liste ein.
listName Der Name der Liste.
index Der Index an dem eingefügt wird.
value Der einzufügende Wert.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

Intersect(listName1,listName2)
Ermittelt eine Liste von gemeinsamen, übereinstimmenden Werten (Schnittmenge A∩B, ohne Duplikate) zweier angegebener Listen (Intern: List#+1).
Gemeinsame Elemente von Liste A und B.
Beim Textvergleich wird GROß-/kleinschr. ignoriert.

listName1 Der Name der ersten Liste.
listName2 Der Name der zweiten Liste.
returns Der Name der neuen Schnittliste bei Erfolg, sonst "".

Print(listName)
Zeilenweise Ausgabe einer Liste im TextWindow (listName| 1 : val1| 2 : val2| ...).
Vorangestelltes 'TextWindow.WriteLine' gibt am Ende auch die Anzahl der Listenelemente aus.

listName Der Name der Liste.
returns Die Anzahl der Listenelemente bei Erfolg, sonst -1.

Read(filePath)
Ermittelt eine Liste aus einer Datei. Ein Listenwert je Zeile (Intern: List#+1).
filePath Der volle Dateipfad zum Einlesen der Liste.
returns Der Name der neuen Liste bei Erfolg, sonst "".

Remove(listName,match,exact)
Entfernt alle Vorkommen eines gefundenen Texttreffers in einer angegebenen Liste.
Beim Textvergleich wird GROß-/kleinschr. ignoriert.

listName Der Name der Liste.
match Der gesuchte Text.
exact Exakte Übereinstimmung (GROß-/kleinschr. ignoriert)? "True" (Standard) oder "False" (Suchtext ist überhaupt in der Liste enthalten).
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

RemoveAt(listName,index)
Entfernt einen Wert am angegebenen Index (ab 1) von einer Liste.
listName Der Name der Liste.
index Die zu entfernende Indexnummer.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

Reverse(listName)
Kehrt die Reihenfolge der Werte (Indizes) in einer angegebenen Liste um.
listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

SetAt(listName,index,value)
Setzt (ersetzt) den Wert am angegebenen Index (ab 1) in einer Liste.
listName Der Name der Liste.
index Die neu zu besetzende Indexnummer.
value Der zu setzende Wert.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

SortByNumber(listName)
Sortiert eine angegebene Liste, wobei deren Elemente als Zahlen behandelt werden (numerische Sortierung).
Alle Werte müssen Zahlen sein.

listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

SortByText(listName)
Sortiert eine angegebene Liste wobei deren Elemente als Textstrings behandelt werden (lexikalische Sortierung).
Bei der Sortierung wird GROß-/kleinschr. ignoriert.

listName Der Name der Liste.
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.

SubList(listName,start,length)
Ermittelt eine Teilliste von einer angegebenen Liste (Intern: List#+1).
listName Der Name der Liste.
start Der erste Index in der Teilliste.
length Die Länge der Teilliste.
returns Der Name der neuen Teil-/Unterliste bei Erfolg, sonst "".

ToArray(listName)
Konvertiert eine Liste zu einem SB Array.
Für große Listen nicht empfehlenswert.

listName Der Name der Liste.
returns Der Name des SB Array bei Erfolg, sonst "".
example 'Listenvergleich
arr1 = LDList.ToArray(list1)
arr2 = LDList.ToArray(list2)
'ev. erst LDList.SortByText/-Number
If arr1 = arr2 Then
TextWindow.WriteLine("Gleich")
Else
TextWindow.WriteLine("Verschieden")
EndIf


Union(listName1,listName2)
Ermittelt eine Liste kombinierter Werte (Vereinigungsmenge A∪B, ohne Duplikate) zweier angegebener Listen (Intern: List#+1).
Alle Elemente von Liste A und B.
Beim Textvergleich wird GROß-/kleinschr. ignoriert.

listName1 Der Name der ersten Liste.
listName2 Der Name der zweiten Liste.
returns Der Name der neuen Vereinigungsliste bei Erfolg, sonst "".

Write(listName,filePath,append)
Speichert eine Liste in eine Datei (Eine Zeile je Listenwert).
listName Der Name der Liste.
filePath Der volle Dateipfad zum Speichern der Liste.
append Am Ende einer existierenden Datei anhängen? "True" oder "False" (neue Datei erstellen).
returns Die Anzahl der Elemente in der Liste bei Erfolg, sonst -1.