Sorry, falls ich die Möglichkeit im WINST-scripten noch nicht entdeckt habe:
voll Freude entdeckte ich die (bescheidenen) Möglichkeiten im WINST, eine Schleife zu erstellen und damit evtl. Stringlistenmanipulationen durchzuführen.
Nachdem ich da evtl. von vbs etwas verwöhnt war, war die Enttäuschung doch gross, dass die Möglichkeiten im WINST etwas limitiert sind.
Ich wollte mittels einer Schleife (also mit for %s% in §liste$ do ...) Pfadangaben mit einem Zähler versehen.
Dabei gelang es mir zwar, die Länge der StringListe mittels count zu erheben, der Wert ist dann allerdings wieder ein String, der dann für einen Index (für z.B. eines Substrings) nicht herangezogen werden kann.
Jedenfalls: was mir fehlte, ist eine Operation wie z.B. Int("5"), wo ein String in eine Ziffer umgewandelt werden kann oder einfach ein Indexzähler, um die Anzahl der Elemente der Stringliste (oder eines Arrays) zu eruieren.
Vielen Dank
Gerhard
Looping und Stringfunktionen in WINST
Re: Looping und Stringfunktionen in WINST
Hallo Gerhard,
vielleicht stehe ich hier auf dem Schlauch, aber ich verstehe nicht ganz, was du vorhast. Warum willst du in einer for-Schleife über eine Stringliste auf einzelne Elemente der Stringliste zugreifen? Du kriegst den aktuellen Wert doch sowieso durch %s%.
Der Winst kennt nur Strings und Stringlisten. Das heißt aber nicht, dass der Winst mit "5" als Integer im String nichts anfangen kann. Guck mal ins Winst-Manual im Kapitel 8.5 Umgang mit Zahlen. Wenn dir da was fehlt, nehmen wir gerne Wünsche entgegen.
vielleicht stehe ich hier auf dem Schlauch, aber ich verstehe nicht ganz, was du vorhast. Warum willst du in einer for-Schleife über eine Stringliste auf einzelne Elemente der Stringliste zugreifen? Du kriegst den aktuellen Wert doch sowieso durch %s%.
Der Winst kennt nur Strings und Stringlisten. Das heißt aber nicht, dass der Winst mit "5" als Integer im String nichts anfangen kann. Guck mal ins Winst-Manual im Kapitel 8.5 Umgang mit Zahlen. Wenn dir da was fehlt, nehmen wir gerne Wünsche entgegen.
opsi support - uib gmbh
For productive opsi installations we recommend support contracts.
http://www.uib.de
For productive opsi installations we recommend support contracts.
http://www.uib.de
Re: Looping und Stringfunktionen in WINST
Ich glaub sein Problem ist das die Methode "count" einen String und keinen Integer zurück gibt. Deswegen das Int("5")
Eventuell hilft dir calculateDie pseudo-integer Funktion * count (<list>) [W/L]
ist eine pseudo Integer Funktion. Sie zählt die Elemente einer String-Liste <list>; das Resultat wird in einen String gewandelt. Ist $list1$ z.B.
a, b, c, d, e
so hat count ($list1$) den Wert "5".
Wenn du vbs lieber magst kannst du ja auch Exec_With verwenden.calculate(<str>) [W/L]
Stringfunktion welch den arithmetischen Ausdruck im String <str> berechnet und als gerundeten integer string zurückgibt.
Intern werden die Berechnungen mit reellen Zahlen durchgeführt. Die Funktion kennt derzeit die Operatoren +, -, *, / sowie Klammern (,).
Im Fehlerfall wird ein leerer String zurückgegeben und der Errorcounter um eins erhöht Enthält der übergebene String Zeichen die keine Zahlen oder gültige Operatoren sind, so ist dies ein Fehler.
Fehlt der zweite Operator, so wird hierfür der erste verwendet: 5+ = 10 ; 5* = 25. Daher sollte beim Zusammensetzen des übergebenen strings verwendete Variablen z.B. mit der Funktion isNumber auf Gültigkeit geprüft werden.
Seit 4.11.3.5
Re: Looping und Stringfunktionen in WINST
Danke für die replys.
Werde mir das nochmals anschauen - vielleicht habe ich ja was übersehen, wie eine Variable als Schleifengrösse verwendet werden kann.
Viele Grüße
Gerhard
Werde mir das nochmals anschauen - vielleicht habe ich ja was übersehen, wie eine Variable als Schleifengrösse verwendet werden kann.
Viele Grüße
Gerhard