Standard Library Reference: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „== Introduction == The StandardLibrary contains general domain-independent function blocks. These are useful for any kind of test-development. One of the fea…“)
 
(Replace dup with redirection.)
 
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
#REDIRECT [[Standard Library]]
== Introduction ==
The StandardLibrary contains general domain-independent function blocks. These are useful for any kind of test-development.

One of the features which make the StandardLibrary very flexible is the dynamic type system of the underlying implementation language. This allows for the blocks to handle a wide range of possible input values. For example, arithmetic blocks ("Arith [ * ]") all allow for Integers, Floats, LargeIntegers, Fractions, FixedPoint-Decimals and Measurement Values to be used as input (where appropriate). And most of the collection blocks ("Collection [ * ]") can deal with Strings, ByteArrays, Buffer-Data, Arrays, OrderedCollections, Tuples, SortedCollections, Sets, HashTables (Dictionaries) and other collection types. Without such a dynamic type system, many more blocks would be needed for a comparable set of functions (see IEC1131, for example, which uses a similar execution model, but a static type system).

The automatic type conversion between Integer and LargeInteger (whenever a value cannot be represented within 32bit) and vice versa, and the automatic conversion of a quotient to a Fraction and the reduction back to an Integer avoid rounding errors and loss of precision.
 
 

