Integerlisten für 32Bit-Werte.
Allgemeine Beispiele zur Verwendung der Klasse list finden sie hier.
Integerlisten für 32Bit-Werte. Die Listen können mit den Objekt-IDs der Listenpaletten (z.B. der Produktrecherche) oder 'manuell' gefüllt werden.
static List list::alloc(
int classid,
int selection_type = 0,
int id_index = 1)
Hole die Objektliste der Palette, die die Objekte der gewünschten classid enthalten. Wird keine entsprechende Palette gefunden, wird 0 zurückgegeben. Sonst wird die Liste mit den gewünschten IDs der geladenen Objekte gefüllt. Die Ergebnisliste muss mit list::release wieder gelöscht werden.
[ab v3.3 R3136] Beim Schließen von Paletten entfernt InDesign® alle Listeneinträge der Listen der Palette. Wenn die Liste beim erneuten Öffnen wieder den alten Inhalt zeigt,
dann nur deshalb, weil wir sie sofort wieder mit den alten Daten füllen. Ein recht aufwendiger Prozess.
Da wir die Daten aber schon mal haben, können wir sie auch für list::alloc auch verwenden und Ergebnisse liefern,
auch wenn die Palette unsichtbar ist.
ACHTUNG : Das geht natürlich nur für die Auswahltypen kAll und kEyeMarked.
kSelected liefert bei unsichtbaren Paletten weiterhin eine leere Liste - eine Auswahl haben unsichtbare Listen nach wie vor nicht!
Name | Typ | Default | Beschreibung |
Return | List | Erzeugte Liste oder 0 | |
classid | int | - | KlassenID der Palette Die folgenden Paletten werden unterstützt:
|
selection_type | int | kAll | kAll = Alle Datensätze der Palette kEyeMarked = Nur die mit dem Auge markierten Datensätze der Palette kSelected = Nur die selektierten Einträge der Palette |
id_index | int | 1 | Welche IDs sollen geholt werden? 1 = ID, 2 = ID2, 3 = ID3 |
Erzeuge eine Liste mit den IDs der markierten Produkte
#include "internal/panels.h"
List li = list::alloc (kPanelProducts, kEyeMarked, 1);
static List list::alloc()
Erzeuge eine neue leere Liste. Die Liste muss mit list::release wieder gelöscht werden.
Name | Typ | Default | Beschreibung |
Return | List | Erzeugte Liste oder 0 |
Erzeuge eine neue leere Liste
List = list::alloc (); : list::release (li);
Exportiere alle ungeraden Seiten des aktuellen Dokumentes in ein PDF.
int main() { List pnums = list::alloc (); int p;
for (p = 0; p < document::pages (); p += 2) { list::append (pnums, p); }
document::pdf_export (0, "$DESKTOP/aaa.pdf", "", 2, pnums);
return 0; }
static int list::release(List li)
Lösche eine mit list::alloc erzeugte Liste wieder
Name | Typ | Default | Beschreibung |
li | List | - | Zu löschende Liste |
static int list::length(List li)
Ermittle die Anzahl der Elemente einer Liste
Name | Typ | Default | Beschreibung |
Return | int | Anzahl der Einträge der Liste | |
li | List | - | Liste |
int len = list::length (li);
static int list::first(List li)
Hole den ersten Eintrag einer nichtleeren einer Liste
Name | Typ | Default | Beschreibung |
Return | int | Erster Wert der Liste | |
li | List | - | Liste mit mindestens einem Element |
Das folgende Beispiel kann für Listen verwendet werden, die keinen 0-Eintrag haben.
int main () { List li = list::alloc (); int i;
for (i=1; i<6; i++) list::insert (li, 3*i); for (i=list::first (li); i; i=list::next (li)) { showmessage ("%d", i); } list::release (li); }
static int list::next(List li)
Hole den nächsten Eintrag einer Liste.
Name | Typ | Default | Beschreibung |
Return | int | Nächster Wert der Liste | |
li | List | - | Liste mit mindestens einem Element nach dem aktuellen Listenzeiger |
Das folgende Beispiel kann für Listen verwendet werden, die keinen 0-Eintrag haben.
int main () { List li = list::alloc (); int i;
for (i=1; i<6; i++) list::insert (li, 3*i); for (i=list::first (li); i; i=list::next (li)) { showmessage ("%d", i); } list::release (li); }
static int list::prev(List li)
Hole den vorherigen Eintrag einer Liste.
Name | Typ | Default | Beschreibung |
Return | int | Wert der Vorgängers in der Liste | |
li | List | - | Liste mit mindestens einem Element nach dem aktuellen Listenzeiger |
Das folgende Beispiel kann für Listen verwendet werden, die keinen 0-Eintrag haben.
int main () { List li = list::alloc (); int i;
for (i=1; i<6; i++) list::insert (li, 3*i); for (i=list::last (li); i; i=list::prev (li)) { showmessage ("%d", i); } list::release (li); }
static int list::last(List li)
Hole den letzten Eintrag einer nichtleeren einer Liste
Name | Typ | Default | Beschreibung |
Return | int | Erster Wert der Liste | |
li | List | - | Liste mit mindestens einem Element |
Das folgende Beispiel kann für Listen verwendet werden, die keinen 0-Eintrag haben.
int main () { List li = list::alloc (); int i;
for (i=1; i<6; i++) list::insert (li, 3*i); for (i=list::last (li); i; i=list::prev (li)) { showmessage ("%d", i); } list::release (li); }
static int list::get_pos(
List li,
int val,
int setPos = 0)
Suche die Position eines Wertes in der Liste. Wird der Wert nicht gefunden, gibt die Funktion -1 zurück. Listenposition sind 0-basiert, das erste Element hat also die Position 0, das letzte die Position length-1.
Name | Typ | Default | Beschreibung |
Return | int | >= 0 : Erstes Auftreten des Wertes in der Liste -1 : Wert nicht gefunden |
|
li | List | - | Liste, in der dxer Wert gesucht werden soll |
val | int | - | Dieser Wert wird gesucht |
setPos | int | 0 | 0 : Listenposition unverändert lassen 1 : Aktuelle Listenposition auf Fundstelle setzen |
pos = list::get_pos (li, val [, setPos]);
static int list::get(
List li,
int pos,
int doSelect= 0)
Hole das i-te Element der Liste. Listenposition sind 0-basiert, das erste Element hat also die Position 0, das letzte die Position length-1.
Name | Typ | Default | Beschreibung |
Return | int | Wert der Liste an der Stelle i oder -1 | |
li | List | - | Liste, aus der das Element geholt werden soll |
pos | int | - | 0-basierte Listenposition |
setPos | int | 0 | 0 : Listenposition unverändert lassen 1 : Aktuelle Listenposition auf pos setzen |
k = list::get (li, pos [, setPos]);
static int list::append(List li, int val)
Element an die Liste anfügen
Name | Typ | Default | Beschreibung |
Return | int | 1 Aktion erfolgreich, 0 sonst | |
li | List | - | Liste, an die angefügt werden soll |
val | int | - | Anzufügendener Wert |
list::append (li, k);
static int list::insert(
List li,
int val,
int pos = -1)
Element in die Liste einfügen. Listenposition sind 0-basiert, das erste Element hat also die Position 0, das letzte die Position length-1.
Name | Typ | Default | Beschreibung |
Return | int | 1 Aktion erfolgreich, 0 sonst | |
li | List | - | Liste, an die angefügt werden soll |
val | int | - | Anzufügendener Wert |
pos | int | - | Einfügestelle. 0 = Listenanfang, Werte < 0 oder >= length = Anfügen |
list::insert (li, 3, 0);
static int list::remove(
List li,
int val,
int rmAll = 1)
Alle Auftreten eines Wertes werden aus der Liste entfernt. Ab R1396 (26.6.2009) können Sie mit einem zusätzlichen Parameter fest6legen, dass nur das erste Auftreten des Wertes gelöscht wird.
Name | Typ | Default | Beschreibung |
Return | int | 1 Aktion erfolgreich, 0 sonst | |
li | List | - | Liste, an die angefügt werden soll |
val | int | - | Wert, der aus der Liste entfernt werden soll |
rmAll | int | - | Lösche alle oder nur das erste Vorkommen des Wertes 1 : alle löschen 0 : nur das erste löschen (wenn es eins gibt) |
Im Beispiel sehen sie die Wirkungsweise von remove und remove_pos
int main () { int i; List li = list::alloc ();
for (i=1; i< 6; i++) list::append (li, i); list::insert (li, 2);
for (i=0; i< list::length (li); i++) { // 123452 showmessage ("1:%d", i+1, list::get (li, i)); }
list::remove_pos (li, 3); for (i=0; i< list::length (li); i++) { // 12352 showmessage ("2:%d", i+1, list::get (li, i)); }
list::remove (li, 2); for (i=0; i< list::length (li); i++) { // 135 showmessage ("3:%d", i+1, list::get (li, i)); }
list::release (li); }
static int list::remove_pos(List li, int pos)
Entferne eine Position aus der Liste. Listenposition sind 0-basiert, das erste ElementElement hat also die Position 0, das letzte die Position length-1.
Name | Typ | Default | Beschreibung |
Return | int | 1 Aktion erfolgreich, 0 sonst | |
li | List | - | Liste |
pos | int | - | 0-basierte Löschposition |
Im Beispiel sehen sie die Wirkungsweise von remove und remove_pos
int main () { int i; List li = list::alloc ();
for (i=1; i< 6; i++) list::append (li, i); list::insert (li, 2);
for (i=0; i< list::length (li); i++) { // 123452 showmessage ("1:%d", i+1, list::get (li, i)); }
list::remove_pos (li, 3); for (i=0; i< list::length (li); i++) { // 12352 showmessage ("2:%d", i+1, list::get (li, i)); }
list::remove (li, 2); for (i=0; i< list::length (li); i++) { // 135 showmessage ("3:%d", i+1, list::get (li, i)); }
list::release (li); }
static int list::clear(List li)
Entferne alle Elemente der Liste
Name | Typ | Default | Beschreibung |
Return | int | 1 Aktion erfolgreich, 0 sonst | |
li | List | - | Liste |
list::clear (li);
static int list::reload(long classid, long reloadAll = 0)
Neuladen der Datensätze einer Palettenliste. Wenn Sie die komplette Palettenliste neu laden wollen, rufen Sie die Funktion mit dem Parameter reloadAll = 1 auf, sonst werden nur die Einträge selbst neu geladen. Wenn sie nur die Linkbuttons der Liste(n) aktualisieren wollen, können sie den Befehl placeholder::update_link_states verwenden.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
classid | int | - | Von WERK II vergebene Palettennummer 0 - alle geöffneten Paletten aktualisieren |
reloadAll | int | 0 | Komplette Liste neu laden? 0 : Nein, nur die Listeneinträge neu laden 1 : Ja, die Liste komplett neu laden |
Neuladen der Einträge Palette 'Produktrecherche'
err_code = list::reload (3);
static int list::classid(List li)
ClassID der Listeneinträge. Mit dieser Klasse wurde die Liste initalisiert (list::alloc).
Name | Typ | Default | Beschreibung |
Return | int | 0 oder ClassID. | |
li | List | - | Liste, deren classid ermittelt werden soll |
static int list::index(List li)
Welche IDs beinhaltet die Liste. Mit diesem Wert wurde die Liste initialisiert.
Name | Typ | Default | Beschreibung |
Return | int | 0 : Undefiniert 1 : ID 2 : ID2 3 : ID3 |
|
li | List | - | Liste, deren Index-Typ ermittelt werden soll |
static int list::complete(List li)
Enthält die Liste alle IDs der Palette oder nur die ausgewählten Einträge?
Name | Typ | Default | Beschreibung |
Return | int | 0 : Nur ausgewählte Einträge 1 : alle Einträge der Palette |
|
li | List | - | Liste |
static char* list::gettext(
List li,
long index,
char* attribute,
char* result)
Hole den Wert eines Elementes einer Liste. Die erfragbaren Attribute sind von der ClassID der Liste abhängig.
Wurde die Liste als Palettenliste angelegt (alloc mit Angabe einer ClassID) werden zur Berechnung der aktuellen Werte der Liste nur deren ClassID, Auswahltyp und Länge verwendet. Die Werte der Elemente werden direkt aus der Palettenliste geholt, Inhalte der Listeneinträge bleiben unberücksichtigt.
Wurde die Liste nicht mit einer KlassenID oder mit einer unbekannten KlassenID erzeugt, wird der Elementinhalt direkt aus der Liste ermittelt. Die Attribut-Angabe bleibt dann unberücksichtigt.
Palette | ClassID | Name | Typ |
Produktrecherche | kPanelProducts | ID | int |
ID2 | int | ||
ID3 | int | ||
StringID, STRINGID und ab v3.1 R1800 jeweils mit 1, 2, 3 am Ende für Multi-StringIDs | char* | ||
Num | char* | ||
Name | char* | ||
Depth | int | ||
ClassID | int | ||
ImageID | int | ||
StatementID | int | ||
HasPlacement | int | ||
DocID | int | ||
Masterpage | char* | ||
Grid | char* | ||
GridElement | char* | ||
GridID | int | ||
GridElementID | int | ||
PageitemID, Template des Produktes | int | ||
Previews | kPanelPreviews | ID | int |
ID2 | int | ||
ID3 | int | ||
StringID, STRINGID und ab v3.1 R1800 jeweils mit 1, 2, 3 am Ende für Multi-StringIDs | char* | ||
Key | int | ||
Key2 | int | ||
Key3 | int | ||
MyClassID | int | ||
ToDelete | int | ||
Width | int | ||
Height | int | ||
Resolution | int | ||
BitDepth | int | ||
Path | char* | ||
FileName | char* | ||
Format | char* | ||
Column1 | char* | ||
Column2 | char* | ||
Column3 | char* | ||
Text | char* | ||
ImageAlign | int | ||
ImageSize | float | ||
ClipIndex | int | ||
ClipFlags | int | ||
ClipToFrame | int | ||
ClipTolerance | float | ||
ClipMinPathsize | float | ||
ClipInset | float | ||
AlphaIndex | int | ||
AlphaChannel | string | ||
[Seit v5.0 R37000] AlphaTreshold | int | ||
Templates | kPanelPageitems | ID | int |
ID2 | int | ||
ID3 | int | ||
ToDelete | int | ||
Name | char* | ||
Type | char* | ||
Mandant | char* | ||
State | char* | ||
Description | char* | ||
Left | float | ||
Top | float | ||
Right | float | ||
Bottom | float | ||
Seitentemplates | kPanelPageTemplates | ID | int |
Name | char* | ||
Activated | int | ||
PageType | int | ||
Oposite | int | ||
Successor | int | ||
Masterpages | int | ||
Docu | char* | ||
BackLayers | char* | ||
PageScript | int | ||
Publikationen | kPanelPublications | siehe Publikations-Tags, an dieser Stelle macht natürlich nur die Auswertung der palettenspezifischen Tags Sinn. Die parent.-Abfragen sind erlaubt. |
Name | Typ | Default | Beschreibung |
Return | String oder char* (Abhängig von Parameter result) | Attributwert oder leer. Das Ergebnis ist ein Zeiger auf result. Wenn result vom Typ char* ist, muss der Zeiger über genügend zugewiesenen Speicher verfügen (char[1000], alloc (1000)). | |
li | List | - | Liste Die folgenden Paletten werden unterstützt:
|
index | int | - | 0-basierter Listenindex. Der Index ist davon abhängig, wie die Liste allokiert wurde (kAll, kEyeMarked, kSelected), siehe hier. |
attribute | String oder char* | - | Attributname Integer- und Float-Werte werden automatisch in Strings umgerechnet. Wollen Sie Integer- oder Float-Werte direkt abholen, können auch die Funktionen getint bzw. getfloat verwendet werden. |
result | String oder char* | - | Reservierter Speicher für das Ergebnis. |
Das Beispiel zeigt für jeden "geaugten" Eintrag der Produktrecherche dessen StringID.
int main () { char s1[512]; List prod = list::alloc (3,1,1); int i = 0;
for (i=0; i<list::length (prod); i++) { list::gettext (prod, i, "StringID", s1);
showmessage (s1); }
return 0; }
static int list::getint(
List li,
long index,
char* attribute)
Hole den Wert eines Elementes der Liste als Ganzzahl. Die erfragbaren Attribute sind von der ClassID der Liste abhängig. Enthält das Attribut einen Text- oder Floatwert ist das Ergebnis des Aufrufes undefiniert.
Wurde die Liste als Palettenliste angelegt (alloc mit Angabe einer ClassID) werden zur Berechnung der aktuellen Werte der Liste nur deren ClassID, Auswahltyp und Länge verwendet. Die Werte der Elemente werden direkt aus der Palettenliste geholt, Inhalte der Listeneinträge bleiben unberücksichtigt.
Wurde die Liste nicht mit einer KlassenID oder mit einer unbekannten KlassenID erzeugt, wird der Elementinhalt direkt aus der Liste ermittelt. Die Attribut-Angabe bleibt dann unberücksichtigt.
Name | Typ | Default | Beschreibung |
Return | int | Attributwert | |
li | List | - | Liste Die folgenden Paletten werden unterstützt:
|
index | int | - | 0-basierter Listenindex. Der Index ist davon abhängig, wie die Liste allokiert wurde (kAll, kEyeMarked, kSelected), siehe hier. |
attribute | String oder char* | - | Attributname. Es können nur Werte geholt werden, die in der obigen Liste als int gekennzeichnet sind. Andere Attributwerte können Fehlern führen. |
static float list::getfloat(
List li,
long index,
char* attribute)
Hole den Wert eines Elementes der Liste als Kommazahl. Die erfragbaren Attribute sind von der classid der Liste abhängig. Enthält das Attribut einen Text oder Int-wert ist das Ergebnis des Aufrufes undefiniert.
Wurde die Liste als Palettenliste angelegt (alloc mit Angabe einer ClassID) werden zur Berechnung der aktuellen Werte der Liste nur deren ClassID, Auswahltyp und Länge verwendet. Die Werte der Elemente werden direkt aus der Palettenliste geholt, Inhalte der Listeneinträge bleiben unberücksichtigt.
Wurde die Liste nicht mit einer KlassenID oder mit einer unbekannten KlassenID erzeugt, wird der Elementinhalt direkt aus der Liste ermittelt. Die Attribut-Angabe bleibt dann unberücksichtigt.
Name | Typ | Default | Beschreibung |
Return | float | Attributwert | |
li | List | - | Liste Die folgenden Paletten werden unterstützt:
|
index | int | - | 0-basierter Listenindex. Der Index ist davon abhängig, wie die Liste allokiert wurde (kAll, kEyeMarked, kSelected), siehe hier. |
attribute | String oder char* | - | Attributname. Es können nur Werte geholt werden, die in der obigen Liste als float gekennzeichnet sind. Andere Attributwerte können Fehlern führen. |
static int list::open_tree(int panel, int depth)
Öffne alle Einträge einer Palette.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
panel | int | - | Welche Liste soll verwendet werden? kPanelProducts (=3) : Produktrecherche Zur Zeit werden keine weiteren Paletten unterstützt. Für die PalettenIDs verwenden Sie den Incude #include "internal/panels.h". |
depth | int | - | Tiefe, bis zu der geöffnet werden soll. 0 : Alle Einträge schließen -1 : Einträge eine Ebene weiter öffnen -2 : Einträge bis zu tiefster gezeigter Ebene öffnen -3 : Alle Einträge öffnen -4 : Alle Einträge schließen sonst : Alle Einträge bis max. zu dieser Ebene öffnen. Tiefere Ebenen werden nicht geschlossen. |
static int list::get_autoload(int classID = 3)
Ist das "autoload"-Button der Palette aktiviert oder nicht? Die Funktion ist nur für die Produktrecherche (classID 3) implementiert und nur für InDesign® Desktop.
In allen anderen Fällen liefert die Funktion den Wert 1.
Name | Typ | Default | Beschreibung |
Return | int | Ist das "autoload"-Button ![]() 1 : Ja oder InDesign® Server oder nicht die Produktrecherche 0 : Nein |
|
classID | int | 3 | Welche Palette soll befragt werden? Zur Zeit wird nur die Palette "Produktrecherche" (classID 3) unterstützt. |
static int list::set_autoload(int classID = 3, int newState = 1)
Ändern des "autoload"-Buttons der Palette. Die Funktion ist nur für die Produktrecherche (classID 3) implementiert und nur für InDesign® Desktop. In allen
amderen Fällen hat der Aufruf keine Wirkung.
Name | Typ | Default | Beschreibung |
Return | int | Alter Status des Buttons. | |
classID | int | 3 | Welche Palette soll geändert werden? Zur Zeit wird nur die Palette "Produktrecherche" (classID 3) unterstützt. |
newState | int | 1 | Neuer Status des Buttons 0 : inaktiv (grau) 1 : aktiv (grün) |
static char* list::to_xml(List list, char* rootElementName = "integers")
Generiere die XML Struktur eines List-Objekts.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
list | List | - | Object |
rootElementName | String oder char* | integers | Name des Root-Elements |
static List list::from_xml(char* xml)
Generiere eine List-Objekt aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | List | Objekt vom Typ List. Dieses Objekt muss mit productlist::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static int list::add_all(
List target,
List src,
int deleteFromSource)
Füge alle Elemente der Liste src in die Liste target ein.
Bei deleteFromSource != 0 werden die Elemente aus der Quellliste entfernt (aber nicht freigegeben)
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode. | |
target | List - | Zielliste | |
src | List - | Quellliste | |
deleteFromSource | 0 | Elemente aus der Quelliste entfernen |
static int list::sort(List li, int direction = 0)
Sortieren einer Liste.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
li | List | - | Liste, deren Einträge sortiert werden sollen |
direction | int | 0 | Sortierreihenfolge 0 : aufsteigend 1 : absteigend |
int main () { List li = list::alloc (); int i;
list::insert (li, 12); list::insert (li, 20); list::insert (li, 9); list::insert (li, 3); list::insert (li, 42);
wlog ("", "sort ascent\n"); list::sort (li); for (i = 0; i < list::length (li); i++) wlog ("", "%d\t%d\n", i+1, list::get (li, i)); wlog ("", "\n\n");
wlog ("", "sort descent\n"); list::sort (li, 1); for (i = 0; i < list::length (li); i++) wlog ("", "%d\t%d\n", i+1, list::get (li, i)); wlog ("", "\n\n");
return 0; }
Das folgende Beispiel kann für Listen verwendet werden, die keinen 0-Eintrag haben.
int main () { List li = list::alloc (); int i;
for (i=1; i<6; i++) list::insert (li, 3*i);
for (i=list::first (li); i; i=list::next (li)) { showmessage ("%d", i); } list::release (li); }
Auch das folgende Beispiel kann für Listen verwendet werden, die keinen 0-Eintrag haben. Da die Listen hier als ID-Listen der Palette Produktrecherche erzeugt werden, ist das sichergestellt : Die Listenplugins enthalten nur Einträge, deren erste ID > 0 ist.
int main () { List li, li2, li3; int id, id2, id3;
li = list::alloc (3, 0, 1);// Alle IDs li2 = list::alloc (3, 0, 2);// Alle ID2s li3 = list::alloc (3, 0, 3);// Alle ID3s
if (!li || !li2 || !li3) { showmessage ("'Produktrecherche' nicht geöffnet."); return 1; }
id = list::first (li); id2 = list::first (li2); id3 = list::first (li3); while (id) { showmessage ("ID=(%d, %d, %d", id, id2, id3);
id = list::next (li); id2 = list::next (li2); id3 = list::next (li3); }
list::release (li); list::release (li2); list::release (li3); }
Das dritte Beispiel funktioniert für beliebige Listen
int main () { List li = list::alloc (); int i; int val;
for (i = 1; i < 6; i++) list::insert (li, 3*i); for (i = 0; i < list::length (li); i++) { val = list::get (li, i) showmessage ("%d", val); } list::release (li); }
Im folgenden Beispiel sehen sie die Wirkungsweise von remove und remove_pos
int main () { int i; List li = list::alloc ();
for (i=1; i< 6; i++) list::append (li, i); list::insert (li, 2);
for (i=0; i< list::length (li); i++) { // 123452 showmessage ("1:%d", i+1, list::get (li, i)); }
list::remove_pos (li, 3); for (i=0; i< list::length (li); i++) { // 12352 showmessage ("2:%d", i+1, list::get (li, i)); }
list::remove (li, 2); for (i=0; i< list::length (li); i++) { // 135 showmessage ("3:%d", i+1, list::get (li, i)); }
list::release (li); }
Alphabetic index HTML hierarchy of classes or Java