Navigation: Platzhalter und Variablen > Platzhalter Pro-Lizenz >

Platzhalter: Stapel

Diese Seite drucken
Vorherige Seite Nächste Seite
Zurück zur Kapitelübersicht

Stapel-Platzhalter per [Stapel(ID).X]:  (Beispiele)

 

Diese Platzhalter ermöglichen das Ablegen und wieder Aufnehmen von Werten auf einen Stapel.

Beim Ablegen wird der Wert direkt auf den Stapel gelegt, beim Abnehmen wird der je nach Typ zuerst wieder auszulesende Wert gelesen und vom Stapel entfernt. Der Typ bestimmt die Reihenfolge, in der die Werte abgenommen werden sollen. Der direkte Zugriff auf Elemente kann auch per [Stapel(ID).Wert X] erfolgen.

 

Ebenso können Stapel als Variablenfelder (Arrays) verwendet werden, da beliebige Zugriffe auf Elemente über einen Index möglich sind. Außerdem sind eine Vielzahl an Auswertungen und Bearbeitungsfunktionen für die im Stapel enthaltenen Daten verfügbar (s.u.).

Es können beliebig viele Stapel verwendet werden, die in den Platzhaltern durch die in Klammern angegebene ID adressiert werden.

 

.AblesenLesen: Nächsten Eintrag vom Stapel ablesen (nicht entfernen)
.AbnehmenLesen: Nächsten Eintrag vom Stapel nehmen (und entfernen)
.AktuellerIndexliefert Elementeindex bei [Stapel.VerarbeiteMit] verarbeitetes oder als Duplikat erkanntes Listenelement

 

.AnhängenSetzen: Stapelinhalt aus zusammengesetzter Liste ergänzen;
optional kann ein Trennzeichen angegeben werden, etwa [Stapel(x).Anhängen(;)]
.AnzahlLesen: Anzahl Einträge auf Stapel
Setzen auf 1...n: löscht überzählige Einträge bzw. fügt fehlende als Leereinträge hinzu
.AuflegenSetzen: Wert auf Stapel legen
.LöschenLesen/Setzen: Stapel leeren und ggf. Anzahl liefern
.Löschen(n)Lesen/Setzen: Eintrag n aus dem Stapel löschen und ggf. alten Wert liefern

 

.LetzterFehlerLesen: Nummer des zuletzt aufgetretenen Fehlers
1=Überlauf, 2=ungültiger Index, 3=keine Daten

 

.Einfügen(n)Setzen: Wert in Stapel an Position n einfügen (n>0: hinter n, n<0: vor -n)
.AnhängenSetzen: Wert an Stapel anhängen

 

.EntfernenSetzen auf Maske(n) löscht alle dazu passenden Einträge
.FilternSetzen auf Maske(n) löscht alle nicht dazu passenden Einträge
Für beide gilt:
Masken mit Wildcards ohne Berücksichtigung der Groß-/Kleinschreibung, etwa
"ABC*" für alle mit "abc" beginnenden Einträge oder "A*;*O*" für alle Einträge, die mit A beginnen oder ein O enthalten
Anklicken, um das Beispiel anzuzeigenBeispiel: Gefilterte Druckerliste
***  Druckerliste filtern und anzeigen
Setze  in [Stapel(Drucker).Liste]:  '[Drucker.Liste]'
Setze  in [Stapel(Drucker).Filtern]:  'Microsoft*'
Meldung  "[Stapel(Drucker).Liste]" (Titel: 'MS-Drucker', Info, OK)

**cX400453 F94FCDS1F4 2CMQkwCQkg RHJ1Y2tlcm xpc3RlIGZp bHRlcm4gdW 5kIGFuemVp Z2VuDQoyMg kwCQkgW0Ry dWNrZXIuTG lzdGVdCT1T dGFwZWwoRH J1Y2tlciku TGlzdGUNCj IyCTAJCSBN aWNyb3NvZn QqCT1TdGFw ZWwoRHJ1Y2 tlcikuRmls dGVybg0KMw kwCQlNNjQJ QjAJVE1TLU RydWNrZXIJ IFtTdGFwZW woRHJ1Y2tl cikuTGlzdG VdDQo==* 

 

.MaximalAnzahlLesen/Setzen: Maximale Anzahl Elemente auf dem Stapel (0=beliebig)

 