{{noprint| 1=
Back to [[Online_Documentation#Library_and_Plugin_Overview | Online Documentation]]
}}

== Arithmetic ==

* [[ Arith Sum | '''Arith [ Sum ]''' ]]<br/> Sum of its numeric input values.
* [[ Arith Sumn | '''Arith [ SumN ]''' ]]<br/> Sum of its numeric input values (more input-pins available).
* [[ Arith Sum+ | '''Arith [ Sum+ ]''' ]]<br/> Sum of its numeric input values (arbitrary number of input pins) (2.3.0)
* [[ Arith Distance | '''Arith [ Distance ]''' ]]<br/> Absolute value of difference of its numeric input values.
* [[ Arith Difference | '''Arith [ Difference ]''' ]]<br/> Difference of its numeric input values.
* [[ Arith Difference+ | '''Arith [ Difference+ ]''' ]]<br/> Difference of its numeric input values (arbitrary number of input pins) (2.3.0).
* [[ Arith Product | '''Arith [ Product ]''' ]]<br/> Product of its numeric input values.
* [[ Arith Product+ | '''Arith [ Product+ ]''' ]]<br/> Product of its numeric input values (arbitrary number of input pins) (2.3.0).
* [[ Arith Quotient | '''Arith [ Quotient ]''' ]]<br/> Quotient of its numeric input values.
* [[ Arith Modulu | '''Arith [ Modulu ]''' ]]<br/> Remainder from dividing its numeric input values.
* [[ Arith Square Root | '''Arith [ Square Root ]''' ]]<br/> The square root.
* [[ Arith RaisedTo | '''Arith [ RaisedTo ]''' ]]<br/> Raising x to the n'th power. n max be a fraction (for roots).
* [[ Arith Ln | '''Arith [ Ln ]''' ]]<br/> The natural logarithm (base e).
* [[ Arith Lg | '''Arith [ Lg ]''' ]]<br/> The logarithm base 10.
* [[ Arith Ld | '''Arith [ Ld ]''' ]]<br/> The logarithm base 2. This could also be computed as: ln(input) / ln(2) (1.7.2).
* [[ Arith_Min and Arith_Max | '''Arith [ Min ]''' ]]<br/> Minimum of its numeric input values.
* [[ Arith_Min and Arith_Max | '''Arith [ Max ]''' ]]<br/> Maximum of its numeric input values.
* [[ Arith MinMax | '''Arith [ MinMax ]''' ]]<br/> Both Minimum and Maximum of its numeric input values (1.7.1).
* [[ Arith negated | '''Arith [ Negated ]''' ]]<br/> Negates its numeric input value.
* [[ Arith abs | '''Arith [ Abs ]''' ]]<br/> Returns the absolute value of its numeric input value.
* [[ Arith isEven | '''Arith [ IsEven? ]''' ]]<br/> True if the input is even (divisible by two) (1.7.1).
* [[ Arith isEvenOrOdd | '''Arith [ IsEvenOrOdd? ]''' ]]<br/> Provides the input number at one of its two outputs, depending on the input's divisibility by two.
* [[ Arith isPositive | '''Arith [ IsPositive? ]''' ]]<br/> True if the input is >= 0
* [[ Arith isNegative | '''Arith [ IsNegative? ]''' ]]<br/> True if the input is < 0
* [[ Arith isPositiveOrNegative | '''Arith [ IsPositiveOrNegative? ]''']]<br/> Pass the input number to one of two outputs depending on wether it is >=0 or <0.
* [[ Arith sign | '''Arith [ Sign? ]''' ]]<br/> Pass the input number to one of three outputs depending on wether it is >0, =0 or <0. (1.7.2).
* [[ Arith signum | '''Arith [ Signum ]''' ]]<br/> The signum (-1, 0 or 1) of the incoming number. (1.7.2).
* [[ Arith ceilFloorRound | '''Arith [ Ceiling ]''' ]]<br/> The ceiling (integer above) of the incoming number.
* [[ Arith ceilFloorRound | '''Arith [ Floor ]''' ]]<br/> The floor (integer below) of the incoming number.
* [[ Arith ceilFloorRound | '''Arith [ Round ]''' ]]<br/> The incoming number rounded to the nearest integer. (1.7.1).
* [[ Arith ceilFloorRound | '''Arith [ RoundTo ]''' ]]<br/> The incoming number rounded to the nearest multiple of the rounding value. (1.7.1).

=== Bit Manipulation ===
* [[ Arith highBit | '''Arith [ HighBit ]''' ]]<br/> The bitNumber of the highest bit (1.7.2).
* [[ Arith highBit | '''Arith [ LowBit ]''' ]]<br/> The bitNumber of the lowest bit (1.7.2).
* [[ Arith leftShift | '''Arith [ LeftShift ]''' ]]<br/> BitShift to the left (1.7.2).
* [[ Arith rightShift | '''Arith [ RightShift ]''' ]]<br/> BitShift to the right (1.7.2).
* [[ Arith bitAnd | '''Arith [ BitAnd ]''' ]]<br/> The bitwise AND of the two integral input values.(1.7.2).
* [[ Arith bitOr | '''Arith [ BitOr ]''' ]]<br/> The bitwise OR of the two integral input values. (1.7.2).
* [[ Arith bitXor | '''Arith [ BitXor ]''' ]]<br/> The bitwise XOR of the two integral input values. (1.7.2).

=== Trigonometric ===
* [[ Arith Trigonometric | '''Arith [ Sin ]''' ]]<br/> The sine of x.
* [[ Arith Trigonometric | '''Arith [ Cos ]''' ]]<br/> The cosine of x.
* [[ Arith Trigonometric | '''Arith [ Tan ]''' ]]<br/> The tanges of x.
* [[ Arith Trigonometric | '''Arith [ ArcSin ]''' ]]<br/> The arcsine of x. (1.7.1).
* [[ Arith Trigonometric | '''Arith [ ArcCos ]''' ]]<br/> The arccosine of x. (1.7.1).
* [[ Arith Trigonometric | '''Arith [ ArcTan ]''' ]]<br/> The arctangens of x.(1.7.1).
* [[ Arith_Pi%2C_Arith_E | '''Arith [ E ]''' ]]<br/> The euler constant E. (2.71828...).
* [[ Arith_Pi%2C_Arith_E | '''Arith [ Pi ]''' ]]<br/> The constant Pi. (3.14159...).

=== Misc Math ===
* [[ Arith isPrime | '''Arith [ IsPrime? ]''' ]]<br/> Provides the input number at one of its two outputs, depending on the primeness of the input. (1.7.2).
* [[ Arith isPrimeOrNot | '''Arith [ IsPrimeOrNot? ]''' ]]<br/> Provides the input number at one of its two outputs, depending on the primeness of the input. (1.7.2).
* [[ Arith Binomial Coefficient | '''Arith [ Binomial Coefficient ]''' ]]<br/> Return the number of choices to take k elements from a collection of n elements (Choose k from n).
* [[ Arith Fibonacci | '''Arith [ Fibonacci ]''' ]]<br/> Return the n'th fibonacci number (n >= 1).

* [[ Arith Factorial | '''Arith [ Factorial ]''' ]]<br/> Factorial of its integral input value.

=== Modulu Arithmetic ===
* [[ Arith Sum_32 | '''Arith [ 32bit Sum ]''' ]]<br/> Sum in 32 bit number range (1.7.3)
* [[ Arith Diff_32 | '''Arith [ 32bit Difference ]''' ]]<br/> Difference in 32 bit number range (1.7.3)
* [[ Arith Mul_32 | '''Arith [ 32bit Product]''' ]]<br/> Product in 32 bit number range (1.7.3)

== Assertions, Exceptions & Logging ==

* [[ fail | '''FAIL''' ]]<br/> Report a Failure. This means, that the system under test failed a test.
* [[ fail2 | '''FAIL2''' ]]<br/> Report a Failure. This means, that the system under test failed a test. Optionally decorate the failure-message with pre-/postFix string.
* [[ error | '''ERROR''' ]]<br/> Report an Error. This means, that something unexpected (an error) occured in the expecco test suite itself. The test suite must be fixed.
* [[ error2 | '''ERROR2''' ]]<br/> Report an Error. Optionally decorate the error-message with pre-/postFix string.
* [[ inconclusive | '''INCONCLUSIVE''' ]]<br/> Report an Inconclusive state. This means, that we cannot tell, what the test result is.
* [[ inconclusive2 | '''INCONCLUSIVE2''' ]]<br/> Report an Inconclusive state. Optionally decorate the message with pre-/postFix string.
* [[ pass | '''PASS''' ]]<br/> Report a Successful Test. This means, that the system under test passed the test.
* [[ pass2 | '''PASS2''' ]]<br/> Report a Successful Test. Optionally decorate the pass-message with pre-/postFix string.
* [[ ok | '''OK''' ]]<br/> Finish the current Activity and mark it as successful.
* [[ OK2 | '''OK2''' ]]<br/> Finish the current Activity and mark it as successful. Optionally decorate the success-message with pre-/postFix string.
* [[ HALT | '''HALT''' ]]<br/> Stop end enter the debugger, but only if halts are not ignored in the settings.(1.9.1).
* [[ PAUSE | '''PAUSE''' ]]<br/> Same effect as pressing the "Pause"-button: pauses the executor. Press "Run" or "Single Step", to continue (1.9.1).

=== Logging & Messages ===
=== Adding Log Entries ===
* [[ Log Failure | '''Log [ Failure ]''' ]]<br/> Report a Failure Message in the Log AND set the outcome to FAILED
* [[ Log Failure | '''Log [ Failure & Details ]''']]<br/> Report a Failure Message with Details.
* [[ Log Warning | '''Log [ Warning ]''' ]]<br/> Report an Warning Message. Optionally decorate the failure-message with pre-/postFix string.
* [[ Log Warning | '''Log [ Warning & Details ]''']]<br/> Report an Warning Message with Details.
* [[ Log Info | '''Log [ Info ]''' ]]<br/> Report an Info Message. Optionally decorate the failure-message with pre-/postFix string.
* [[ Log Info | '''Log [ Info & Details ]''' ]]<br/> Report an Info Message with Details.
* [[ Log ScreenDump | '''Log [ Screendump ]''' ]]<br/> Report an Info Message and attach a screen dump of the whole screen.
* [[ Log ScreenDump | '''Log [ Screendump Area ]''' ]]<br/> Report an Info Message and attach a screen dump of a screen area.
* [[ Log ScreenDump to File | '''Log [ Screendump to File]''' ]]<br/> Report an Info Message and save a screen dump of the whole screen at a given path.
* [[ Log ScreenDump to File | '''Log [ Screendump Area to File]''' ]]<br/> Report an Info Message and save a screen dump of a screen area at a given path.
=== Info Messages ===
* [[ Information Message | '''Information Message''' ]]<br/> Show some message in the browser's info area (at the bottom). Useful to provide some progress-feedback to the test-operator. Notice: these messages are not persistent in the generated log report. (in contrast to the Log* blocks)
* [[transcriber | '''Transcriber''' ]]<br/> Displays its input string as a line in the Transcript window. If there is no open Transcript window, a new one will be opened. Useful to provide some feedback to the test-operator. Notice: these messages are not persistent in the generated log report. (in contrast to the Log* blocks)
* [[transcriber without cr | '''Transcriber without CR''' ]]<br/> Displays its input string in the Transcript window like the transcriber, but does not generate a newLine at the end. If there is no open Transcript window, a new one will be opened. Useful to provide some feedback to the test-operator. Notice: these messages are not persistent in the generated log report. (in contrast to the Log* blocks)
* [[ Show Transcript Window | '''Show Transcript Window''' ]]<br/>Ensure that a transcript window is visible. If there is no existing Transcript window, a new one will be opened.
* [[ Hide Transcript Window | '''Hide Transcript Window''' ]]<br/>Ensure that a transcript window is invisible (iconified). If there is no existing Transcript window, this is a NO-Operation.
* [[ Clear Transcript Window | '''Clear Transcript Window''' ]]<br/>Clears the transcript window. If there is no existing Transcript window, this is a NO-Operation (1.9.1).
* [[ Contents of Transcript | '''Contents of Transcript''' ]]<br/>Retrieves the contents of the transcript window as a collection of line-strings (1.9.1).

=== Assertions ===
* [[ Assert Equal | '''Assert [ Equal ]''' ]]<br/> Fail if the two input values are not equal. Notice the difference between identity and equality.
* [[ Assert Not Equal | '''Assert [ Not Equal ]''' ]]<br/> Fail if the two input values are equal.
* [[ Assert Identical | '''Assert [ Identical ]''' ]]<br/> Fail if the two inputs are not identical (the same object).
* [[ Assert Not Identical | '''Assert [ Not Identical ]''' ]]<br/> Fail if the two inputs are identical (the same object).
* [[ Assert True | '''Assert [ True ]''' ]]<br/> Fail if the input value is not true.
* [[ Assert False | '''Assert [ False ]''' ]]<br/> Fail if the input value is not false.
* [[ Assert_Values | '''Assert [ Value is Less or Equal ]''' ]]<br/> Fail if the input value is above a given limit.
* [[ Assert_Values | '''Assert [ Value is Less ]''' ]]<br/> Fail if the input value is not below a given limit.
* [[ Assert_Values | '''Assert [ Value is Greater or Equal ]''' ]]<br/> Fail if the input value is less than a given limit.
* [[ Assert_Values | '''Assert [ Value is Greater ]''' ]]<br/> Fail if the input value is not above a given limit.
* [[ Assert_Values | '''Assert [ Value in Range ]''' ]]<br/> Fail if the input value is not in the given min..max range.
* [[ Assert_Values | '''Assert [ Value NOT in Range ]''' ]]<br/> Fail if the input value is in the given min..max range.
* [[ Assert_Values | '''Assert [ Value in Set ]''' ]]<br/> Fail if the input value is not in the given set of allowed values.
* [[ Assert_Values | '''Assert [ Value NOT in Set ]''' ]]<br/> Fail if the input value is in the given set of allowed values.
* [[ Assert_Values | '''Assert [ Value arrives at Pin1 ]''' ]]<br/> Fail if an input arrived at any other than pin1 (can be used that some value arrives definitely via s particular path).
* [[ Assert same collection contents | '''Assert [ Same Collection Contents ]''' ]]<br/> Fail if the two input collections do not contain the same elements (in the same order) (1.8.1).
* [[ Assert_File_Exists | '''Assert [ File Exists ]''' ]]<br/> Fail if the given filename does not exist (as either file or directory) (1.9.1).
* [[ Assert_File_is_Directory | '''Assert [ File is Directory ]''' ]]<br/> Fail if the given filename does not refer to an existing folder (1.9.1).

== Collections ==

* [[ Collection elementAt | '''Collection [ ElementAt ]''' ]]<br/> Retrieve an element by its key.
* [[ Collection elementAt 0 based | '''Collection [ ElementAt 0-based ]''' ]]<br/> Retrieve an element by its numeric key.
* [[ Collection addElement | '''Collection [ AddElement ]''' ]]<br/> Add an element to the collection.
* [[ Collection removeElement | '''Collection [ RemoveElement ]''' ]]<br/> Remove an element from the collection.
* [[ Collection elementAtPut | '''Collection [ ElementAtPut ]''' ]]<br/> Store an element by key/value.
* [[ Collection elementAtPut 0 based | '''Collection [ ElementAtPut 0-based ]''' ]]<br/> Store an element by key/value.
* [[ Collection newDictionary| '''Collection [ NewDictionary ]''' ]]<br/> Create a new Dictionary (aka HashTable).
* [[ Collection newOrderedCollection| '''Collection [ NewOrderedCollection ]''' ]]<br/> Create a new OrderedCollection (dynamic size Vector).
* [[ Collection newSet| '''Collection [ NewSet ]''' ]]<br/> Create a new set.
* [[ Collection newSortedCollection| '''Collection [ NewSortedCollection ]''' ]]<br/> Create a new sorted collection.
* [[ Collection some elements| '''Collection [ Some Elements ]''' ]]<br/> Output a slice of some elements copied from the inCollection (1.7.1).
* [[ Collection first n elements| '''Collection [ First N Elements ]''' ]]<br/> Output the first N elements of the inCollection.
* [[ Collection first n existing elements| '''Collection [ First N existing Elements ]''' ]]<br/> Output the first N existing elements of the inCollection (1.7.1).
* [[ Collection all but first n elements| '''Collection [ All but first N Elements ]''' ]]<br/> Output inCollection without the first N elements.
* [[ Collection last n elements| '''Collection [ Last N Elements ]''' ]]<br/> Output the last N elements of the inCollection.
* [[ Collection last n existing elements| '''Collection [ Last N existing Elements ]''' ]]<br/> Output the last N existing elements of the inCollection (1.7.1).
* [[ Collection all but last n elements| '''Collection [ All but Last N Elements ]''' ]]<br/> Output inCollection without last N elements.
* [[ Collection min| '''Collection [ Min ]''' ]]<br/> Get the minimum-element of the collection.
* [[ Collection max| '''Collection [ Max ]''' ]]<br/> Get the maximum-element of the collection.
* [[ Collection minMax| '''Collection [ MinMax ]''' ]]<br/> Get both the minimum and the maximum-element of the collection (1.7.1).
* [[ Collection size| '''Collection [ Size ]''' ]]<br/> Get the size of the collection.
* [[ Collection includesAll | '''Collection [ IncludesAll ]''' ]]<br/> Checks if a collection includes ALL of the given elements.
* [[ Collection includesAny| '''Collection [ IncludesAny ]''' ]]<br/> Checks if a collection includes ANY of the given elements.
* [[ Collection includes| '''Collection [ Includes ]''' ]]<br/> Checks if a collection includes the given element.
* [[ Collection copy| '''Collection [ Copy ]''' ]]<br/> Passes a copy of the collection to the output pin.
* [[ Collection select elementsMatching |'''Collection [ Select ElementsMatching ]''']]<br/>Generates a new collection containing all elements which match a given pattern.
* [[ Collection select columns|'''Collection [ Select Columns ]''']]<br/>Generates a new collection containing elements with selected columns only.
* [[ Collection select by st expression|'''Collection [ Select/Reject/Collect by ST Expression ]''']]<br/>Generates a new collection containing elements with items selected by Smalltalk expressions.
* [[ Collection sort| '''Collection [ Sort ]''' ]]<br/> Generates a sorted copy of the input collection.
* [[ Collection sort ignoring case| '''Collection [ Sort Ignoring Case ]''' ]]<br/> Generates a sorted copy of the input collection, ignoring case differences when sorting.
* [[ Collection enumerate | '''Collection [ Enumerate ]''']]<br/>Enumerates the elements of a collection.
* [[ Collection enumerate | '''Collection [ Enumerate with EndMark]''']]<br/>Enumerates the elements of a collection with an end mark.
* [[ Collection enumerate | '''Collection [ Enumerate Keys & Values ]''']]<br/>Enumerates the elements of a collection as key & value pairs.
* [[ Collection enumerate | '''Collection [ Reverse Enumerate ]''']]<br/>Enumerates the elements of a collection in reverse order.
* [[Collection average deviation|'''Collection [Average & Deviation]''']]<br/>Computes the average and standard deviation of the elements of a collection.
* [[ data collector | '''Data Collector [ OrderedCollection ]''' ]] <br />Collects all incoming data and sends it as one OrderedCollection to the output pin.
* [[ data collector set | '''Data Collector [ Set ]''' ]] <br />Collects all incoming data and sends it as a Set to the output pin (1.9.1).

== Compare ==

Many compare blocks come in two versions: one which generates a true/false boolean value (the 1-way blocks) and another, which sends the result to one of two (or three) different outputs. The later are very useful to split the flow of control to different followup blocks (although that behaviour could also be simulated by using a 1-way compare followed by a pass-data block from the "misc" section).

Notice: these blocks allow for Numbers, Strings, Collections and some other types to be compared. However, for the order releation compare operations, the types must be compatible; you cannot mix Numbers with Strings or other there.

* [[ compare 3 way | '''Compare [ 3-Way ]''' ]]<br> Sends a boolean "true" value to one of its three outputs: LESS, EQUAL or GREATER.

* [[ compare equal 2 way | '''Compare [ Equal 2-Way ]''' ]]<br/> Compare two values for equality; Send the first value to either the triggerYES or the triggerNO output.

* [[ compare not equal 2 way | '''Compare [ Not Equal 2-Way ]''' ]]<br/> Compare two values for equality; Send the first value to either the triggerYES or the triggerNO output.

* [[ compare less 2 way | '''Compare [ Less 2-Way ]''' ]]<br/> If the input at in1 is less than in2, send it to the triggerYES output. Otherwise, send it to triggerNO.

* [[ compare less or equal 2 way | '''Compare [ LessOrEqual 2-Way ]''' ]]<br/> If the input at in1 is less or equal than in2, send it to the triggerYES output. Otherwise, send it to triggerNO.

* [[ compare greater or equal 2 way | '''Compare [ GreaterOrEqual 2-Way ]''' ]]<br/> If the input at in1 is greater or equal than in2, send it to the triggerYES output. Otherwise, send it to triggerNO.

* [[ compare greater 2 way | '''Compare [ Greater 2-Way ]''' ]]<br/> If the input at in1 is greater than in2, send it to the triggerYES output. Otherwise, send it to triggerNO.

* [[ compare equal | '''Compare [ Equal ]''' ]]<br/> Generate a true if in1 is qual to the input value2 in2; otherwise, generate a false.

* [[ compare not equal | '''Compare [ Not Equal ]''' ]]<br/> Generate true if in1 is not equal to in2; otherwise, generate a false.

* [[ compare less | '''Compare [ Less ]''' ]]<br/> Generate a true if in1 is less than the input value2 in2; otherwise, generate a false.

* [[ compare lessorequal | '''Compare [ LessOrEqual ]''' ]]<br/> Generate a true if in1 is less or equal than the input value2 in2; otherwise, generate a false.

* [[ compare greaterorequal | '''Compare [ GreaterOrEqual ]''' ]]<br/> Generate a true if in1 is greater or equal than the input value2 in2; otherwise, generate a false.

* [[ compare greater | '''Compare [ Greater ]''' ]]<br/> Generate a true if in1 is greater than to the input value2 in2; otherwise, generate a false.

* [[ compare identical 2 way | '''Compare [ Identical 2-Way ]''' ]]<br/> Compare two values for identity; Send the first value to either the triggerYES or the triggerNO output.

* [[ compare not identical 2 way | '''Compare [ Not Identical 2-Way ]''' ]]<br/> Compare two values for identity; Send the first value to either the triggerYES or the triggerNO output.

* [[Compare same collection contents|'''Compare [ Same Collection Contents ]''']]<br/> Generate a true if the two input collections contain the same elements (in the same order); otherwise, generate a false (1.8.1).

== Data Generators ==

* [[ random booleans | '''Random [ Booleans ] ''' ]]<br/> Produces a number (default: 1) of random booleans on its output.
* [[ random floats | '''Random [ Floats ] ''' ]]<br/> Produces a number (default: 1) of random floats on its output.
* [[ random integers | '''Random [ Integers ] ''' ]]<br/> Produces a number (default: 1) of random integers values on its output.
* [[ random time deltas | '''Random [ Time Deltas ] ''' ]]<br/> Produces a number (default: 1) of random timeDeltas on its output.
* [[ random permutation | '''Random [Permutation] ''' ]]<br/> Produces a number (default: 1) of random permutations of the input-collection.
* [[ generate alle permutations | ''' Generate all Permutations ''' ]]<br/> Produces all permutaions of the collection given to its input.
* [[ generate series | ''' Generate Series ''' ]]<br/> Produces values from an arithmetic series.
* [[ generate geometric series | ''' Generate Geometric Series ''' ]]<br/> Produces values from a geometric series.
* [[ random uuid | '''Generate UUID ''' ]]<br/> Generate a new Universally Unique ID (UUID) as defined in RFC4122
* [[ generate prime numbers | ''' Generate Prime Numbers ''' ]]<br/> Produces a collection of prime numbers. (1.7.2)
* [[ next prime number | ''' Next Prime ''' ]]<br/> Generates the next prime after some number. (1.7.2)

== Data Types ==

Additional Datatypes. No description yet.


== Files & Directories ==


=== Files ===

* [[file directory | '''File [ Directory ] ''' ]]<br/> Extract the directory.
* [[file directoryname | '''File [ DirectoryName ] ''' ]]<br/> Extract the directory name (i.e. a string).
* [[file contents | '''File [ Contents ] ''' ]]<br/> Get the contents of a file.
* [[file binarycontents | '''File [ BinaryContents ] ''' ]]<br/> Get the binary contents of a file.
* [[file constructfn | '''File [ ConstructFn ] ''' ]]<br/> Construct a filename from the given components.
* [[file changesuffix | '''File [ ChangeSuffix ] ''' ]]<br/> Construct a filename from the given fileName and a new suffix.
* [[file remove | '''File [ Remove ] ''' ]]<br/> Remove the file named fileToRemove.
* [[file recursive remove|'''File [ Recursive Remove ]''']]<br/> Remove the file/directory named fileToRemove.
* [[file newtempfn | '''File [ NewTempFn ] ''' ]]<br/> Generate a new temporary filename.
* [[file NewTempFnIn | '''File [ NewTempFnIn ] ''' ]]<br/> Generate a new unique temporary filename within a parent directory.
* [[file readcsv | '''File [ ReadCSV ] ''' ]]<br/> Read a csv file.
* [[file read key-value pairs | '''File [ Read Key-Value Pairs ] ''' ]]<br/> Read a file and return a dictionary with the keys and values.
* [[file read key-value TuplePairs | '''File [ Read Key-Value TuplePairs ] ''' ]]<br/> Read a file and return a dictionary with the keys and values.

=== Queries ===

* [[file exists | '''File [ Exists ] ''' ]]<br/> Check, if a file exists.
* [[file isdirectory | '''File [ IsDirectory ] ''' ]]<br/> Check, if a file exists and is a directory.
* [[file basename | '''File [ Basename ] ''' ]]<br/> Extract the baseName (i.e. the name without directory prefix)
* [[file suffix | '''File [ Suffix ] ''' ]]<br/> Extract a filename's suffix (i.e. the extension).
* [[file filesize | '''File [ FileSize ] ''' ]]<br/> Get the number of bytes in a file.
* [[file size | '''File [ Size ] ''' ]]<br/> Retrieve a file's size.

=== Creation ===

* [[file copy | '''File [ Copy ] ''' ]]<br/> Copy a sourcePath to a destinationPath.
* [[file createempty | '''File [ CreateEmpty ] ''' ]]<br/> Create an empty file.
* [[file create | '''File [ Create ] ''' ]]<br/> Creates a file, taking the contents from the content input pin.

=== Directories ===

* [[ Directory Create | '''Directory [ Create ] ''']] <br/> Creates a directory based on the given filepath.
* [[ directoryname | '''Directory [ DirectoryName ] ''']] <br/> Get the name of a directory.
* [[ directory tempdir | '''Directory [ TempDir ] ''']] <br/> Get the temp directory (as filename).
* [[ directory TempDir Name | '''Directory [ TempDir Name ] ''']] <br/> Get the name of the default temporary directory (as path-string).
* [[ directory newtempdir | '''Directory [ NewTempDir ] ''']] <br/> Create a new temporary directory and provide its name.
* [[ directory NewTempDirIn | '''Directory [ NewTempDirIn ] ''']] <br/> Create a new temporary directory in a given parent directory and provide its name (as Filename).
* [[ directory Root | '''Directory [ Root ] ''']] <br/> Provide the name of the root directory (as Filename).
* [[ directory Home | '''Directory [ Home ] ''']] <br/> Provide the name of the user's home directory (as Filename).
* [[ directory Documents | '''Directory [ Documents ] ''']] <br/> Provide the name of the user's documents directory (as Filename).
* [[ directory enumerate | '''Directory [ Enumerate ] ''']] <br/> Get the contents of a directory - that is all the names found there (non-recursive).

== GUI-Dialogs ==


* [[dialog request string | '''Dialog [ Request String ]''' ]] <br/> Requests a string from the user (via a dialog).
* [[dialog request password | '''Dialog [ Request Password ]''' ]] <br/> Requests a password from the user (via a dialog).
* [[dialog request filename | '''Dialog [ Request Filename ]''' ]] <br/> Requests a filename from the user (via a file-dialog).
* [[dialog confirm | '''Dialog [ Confirm ]''' ]] <br/> Requests a confirmation (true / false) from the user (via a dialog).
* [[dialog confirm | '''Dialog [ Confirm 2 Way ]''' ]] <br/> Like above, but provides two separate outputs.
* [[dialog confirm with Cancel | '''Dialog [ Confirm with Cancel ]''']] <br/> Requests a confirmation (true / false) from the user with an additional "Cancel"-Button.
* [[dialog confirm with Cancel | '''Dialog [ Confirm with Cancel 2 Way ]''' ]] <br/> Like above, but provides two separate outputs.
* [[dialog confirm with Cancel | '''Dialog [ Confirm with Cancel 3 Way ]''' ]] <br/> Like above, but provides three separate outputs.
* [[dialog information | '''Dialog [ Information ]''' ]] <br/> Show a Dialog with the informationString.
* [[dialog warning | '''Dialog [ Warning ]''' ]] <br/> Show a Warn-Dialog with the informationString.
* [[Dialog Colored Warning | '''Dialog [ Colored Warning ]''' ]] <br/> Show a Warn-Dialog with the informationString.
* [[Dialog Show Value | '''Dialog [ Show Value ]''' ]] <br/> Show an Information-Dialog to display a value.
* [[Dialog Show Table | '''Dialog [ Show Table ]''' ]] <br/> Show a Dialog to display a table.

=== Inspecting & Debugging ===

* [[Inspect | ''' Inspect ''' ]] <br/> Open an inspector window to show some datums contents.
* [[Show Image | ''' Show Image ''' ]] <br/> Open an image viewer to show some image.
* [[Edit Image | ''' Edit Image ''' ]] <br/> Open a bitmap editor to allow some limited image manipulations.
* [[Edit Color | ''' Edit Color ''' ]] <br/> Open a color editor (useful to inspect picked web-page colors).

=== Support ===

* [[Color By Name | '''Color [ By Name ]''' ]] <br/> Return a color object, given a color name (such as 'red', 'green' or 'blue')
* [[Color By RGB | '''Color [ By RGB ]''' ]] <br/> Return a color object, given a rgb bytes (red, green, blue)
* [[Color By HLS | '''Color [ By HLS ]''' ]] <br/> Return a color object, given hue (in degrees from 0..360), light (0..1) and saturation (0..1).
* [[Color Get RGB | '''Color [ Get RGB ]''' ]] <br/> Return a colors red/green/blue byte values.
* [[Color Get HLS | '''Color [ Get HLS ]''' ]] <br/> Return a colors hue/light/saturation byte values.
* [[Color Brighter | '''Color [ Brighter ]''' ]] <br/> Return a brightened color (blended with white).
* [[Color Darker | '''Color [ Darker ]''' ]] <br/> Return a darkened color (blended with black).

== Images ==

* [[ Image screendump | '''Image [ Screendump ]''' ]]<br/> Take a snapshot of the screen (1.7.2)
* [[ Image screendump | '''Image [ Screendump Area ]''' ]]<br/> Take a snapshot of a part of the screen (1.7.2)
* [[ Image From File | '''Image [ From File ]''' ]]<br/> Read a Bitmap Image File (1.7.2)
* [[ Image From File | '''Image [ From Data ]''' ]]<br/> Read a Bitmap Image from Data (1.7.2)
* [[ Image Save As File | '''Image [ Save as File ]''' ]]<br/> Save a Bitmap Image File (1.7.2)
* [[ Image Get Attributes | '''Image [ Get Attributes ]''' ]]<br/> Get Attributes of a Bitmap Image File (1.7.2)
* [[ Image Magnify | '''Image [ Magnify ]''' ]]<br/> Magnify or Shrink an Image (1.7.2)
* [[ Image Rotate | '''Image [ Rotate ]''' ]]<br/> Rotate an Image (1.7.2)
* [[ Convert to Greyscale | '''Image [ Convert to Greyscale ]''' ]]<br/> Convert an Image to Greyscale (1.7.2)
* [[ Convert to Depth24 | '''Image [ Convert to Depth24 ]''' ]]<br/> Convert an Image to a depth-24 image (1.9.1)
* [[ Image Fetch via HTTP | '''Image [ Fetch via HTTP ]''' ]]<br/> Fetch a Bitmap Image via HTTP (1.7.2)

== Logic ==

* [[ Logic not | ''' Logic [ Not ] ''' ]]<br/> Output the negated boolean input value.
* [[ Logic IfTrueIfFalse | ''' Logic [ IfTrueIfFalse ] ''' ]]<br/> If the boolean input value is true, trigger triggerTrue, else trigger triggerFalse
* [[ Logic and | ''' Logic [ And ] ''' ]]<br/> Output TRUE if both boolean inputs are true.
* [[ Logic or | ''' Logic [ Or ] ''' ]]<br/> Output TRUE if one of the boolean inputs is TRUE.
* [[ Logic xor | ''' Logic [ Xor ] ''' ]]<br/> Output TRUE if both boolean inputs have different values.

== Misc ==

* [[ start | '''START''' ]]<br/> Does nothing, can be used with autostart as a trigger.

* [[ JOIN | '''JOIN'''
]]<br/> When ALL inputs are available, continue.

* [[ datasink | '''Data Sink''' ]]<br/> Consume (and throw away) any data from the input pin.

* [[ datasource | '''Data Source''' ]]<br/> Pass its input to its output. Can be used to start a dataflow, if the input is frozen and the block is triggered via autoStart or the START node above.

* [[ Which Pin has Data | '''Which Pin has Data''' ]]<br/> Delivers info from where some datum came (1.9.1).

* [[ Got at least one Value | '''Got at least one Value?''' ]]<br/> To check if some data arrived at a pin (1.9.1).

* [[ Input Pin has Value | '''Input Pin has Value?''' ]]<br/> To check if some data arrived at a pin (1.9.1).

* [[ pass data if true | '''Pass Data if True''' ]]<br/> Used to conditionally pass data along a connection or to block/throw it away in other situations.

* [[ pass data if false | '''Pass Data if False''' ]]<br/> Used to conditionally pass data along a connection or to block/throw it away in other situations.

* [[ pass data if true or false | '''Pass Data if True/False''' ]]<br/> Used to conditionally pass data along one of two alternative connection pathes.

* [[ if true false 2 way | '''If True/False (2 way)''' ]]<br/> Passes the incoming boolean to one of two outputs (split execution path) (1.9.1).

* [[ either or | '''Either - Or''' ]]<br/> Passes one of two input values to the output (1.9.1).

* [[ distribute | '''Distribute (Load Balancer)''' ]]<br/> Sends the incoming value to the output with the smallest waiting queue size (1.9.1).

* [[ wait forever | '''Wait Forever''' ]]<br/> Simply waits forever.

=== Expecco Reflection ===

These provide info about the state of the tool and execution engine.

* [[ directory project directory | ''' Directory [ Projects Directory ] ''' ]] <br/> Provides the project directory (that is the root of where attachments, temporary files etc. are located)

* [[ directory attachment directory | ''' Directory [ Attachment Directory ] ''' ]] <br/> Provides the attachment directory (that is where attachments are located)

* [[ directory execution directory | ''' Directory [ Executors Directory ] ''' ]] <br/> Provides the execution directory (that is where temporary files are created)

* [[ directory projectFile path | ''' Directory [ ProjectFile Path] ''' ]] <br/> Retrieves the pathname to the current projectfile (the ".ets"-file) (1.7.4)

* [[ Control Window IsOpen | ''' Control Window [ IsOpen ] ''' ]] <br/> This block returns true, if a Control & Monitoring window is currently open.


* [[ Name of Current Testplan | ''' Name of Current Testplan ''' ]] <br/> This block provides the name of the currently executing testplan (1.7.3).

* [[ Name of Current Testcase | ''' Name of Current Testcase ''' ]] <br/> This block provides the name of the currently executing testcase (1.7.3).

* [[ StartTime of Current Testplan | ''' Start Time of Current Testplan ''' ]] <br/> This block provides the startTime of the currently executing testplan (Timestamp) (1.9.1).

* [[ StartTime of Current Testcase | ''' Start Time of Current Testcase ''' ]] <br/> This block provides the startTime of the currently executing testcase (Timestamp) (1.7.3).

* [[ Current Testplan | ''' Current Testplan ''' ]] <br/> This block provides a handle to the currently executing testplan (1.9.1).

* [[ Current Testcase | ''' Current Testcase ''' ]] <br/> This block provides a handle to the currently executing testcase (1.9.1).

=== Reporting ===

* [[Report generate | ''' Report [ Generate ] ''' ]] <br/> Generates a report in a specified format for the currently running test execution (1.7.2).

* [[Report generate | ''' Report [ Generate PDF File ] ''']] <br/> Generates a report in PDF format for the currently running test execution (1.7.2).

* [[ Report generate | ''' Report [ Generate HTML File ] ''']] <br/> Generates a report in HTML format for the currently running test execution (1.7.2).

=== Virtual to Concrete Mapping ===

* [[Local Specify Concrete Block | ''' Local Specify Concrete Block ''' ]] <br/> Setup a local Virtual-to-Concrete mapping for a single virtual block (1.7.4).

* [[Local Specify Concrete Library | ''' Local Specify Concrete Block ''' ]] <br/> Setup a local Virtual-to-Concrete mapping for a complete virtual library (1.7.4).

* [[Global Specify Concrete Block | ''' Global Specify Concrete Block ''' ]] <br/> Setup a global Virtual-to-Concrete mapping for a single virtual block (1.7.4).

* [[Global Specify Concrete Library | ''' Global Specify Concrete Block ''' ]] <br/> Setup a global Virtual-to-Concrete mapping for a complete virtual library (1.7.4).

* [[Executor Specify Concrete Block | ''' Executor Specify Concrete Block ''' ]] <br/> Setup a Virtual-to-Concrete mapping for a single virtual block which is valid in the current testCase only (1.7.4).

* [[Executor Specify Concrete Library | ''' Executor Specify Concrete Block ''' ]] <br/> Setup a Virtual-to-Concrete mapping for a complete virtual library which is valid in the current testCase only (1.7.4).

=== Resources ===

* [[Get Resource by ID| ''' Get Resource by ID ''' ]] <br/> Retrieve an already aquired resource, given a skill-id (1.7.4).

* [[Get Name from Resource| ''' Get Name from Resource ''' ]] <br/> Retrieve a resource's name (1.7.4).

* [[Get SkillAttribute from Resource| ''' Get Skill Attribute from Resource ''' ]] <br/> Retrieve a skillAttribute's value from a resource (1.7.4).

* [[Get all Resources from Top Inventory| ''' Get all Resources from Top Inventory ''' ]] <br/> Retrieve the collection of all available resources (1.9.1).

== Networking & Interfacing ==

* [[ Net IPAdress | ''' Net [ IPAdress ] ''' ]] <br/> Retrieve a hosts TCP/IP address.
* [[ Net LocalIPAdress | ''' Net [ LocalIPAdress ] ''' ]] <br/> Retrive the machines own IP Address.

=== Checksums & Cryptography ===

* [[ Hash_MD5 | ''' Hash [ MD5 ] ''' ]] <br/> Computes the MD5 checksum of a block of bytes (1.7.2)
* [[ Hash_SHA1 | ''' Hash [ SHA1 ] ''' ]] <br/> Computes the SHA1 checksum of a block of bytes (1.7.2)
* [[ Hash_CRC32 | ''' HASH [ CRC32 ] ''' ]]<br/> Computes a crc32 checksum (1.7.2)

=== FTP ===

* [[ T_FTPLink | ''' T_FTPLink ''' ]] <br/> This datatype represents the ftp-client object.
* [[ ftp connect-e | ''' FTP [ Connect-E] ''' ]] <br/> Crate a ftp-connection.
* [[ ftp get-e | ''' FTP [ Get-E ] ''' ]] <br/> Get a file via ftp, and store it local.
* [[ ftp put-e | ''' FTP [ Put-E ] ''' ]] <br/> Put a local file via ftp to the remote destination.
* [[ ftp close-e | ''' FTP [ Close-E ] ''' ]] <br/> Close a ftp-connection.
* [[ ftp delete-e | ''' FTP [ Delete-E ] ''' ]] <br/> Delete a file via ftp on the remote site.
* [[ ftp put | ''' FTP [ Put ] ''' ]] <br/> Create ftp-connection - Put file - Close connection.
* [[ ftp get | ''' FTP [ Get ] ''' ]] <br/> Create ftp-connection - Get file - Close connection.

=== HTTP ===

* [[ http FetchPage | ''' HTTP [ FetchPage ]''' ]] <br/> Fetches a page and provides the fetched document both as text and (optionally, if the output is connected) a tree of HTML-element nodes.
* [[ http Get | ''' HTTP [ Get ]''' ]] <br/> Same as above, for readability.
* [[ http Post | ''' HTTP [ Post ]''' ]] <br/> Generates a POST request (form submit).
* [[ http ParseDocument | ''' HTTP [ ParseDocument ]''' ]] <br/> Parse a string to an html-document.
* [[ http ExtractByTag | ''' HTTP [ Extract by Tag ]''' ]] <br/> Extracts specified nodes from a parsed document.
* [[ http ExtractLinks | ''' HTTP [ ExtractLinks ]''' ]] <br/> Extracts all anchor nodes (<A>-links) from a parsed document.
* [[ http ExtractImages | ''' HTTP [ ExtractImages ]''' ]] <br/> Extracts all image nodes (<IMG>) from a parsed document.
* [[ A HREF | ''' A [ HREF ]''' ]] <br/> Extracts the HREF-url from an anchor element.
* [[ IMG SOURCE | ''' IMG [ SOURCE ]''' ]] <br/> Extracts the IMG-source from an img element.

==== Server ====

* [[ http startserver | ''' HTTP [ StartServer ]''' ]] <br/> Start an HTTP server on a given port.
* [[ http stopserver | ''' HTTP [ StopServer ]''' ]] <br/> Stop an HTTP server.
* [[ http Add Default Home Service | ''' HTTP [ Add Default Home Service ]''' ]] <br/> Add a default service to an HTTP server.
* [[ http Add File Service | ''' HTTP [ Add File Service ] ''' ]] <br/> Add a file service to an HTTP server.

=== IMAP ===

* [[ imap createconnection | ''' IMAP [ CreateConnection ] ''' ]] <br/> Connect to an IMAP mail server.
* [[ imap fetchunreadmails | ''' IMAP [ FetchUnreadMails ] ''' ]] <br/> Fetch mails from an IMAP mail server.

=== JSON ===

* [[ JSON Encode| ''' JSON [ Encode] ''' ]] <br/> Encode an Object into JSON format (1.7.2)
* [[ JSON Decode| ''' JSON [ Decode ] ''' ]]<br/> Decode an Object from JSON format (1.7.2)

=== SMTP ===

* [[SMTP send email | ''' SMTP [ send email ] ''' ]] <br/> Send an email via SMTP server

=== Source Code Management ===

* [[ cvs checkout | ''' CVS [ Checkout ] ''' ]] <br/> Check out a tree from the CVS-repository.
* [[ cvs version | ''' CVS [ Version ] ''' ]]<br/> Get the CVS-commands version string.

== OS ==

* [[ os cputype | ''' OS [ CPUType ] ''' ]] <br/> Retrieve the CPU family type (i386, sparc,...).
* [[ os domainname | ''' OS [ DomainName ] ''' ]] <br/> Retrieve the machine's (network-) domain name (could be empty or nil).
* [[ os hostname | ''' OS [ HostName ] ''' ]] <br/> Retrieve the machine's host name.
* [[ os language | ''' OS [ Language ] ''' ]] <br/> Retrieve the machine's language setting.
* [[ os macadresses | ''' OS [ MACAddresses ] ''' ]] <br/> Retrive the machine's MAC (network-adapter/ethernet) addresses.
* [[ os type | ''' OS [ Type ] ''' ]] <br/> Get the type of OperatingSystem (win32, linux, etc.) we are running on.
* [[ os is windows | ''' OS [ Is Windows ] ''' ]] <br/> Check if running on Windows (1.8.3).
* [[ os is unix | ''' OS [ Is Unix ] ''' ]] <br/> Check if running on Unix (1.8.3).
* [[ os systeminfo | ''' OS [ SystemInfo ] ''' ]] <br/> Get info about the OS and hardware we are running on.
* [[ os drivelist | ''' OS [ DriveList ] ''' ]] <br/> Retrieve the list of drives in the machine (C:, D:, ...)
* [[ os loginname | ''' OS [ LoginName ] ''' ]] <br/> Retrieve the user's login name.
* [[ os fullusername | ''' OS [ FullUserName ] ''' ]] <br/> Retrive the user's full name.
* [[ os defaultsystempath | ''' OS [ DefaultSystemPath ] ''' ]] <br/> Retrieve the default system path.

== String Processing ==

* [[string concatenation | ''' String [ Concatenation ] ''' ]] <br/> Concatenate the string input values.
* [[string collectionofstrings to string | ''' String [ CollectionOfStrings To String ] ''' ]] <br/> Generate a concatenated string from the input string collection; individual strings are joined using the optional separator.
* [[string collectionoflines to string | ''' String [ CollectionOfLines To String ] ''' ]] <br/> Generate a concatenated string from the input string collection without an optional seperator.
* [[string ascollectionofwords | ''' String [ AsCollectionOfWords ] ''' ]] <br/> Returns a collection of words.
* [[string ascollectionoflines | ''' String [ AsCollectionOfLines ] ''' ]] <br/> Returns a collection of lines.
* [[string ascollectionofsubstrings | ''' String [ AsCollectionOfSubstrings ] ''' ]] <br/> Returns a collection of substrings.

=== Comparing & Matching ===
* [[string caseless compare | ''' String [ Caseless Compare? ] ''' ]] <br/> Do a caseless string compare.
* [[string simple_patternmatch | ''' String [ Simple PatternMatch? ] ''' ]] <br/> Do a pattern match similar to that used in the unix filename match algorithm.
* [[string regular expression match | ''' String [ Regular Expression Match? ] ''' ]] <br/> Do a regular expression pattern match.
* [[string regular expression match for subexpressions | ''' String [ Regular Expression Match for Subexpressions? ] ''' ]] <br/> Do a regular expression pattern match, provide matched subexpressions (1.8.3).

* [[string Extract All Regex Matches| ''' String [ Extract All Regex Matches] ''' ]] <br/> Given a string and a regex pattern, provide a collection of ALL matching elements.
* [[string Extract ONE Regex Match| ''' String [ Extract ONE Regex Matches] ''' ]] <br/> Given a string and a regex pattern, provide the first matching elements.
* [[string compare switch | ''' String [ Compare Switch ] ''' ]] <br/> Compares a string with six other strings and triggers the first corresponding output-pin.
* [[string includesstring | ''' String [ IncludesString? ] ''' ]] <br/> If the given string is contained in another string (substring) send the original string to the triggerYES output. Otherwise send it to the triggerNO output.
* [[string IndexOfSubstrings | ''' String [ IndexOfSubstrings? ] ''' ]] <br/> Find a substring in a string starting at startIndex.
* [[string startswith | ''' String [ StartsWith? ] ''' ]] <br/> If the given string starts with another string (prefix string) send the original string to the triggerYES output. Otherwise send it to the triggerNO output.
* [[string endswith | ''' String [ EndsWith? ] ''' ]] <br/> If the given string ends with another string (suffix string) send the original string to the triggerYES output. Otherwise send it to the triggerNO output.
* [[string Soundex | ''' String [ Soundex ] ''' ]] <br/> Generates a soundex string (see Knuth, for example)
* [[string MySQLSoundex | ''' String [ MySQLSoundex ] ''' ]] <br/> Generates a mySQL soundex string (see Knuth, for example)
* [[string KoelnerPhonetic | ''' String [ KölnerPhonetic ] ''' ]] <br/> Generates a kölnerPhonetic code string.
* [[string EditDistance | ''' String [ EditDistance ] ''' ]] <br/> Generates a value for the edit distance (actually levenshtein), which is a measure for how many edit operations are needed to get from string1 to string2.

=== Copying ===
* [[string substring copy 0-based | ''' String [ Substring Copy 0-based ] ''' ]] <br/> Return a substring starting at the 0-based index startIndex up to (and including) the 0 based index endIndex.
* [[string substring copy 1-based | ''' String [ Substring Copy 1-based ] ''' ]] <br/> Return a substring starting at the 0-based index startIndex up to (and including) the 1 based index endIndex.
* [[string copyfrom 0-based | ''' String [ CopyFrom 0-based ] ''' ]] <br/> Return a substring starting at the 0-based index startIndex up to the end of the string.
* [[string copyfrom 1-based | ''' String [ CopyFrom 1-based ] ''' ]] <br/> Return a substring starting at the 1-based index startIndex up to the end of the string.
* [[string copyto 0-based | ''' String [ CopyTo 0-based ] ''' ]] <br/> Return a substring ending at the 0-based index endIndex.
* [[string copyto 1-based | ''' String [ CopyTo 1-based ] ''' ]] <br/> Return a substring ending at the 1-based index endIndex.
* [[string removefromto 0-based | ''' String [ RemoveFromTo 0-based ] ''' ]] <br/> Return a new string, where the substring starting at the 0-based index startIndex up to (and including) the 0-based index endIndex has been removed.
* [[string removefromto 1-based | ''' String [ RemoveFromTo 1-based ] ''' ]] <br/> Return a new string, where the substring starting at the 1-based index startIndex up to (and including) the 1-based index endIndex has been removed.
* [[string replacefromto 0-based | ''' String [ ReplaceFromTo 0-based ] ''' ]] <br/> Return a new string, where the substring starting at the 0-based index startIndex up to (and including) the 0-based index endIndex has been replaced by another string.
* [[string replacefromto 1-based | ''' String [ ReplaceFromTo 1-based ] ''' ]] <br/> Return a new string, where the substring starting at the 1-based index startIndex up to (and including) the 1-based index endIndex has been replaced by another string.

=== Encoding ===
* [[base64| ''' Base 64 Encode [ String to Base64String ] ''' ]] <br/> Converts a string to its base64 encoding.
* [[base64| ''' Base 64 Encode [ Base64String to String ] ''' ]] <br/> Decodes a base64 encoded string.
* [[Rot13 | ''' Rot13 [ String to String ] ''' ]] <br/> Apply a simple Caesar rot13 cypher.
* [[UTF8| ''' UTF8 Encode [ String to UTF8String ] ''' ]] <br/> Converts a string to its utf8 encoding.
* [[UTF8| ''' UTF8 Decode [ UTF8String to String ] ''' ]] <br/> Decodes an utf8 encoded string.
* [[asciistring convert to hexstring | ''' ASCIIString[ Convert to HexString] ''' ]] <br/> Converts a String to a string containing the original strings characters as hex-encoded pairs.
* [[hexstring convert to asciistring | ''' HexString [ Convert to ASCIIString ] ''' ]] <br/> Converts a twoByte HexString to its ascii representation.

=== Padding & Formatting ===
* [[string formatting | ''' String [ Formatting ] ''' ]] <br/> generate a formatted string for printing.
* [[string leftcontracted | ''' String [ LeftContracted ] ''' ]] <br/> Do a string contraction (at the left).
* [[string rightcontracted | ''' String [ RightContracted ] ''' ]] <br/> Do a string contraction (at the right).
* [[string contracted | ''' String [ Contracted ] ''' ]] <br/> Do a string contraction (in the middle).
* [[string leftpadded | ''' String [ LeftPadded ] ''' ]] <br/> Do a string padding.
* [[string rightpadded | ''' String [ RightPadded ] ''' ]] <br/> Do a string padding (on the right).
* [[string without leading whitespace | ''' String [ Without Leading Whitespace ] ''' ]] <br/> Return a copy of a string with leading whitespace (space, tab and newlines) removed.
* [[string without trailing whitespace | ''' String [ Without Trailing Whitespace ] ''' ]] <br/> Return a copy of a string with trailing whitespace (space, tab and newlines) removed.
* [[string without surrounding whitespace | ''' String [ Without Surrounding Whitespace ] ''' ]] <br/> Return a copy of a string with leading and trailing whitespace (space, tab and newlines) removed.
* [[string asuppercase | ''' String [ AsUppercase ] ''' ]] <br/> Return the string converted to uppercase.
* [[string aslowercase | ''' String [ AsLowercase ] ''' ]] <br/> Return the string converted to lowercase.
* [[string asuppercasefirst | ''' String [ AsUppercaseFirst ] ''' ]] <br/> Return a new string with the first character converted to uppercase.

=== Queries ===
* [[string length | ''' String [ Length ] ''' ]] <br/> Count the number of characters in a string.
* [[string BitsPerCharacters | ''' String [ BitsPerCharacters ] ''' ]] <br/> Return the number of bits in a character.
* [[string IsSingleByteString | ''' String [ IsSingleByteString? ] ''' ]] <br/> Return true, if the number of bits in the strings characters are 8.
<br/>

== Stream Input/Output ==
* [[stream close | '''Stream [ Close ] ''' ]] <br/> Close a stream-handle. No further read operations are possible.
* [[stream EOF | '''Stream [ EOF?] ''' ]] <br/> Check if end-of-file has been reached. (1.7.2)

=== File Streams ===
* [[filestream open for reading | '''FileStream [ Open for Reading ]''' ]] <br/> Open a file for reading. Provide a stream-handle for further read operations.
* [[filestream open for reading error at EOF | ''' FileStream [ Open for Reading Error at EOF ] ''' ]] <br/> Open a file for reading. The stream will report an error if a read after EOF is attempted.
* [[filestream open for writing | '''FileStream [ Open for Writing ]''' ]] <br/> Open a file for writing. Provide a stream-handle for further write operations.
* [[fileStream open for appending | '''FileStream [ Open for Appending ]''' ]] <br/> Open a file for append-writing. Provide a stream-handle for further write operations. (1.7.1)
* [[Stream Create TempFile | '''FileStream [ Create TempFile ]''' ]] <br/> Create a new temporary file.

=== Stream Reading ===
* [[stream readline | '''Stream [ ReadLine ]''' ]] <br/> Read a line from a read-stream (up to CR or NL).
* [[stream contents | '''Stream [ Contents ]''' ]] <br/> Read the whole content from a stream and return the content as string-collection.
* [[stream readbyte | '''Stream [ ReadByte ]''' ]] <br/> Read a single byte from a read-stream.
* [[stream readbytes | '''Stream [ ReadBytes ]''' ]] <br/> Read a number of bytes from a read-stream.
* [[stream readcharacters | '''Stream [ ReadCharacters ]''' ]] <br/> Read a number of characters from a read-stream.
* [[stream readalphanumericword | '''Stream [ ReadAlphaNumericWord ]''' ]] <br/> Read an alphanumeric word from a read-stream.
* [[Stream ReadThrough | '''Stream [ ReadThrough ]''' ]] <br/> Read characters up to and including a delimiting string. (1.7.2)
* [[Stream ReadUpTo | '''Stream [ ReadUpTo ]''' ]] <br/> Read characters up to a delimiting string. (1.7.2)
* [[stream readint16 | '''Stream [ ReadInt16 ]''' ]] <br/> Read a two-byte (16bit) signed integer from a read-stream.
* [[stream readint32 | '''Stream [ ReadInt32 ]''' ]] <br/> Read a four-byte (32bit) signed integer from a read-stream.
* [[stream readint64 | '''Stream [ ReadInt64 ]''' ]] <br/> Read an eight-byte (64bit) unsigned integer from a read-stream.
* [[stream readuint16 | '''Stream [ ReadUInt16 ]''' ]] <br/> Read a two-byte (16bit) unsigned integer from a read-stream.
* [[stream readuint32 | '''Stream [ ReadUInt32 ]''' ]] <br/> Read a four-byte (32bit) unsigned integer from a read-stream.
* [[stream readuint64 | '''Stream [ ReadUInt64 ]''' ]] <br/> Read an eight-byte (64bit) unsigned integer from a read-stream.
* [[Stream Skip | '''Stream [ Skip ]''' ]] <br/> Skip a number of bytes. (1.7.2)
* [[stream skipwhitespace | '''Stream [ SkipWhitespace ]''' ]] <br/> Skip all whiteSpace (blanks, tabs and linebreaks).

=== Socket Streams ===
* [[ Socket Connect | '''Socket [ Connect ]''' ]] <br/> Create a new TCP connection to a port on a host. (1.7.1)
* [[ Socket Wait For Connection | '''Socket [ Wait For Connection ]''' ]] <br/> Listen on a TCP-socket identified by its port number. (1.7.1)

===Internal Streams ===
* [[ Stream reading from string | '''Stream [ Reading from String ] ''' ]] <br/> Create a stream for reading characters from a String. (1.8.1)
* [[ Stream writing into string | '''Stream [ Writing into String ] ''' ]] <br/> Create a stream for writing characters. (1.8.1)
* [[ Stream collected contents | '''Stream [ Collected Contents ]''' ]] <br/> Get a writeStream's collected contents.(1.8.1)

=== Stream Writing===
* [[stream writeline | '''Stream [ WriteLine ]''' ]] <br/> Write a text-line to a write-stream.
* [[stream writestring | '''Stream [ WriteString ]''' ]] <br/> Write a string to a write-stream.
* [[stream writebytes | '''Stream [ WriteBytes ]''' ]] <br/> Write a number of bytes to a write-stream.
* [[stream writebyte | '''Stream [ WriteByte ]''' ]] <br/> Write a single byte to a write-stream.
* [[stream writeint16 | '''Stream [ WriteInt16 ]''' ]] <br/> Write an int16 to a write-stream.
* [[stream writeint32 | '''Stream [ WriteInt32 ]''' ]] <br/> Write an int32 to a write-stream.
* [[stream writeint64 | '''Stream [ WriteInt64 ]''' ]] <br/> Write an int64 to a write-stream.
* [[stream nl | '''Stream [ NL ]''' ]] <br/> Write a newline character to the writeStream.
* [[stream cr | '''Stream [ CR ]''' ]] <br/> Write a return character to the writeStream.
* [[stream crnl | '''Stream [ CRNL ]''' ]] <br/> Write a cr-lf sequence to the writeStream.
* [[stream tab | '''Stream [ TAB ]''' ]] <br/> Write a tabulator character to the writeStream.

== Time & Date ==

* [[delay seconds | ''' Delay [ Seconds ] ''' ]] <br/> Sleeps for a while (delay).

* [[delay signal | ''' Delay [ Signal ] ''' ]] <br/> Send in-value to the out pin after a delay.

* [[delay duration | ''' Delay [ Duration ] ''' ]] <br/> The delay time is given as a timeDuration object.

* [[delay with dialog | ''' Delay [ with Dialog ] ''' ]] <br/> Send the value of inValue to outValue after delayMilliseconds milliseconds.

* [[delay basic | ''' Delay [ Basic ] ''' ]] <br/> A private helper for the Delay Action.

* [[time gettimestamp | ''' Time [ GetTimestamp ] ''' ]] <br/> Get the current time and date (a timeStamp).

* [[time gettime | ''' Time [ GetTime ] ''' ]] <br/> Get the current time of day.

* [[time deltatime | ''' Time [ DeltaTime ] ''' ]] <br/> Returns the duration between two timestamps as a TimeDuration.

* [[time add seconds | ''' Time [ Add seconds] ''' ]] <br/> Add some seconds to a DateTime (timeStamp).

* [[time add minutes | ''' Time [ Add minutes ] ''' ]] <br/> Add some minutes to a DateTime (timeStamp).

* [[time add hours | ''' Time [ Add hours ] ''' ]] <br/> Add some hours to a DateTime (timeStamp).

* [[time add duration | ''' Time [ Add Duration ] ''' ]] <br/> Add some timeDuration to a DateTime (timeStamp).

* [[time substracttime | ''' Time [ Substract Time ] ''' ]] <br/> Substract two TimeStamps and returns an integer-value in seconds.

* [[time substracttime-delta | ''' Time [ Substract Time Delta in MS ] ''' ]] <br/> Substract two TimeStamps and returns an integer-value in milliseconds.

* [[time substractduration | ''' Time [ Substract Duration ] ''' ]] <br/> Substract a predefined timeduration in seconds from a DateTime.

* [[time computeduration | ''' Time [ Compute Duration ] ''' ]] <br/> Returns delta of two DateTimes in TimeDuration.

* [[time tostring | ''' Time [ ToString ] ''' ]] <br/> Convert to String using an optional format string.

* [[time to iso8601 format string | ''' Time [ To ISO8601 Format String] ''' ]] <br/> Convert to String to the ISO8601 format

* [[time to rfc1123 format string | ''' Time [ To RFC1123 Format String] ''' ]] <br/> Convert to String to the RFC1123 format

* [[time to generalized format string | ''' Time [ To Generalized Format String ] ''' ]] <br/> Convert to String to the universal generalized format (includes timezone information)

* [[time from iso8601 format string | ''' Time [ From ISO8601 Format String] ''' ]] <br/> Convert a String in ISO8601 format into a TimeAndDate

* [[time from generalized format string | ''' Time [ From Generalized Format String ] ''' ]] <br/> Convert a String in universal generalized format into a TimeAndDate

* [[time gethour | ''' Time [ GetHour ] ''' ]] <br/> Get a timestamp's hour (0..23)

* [[time getminute | ''' Time [ GetMinute ] ''' ]] <br/> Get a timestamp's minute (0..59)

* [[time getsecond | ''' Time [ GetSecond ] ''' ]] <br/> Get a timestamp's second (0..59)

* [[time today | ''' Time [ Today ] ''' ]] <br/> Get the current timestamp.

* [[date getyear | ''' Date [ GetYear ] ''' ]] <br/> Get a timestamp's year (2007, 2008,...).

* [[date getmonth | ''' Date [ GetMonth ] ''' ]] <br/> Get a timestamp's month (1..12).

* [[date getday | ''' Date [ GetDay ] ''' ]] <br/> Get a timestamp's day (1..31).

* [[date getweekday | ''' Date [ GetWeekDay ] ''' ]] <br/> Get a timestamp's weekday (1..7) 1==monday; 7==sunday

* [[date getdayinyear | ''' Date [ GetDayInYear ] ''' ]] <br/> Get a timestamp's day in year (1..365/366)

* [[date getnameofday | ''' Date [ GetNameOfDay] ''' ]] <br/> Get a timestamp's weekday name in the system language as a string.

* [[date getdaysinmonth | ''' Date [ GetDaysInMonth] ''' ]] <br/> Get the number of days in the month which is represented by the given timestamp (29, 30 or 31).

* [[date getdaysinyear | ''' Date [ GetDaysInYear] ''' ]] <br/> Get the number of days in the year which is represented by the given timestamp (365 or 366).

* [[date getdaysleftinmonth | ''' Date [ GetDaysLeftInMonth] ''' ]] <br/> Get the number of days which are left in the month which is represented by the given timestamp.

* [[date getdaysleftinyear | ''' Date [ GetDaysLeftInYear] ''' ]] <br/> Get the number of days which are left in the year which is represented by the given timestamp.

* [[ timeduration| ''' Timeduration [ Sum ] ''' ]] <br/> Add two timeDurations.

* [[ timeduration| ''' Timeduration [ Difference ] ''' ]] <br/> Substract two timeDurations.

* [[ timeduration| ''' Timeduration [ Scale ] ''' ]] <br/> Scale a timeDuration.

* [[ timeduration| ''' Timeduration [ To Seconds ] ''' ]] <br/> Scale a timeDuration.

== Tools ==

* [[ winows open docuemnt | ''' Windows [ Open Document ] ''' ]] <br/> Ask the windows shell, to open a document. Will start the application which is associated to the file-type (1.9.1).

== Type Conversion ==

* [[ convert any-to-printed-string | ''' Convert [ Any To PrintedString ] ''' ]] <br/> Convert the value of the inputString to its printed string-representation.

* [[ convert any-to-string | ''' Convert [ Any To String ] ''' ]] <br/> Convert the value of the inputString to its string-representation

* [[ convert any-to-paddedstring | ''' Convert [ Any To PaddedString ] ''' ]] <br/> Convert the value of the input to a right-padded string-representation

* [[ convert any-to-leftpadded-string | ''' Convert [ Any To LeftPaddedString ] ''' ]] <br/> Convert the value of the input to a left-padded string-representation

* [[ convert integer-to-radix-string | ''' Convert [ Integer To RadixString ] ''' ]] <br/> Convert the value of a number to a radix-string (i.e. hex, octal, binary etc.)

* [[ convert number-to-float | ''' Convert [ Number To Float ] ''' ]] <br/> Convert the value of a number to a float.

* [[ convert collection-to-orderedcollection | ''' Convert [ Collection To OrderedCollection ] ''' ]] <br> Convert a string to a string-collection.

* [[ convert stringcollection-to-strings | ''' Convert [ StringCollection to Strings ] ''' ]] <br> Read a string-collection from the input and write each line separately to the output.

* [[ convert stringcollection-to-strings | ''' Convert [ StringCollection to String ] ''' ]] <br> Convert a collection of strings to a string.

* [[ convert string-to-url | ''' Convert [ String To URL ] ''' ]] <br/> Convert a string to an URL-Object

* [[ convert string-to-uuid | ''' Convert [ String To UUID ] ''' ]] <br/> Convert a string to a UUID-Object (1.7.1)

* [[ convert string-to-timeduration | ''' Convert [ String To TimeDuration] ''' ]] <br/> Convert a string to a TimeDuration-Object (1.7.1)

* [[ convert string-to-filename | ''' Convert [String To Filename ] ''' ]] <br> Convert the value of a string to a filename.

* [[ convert string-to-string-collection | ''' Convert [ String To StringCollection ] ''' ]] <br> Convert a string to a collection of strings.

* [[ convert string-to-number | ''' Convert [ String To Number ] ''' ]] <br/> Convert a string to a number

* [[ convert string-to-bytearray | ''' Convert [ String To ByteArray ] ''' ]] <br/> Convert a string to a byteArray (1.7.2)

* [[ convert bytearray-to-string | ''' Convert [ ByteArray To String ] ''' ]] <br/> Convert a bytearray to a string (1.7.2)

* [[ convert radixstring-to-integer | ''' Convert [ RadixString To Integer ] ''' ]] <br/> Convert the value of the inputString to a number. The input may be in any base (i.e. hex, octal, binary etc.)

* [[ cast any-to-any | ''' Cast [ Any To Any ] ''' ]] <br/> Can be inserted between type-incompatible pins. Does no real conversion.

* [[ cast any-to-any | ''' Cast [ Any To Any with Check ] ''' ]] <br/> Can be inserted between type-incompatible pins. This block reports an error, if the values are incompatible.

* [[ cast string-to-any | ''' Cast [ String To Any ] ''' ]] <br/> Convert a string-input to an any-output. Actually, no conversion is done here, this is a simple type cast.

== Variables ==

* [[ environment get-by-name | ''' Environment [ Get by Name ]''' ]] <br/> Get a value from a surrounding expecco environment.

* [[ environment set-by-name | ''' Environment [ Set by Name ]''' ]] <br/> Set an Environment-variable.

* [[ environment clear_by_name | ''' Environment [ Clear by Name ]''' ]] <br/> Clear (unset) an environment variable.

* [[ environment set variable | ''' Environment [ Set Variable ]''' ]]<br/> Set an Environment-variable (1.7.1).

* [[ environment create-with-name | ''' Environment [ Create with Name ]''' ]]<br/> Create a new environment variable in the containing block's environment (1.7.1).

* [[ environment create-with-name-and-value | ''' Environment [ Create with Name and Value ]''' ]]<br/> Create a new environment variable in the containing block's environment (1.8.0).

* [[ environment create-in-executor-environment | ''' Environment [ Create in Executor Environment ]''' ]]<br/> Create a new environment variable in the executor's environment (1.8.0).

* [[ environment remove-by-name | ''' Environment [ Remove by Name ]''' ]]<br/> Remove an environment variable from the containing block's environment (1.7.1).

* [[ Environment_watch_by_name_for_changes | ''' Environment [ Watch by Name for Changes ]''' ]]<br/> Watch a variable (1.7.1).

* [[ Environment_wait_by_name_for_changes | ''' Environment [ Wait by Name for Changes ]''' ]]<br/> Wait for a variable to change (1.7.1).

* [[ Environment_watch_variable_for_changes | ''' Environment [ Watch Variable for Changes ]''' ]]<br/> Watch the variable from which my input is frozen. (1.7.1).

* [[ Environment_wait_for_variable_to_change | ''' Environment [ Wait for Variable to Change ]''' ]]<br/> Wait for the variable from which my input is frozen, to change (1.7.1).

* [[ environment Initialize Project Environment | ''' Environment [ Initialize Project Environment ]''' ]]<br/> Reinitialize all project variables (1.7.2).



{{noprint| 1=

Back to [[Online_Documentation#Library_and_Plugin_Overview | Online Documentation]]

Go to [[Release Notes expecco | Release Notes]]
}}

Aktuelle Version vom 16. Mai 2017, 17:48 Uhr

Weiterleitung nach:



Copyright © 2014-2024 eXept Software AG