.SortierenSetzen zum Sortieren:
0=mischen,
1=alphanumerisch aufsteigend, -1=absteigend,
2=numerisch aufsteigend, -2=absteigend
.KeineDuplikate 0=Duplikate erlaubt, 1=nicht erlaubt, 2=nicht erlaubt (Groß-/Kleinschreibung berücksichtigen)
=> beim Auflegen von unerwünschten Duplikaten wird dann das Ereignis ::Stapel(ID)_Duplikat aufgerufen mit dem doppelten Wert in [Stapel(ID).AktuellesElement]
.LöscheDuplikateSetzen auf 0 (erlaubt), 1 (nicht erlaubt) oder 2 (nicht erlaubt, Groß-/Kleinschreibung berücksichtigen)
.TauschenSetzen auf X;Y tauscht die Einträge mit den Indices X und Y aus
.ZufallszahlenSetzen auf X;Y;Z füllt den Stapel mit x Zufallszahlen zwischen Z (optional, Standard=1) bis Y

 

.Suchen(X)Lesen zum Suchen der Stapeleintragnummer, die zum Suchbegriff X passt (* und ? möglich)
.SuchenAb(n;X)Suchen nach zu X passendem Wert (Wildcards möglich) ab Eintrag n; Ergebnis 0 für "nicht gefunden" bzw. Werteindex

 

.TypLesen/Setzen: Typ des Stapels x: 0=LIFO (zuletzt aufgelegter Wert wird zuerst abgenommen), 1=FIFO (zuerst abgelegter Wert wird zuerst abgenommen)

 

.Wert(n)Lesen/Setzen: Eintrag Nummer n vom Stapel auslesen (nicht entfernen) bzw. setzen, wobei n auch eine Formel sein kann
Beispiel: [Stapel(ID).Wert 1+1] liest den 2. Wert aus dem Stapel, Setze in [Stapel(Teststapel).Wert(1+1)]: 'Wert2' legt ihn fest

 

.ListeLesen/Setzen: Stapelinhalt als zusammengesetzte Liste; optional kann ein Trennzeichen angegeben werden, etwa [Stapel(x).Liste(;)]
Diese Liste kann etwa in eine Datei geschrieben bzw. aus einer Datei ausgelesen werden
.ListeFilter XGefilterter Stapelinhalt als zusammengesetzte Liste; als Filter wird eine Vergleichsmaske angegeben, etwa [Stapel(x).ListeFilter A*]

 

.SerialisiertLiest/Setzt den gesamten Inhalt des Stapels als serialisierte Zeichenkette (kompatibel zu [Var(x)._Serialisiert])

 

.SummeLiefert die Summe der numerischen Stapelwerte
.MaximumLiefert den größten numerischen Wert auf dem Stapel
.MinimumLiefert den kleinsten numerischen Wert auf dem Stapel
.LängsterLiefert den längsten Eintrag auf dem Stapel
.KleinsterLiefert den kürzesten Eintrag auf dem Stapel

 

.AktuellesElementgibt das aktuelle Element bei der Verarbeitung oder in Fehlern an
.VerarbeiteMitbearbeitet alle Einträge im Stapel mit der gesetzten Formel; [Stapel(ID).AktuellesElement] steht hierbei für das jeweils bearbeitete Element. Die Formel darf nicht im Voraus berechnet werden, da sie vom Stapel selbst ausgewertet wird. Beispiel:
Setze  in [Stapel(Test).VerarbeiteMit]:  '[Rechne([Stapel(Test).AktuellesElement] * 2)]'

 

.VergleicheMitStapel(ID, Trennzeichen)
vergleicht diesen Stapel mit Stapel(ID) und liefert Vergleichsliste der Stapelelemente, getrennt mit dem Trennzeichen

 

 

Folgende Ereignisse können vom Stapel ausgelöst werden:

 

::Stapel(ID)_Gelesenbei Auslesen aus dem Stapel (ohne Veränderung)
::Stapel(ID)_Verändertbei Veränderungen im Stapel
::Stapel(ID)_Fehler Zugriffsfehler, etwa bei Überschreitung des Maximums (falls angegeben) - siehe .LetzterFehler
::Stapel(ID)_DuplikatEs wurde ein unerwünschtes doppeltes Element aufgelegt (siehe .KeineDuplikate)

 

 


cX-Webseite: http://www.clickexe.de