<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://doc.expecco.de/index.php?action=history&amp;feed=atom&amp;title=Aktionsbaustein</id>
	<title>Aktionsbaustein - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://doc.expecco.de/index.php?action=history&amp;feed=atom&amp;title=Aktionsbaustein"/>
	<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;action=history"/>
	<updated>2026-04-26T02:45:31Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in expecco Wiki (Version 25.x)</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20221&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 13:09 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20221&amp;oldid=prev"/>
		<updated>2020-09-14T13:09:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 13:09 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 12:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 12:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_PythonScriptAction.png]][[Bild:PIC_GUI_IconSymbol_ProjectComponent_NodeJSScriptAction.png]]  [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GnuPlotScriptAction.png]] Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_PythonScriptAction.png]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;[[Bild:PIC_GUI_IconSymbol_ProjectComponent_NodeJSScriptAction.png]]  [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GnuPlotScriptAction.png]] Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ConsoleCmdAction.png]] Mit diesen können Kommandos des unterliegenden Betriebssystem ausgeführt werden, als wäre es in ein OS-Konsolenfenster eingegeben worden. Die Ausführbarkeit des Befehls hängt von der lokalen Plattform zur Ausführungszeit ab. Das Element liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ConsoleCmdAction.png]] Mit diesen können Kommandos des unterliegenden Betriebssystem ausgeführt werden, als wäre es in ein OS-Konsolenfenster eingegeben worden. Die Ausführbarkeit des Befehls hängt von der lokalen Plattform zur Ausführungszeit ab. Das Element liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20220&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 13:09 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20220&amp;oldid=prev"/>
		<updated>2020-09-14T13:09:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 13:09 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 12:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 12:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_PythonScriptAction.png]][[Bild:PIC_GUI_IconSymbol_ProjectComponent_NodeJSScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GnuPlotScriptAction.png]] Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_PythonScriptAction.png]][[Bild:PIC_GUI_IconSymbol_ProjectComponent_NodeJSScriptAction.png]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt; [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GnuPlotScriptAction.png]] Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ConsoleCmdAction.png]] Mit diesen können Kommandos des unterliegenden Betriebssystem ausgeführt werden, als wäre es in ein OS-Konsolenfenster eingegeben worden. Die Ausführbarkeit des Befehls hängt von der lokalen Plattform zur Ausführungszeit ab. Das Element liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ConsoleCmdAction.png]] Mit diesen können Kommandos des unterliegenden Betriebssystem ausgeführt werden, als wäre es in ein OS-Konsolenfenster eingegeben worden. Die Ausführbarkeit des Befehls hängt von der lokalen Plattform zur Ausführungszeit ab. Das Element liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20216&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 13:06 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20216&amp;oldid=prev"/>
		<updated>2020-09-14T13:06:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 13:06 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 12:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 12:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; [[Bild:PIC_GUI_IconSymbol_ProjectComponent_PythonScriptAction.png]][[Bild:PIC_GUI_IconSymbol_ProjectComponent_NodeJSScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GnuPlotScriptAction.png]]&lt;/ins&gt; Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ConsoleCmdAction.png]] Mit diesen können Kommandos des unterliegenden Betriebssystem ausgeführt werden, als wäre es in ein OS-Konsolenfenster eingegeben worden. Die Ausführbarkeit des Befehls hängt von der lokalen Plattform zur Ausführungszeit ab. Das Element liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ConsoleCmdAction.png]] Mit diesen können Kommandos des unterliegenden Betriebssystem ausgeführt werden, als wäre es in ein OS-Konsolenfenster eingegeben worden. Die Ausführbarkeit des Befehls hängt von der lokalen Plattform zur Ausführungszeit ab. Das Element liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20215&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 13:02 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20215&amp;oldid=prev"/>
		<updated>2020-09-14T13:02:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 13:02 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_JavaScriptAction.png]] JavaScript-Codeblockelemente sind Aktionen, die in Form von Quellcode im JavaScript-Stil definiert werden. Jedes Element enthält Programmcode, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco direkt ausgeführt und hat Zugriff auf die internen APIs. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_JavaScriptAction.png]] JavaScript-Codeblockelemente sind Aktionen, die in Form von Quellcode im JavaScript-Stil definiert werden. Jedes Element enthält Programmcode, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco direkt ausgeführt und hat Zugriff auf die internen APIs. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++, Smalltalk etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert, aber in einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (&quot;import&quot; bzw. &quot;require&quot; Anweisungen der jeweiligen Programmiersprache).&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++, Smalltalk etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert, aber in einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (&quot;import&quot; bzw. &quot;require&quot; Anweisungen der jeweiligen Programmiersprache).&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;Mit diesen Blöcken können beliebige Bibliotheken und Frameworks der jeweiligen Programmiersprache eingebunden und aufgerufen werden. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Mit diesen Blöcken können beliebige Bibliotheken und Frameworks der jeweiligen Programmiersprache eingebunden und aufgerufen werden. &lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 15:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 14:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ConsoleCmdAction.png]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Das&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Console&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Shell&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Command&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Block-Element ist der Elementtyp, der zum Implementieren eines elementaren Funktionsblocks in Form eines Konsolenbefehls verwendet wird. Jedes Element dieses Typs enthält genau ein sogenanntes Console Command-Setup, das direkt vom zugrunde&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;liegenden&lt;/del&gt; Betriebssystem ausgeführt &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wird&lt;/del&gt;, als wäre es in ein OS-Konsolenfenster eingegeben worden. Die Ausführbarkeit des Befehls hängt von der lokalen Plattform zur Ausführungszeit ab. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Der&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Elementtyp&lt;/del&gt; liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ConsoleCmdAction.png]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Mit&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;diesen&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;können&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Kommandos&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;des&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unterliegenden&lt;/ins&gt; Betriebssystem ausgeführt &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;werden&lt;/ins&gt;, als wäre es in ein OS-Konsolenfenster eingegeben worden. Die Ausführbarkeit des Befehls hängt von der lokalen Plattform zur Ausführungszeit ab. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Das&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Element&lt;/ins&gt; liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* RPC (Remote Procedure Call) Elemente senden eine Anforderung via SOAP, REST oder XML-RPC an einen Dienst. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* RPC (Remote Procedure Call) Elemente senden eine Anforderung via SOAP, REST oder XML-RPC an einen Dienst. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_DataGeneratorAction.png]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Das Test&lt;/del&gt; Data Generator &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Block-Element&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ist&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;der&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Elementtyp,&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mit&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dem&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;künstlich&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;erzeugte&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Datenwerte&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zur&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Laufzeit bereitgestellt werden&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sein&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zweck&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;besteht darin, Dateneingaben zu ersetzen, die noch nicht oder vorübergehend nicht verfügbar sind, um es dem Benutzer zu ermöglichen, seine Tests jedoch zu&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Testzwecken&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;auszuführen&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jedes&lt;/del&gt; Element&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; dieses Typs&lt;/del&gt; enthält&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; genau&lt;/del&gt; eine &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sogenannte&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Generic&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Values&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;List,&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;die Zeit-Wert-Paare verwendet&lt;/del&gt;, die zur Laufzeit verwendet werden, um &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jeden&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Wert&lt;/del&gt; zu &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;seiner&lt;/del&gt; bestimmten &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Generierungszeit&lt;/del&gt; zu erzeugen und&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; ihn&lt;/del&gt; an die Ausgabeschnittstelle zu liefern.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_DataGeneratorAction.png]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Mit&lt;/ins&gt; Data Generator &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Blöcken&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;können&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vordefinierte&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Datensätze&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;einer&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zeitreihe&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;generiert&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;werden&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(und&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;z.B&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;einem&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Testcase&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;als&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Eingangsdaten&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dienen)&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Das&lt;/ins&gt; Element enthält eine &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Liste&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;von&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Werten&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sowie&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zeitintervalle&lt;/ins&gt;, die zur Laufzeit verwendet werden, um &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jedes&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tupel&lt;/ins&gt; zu &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;einem&lt;/ins&gt; bestimmten &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zeitpunkt&lt;/ins&gt; zu erzeugen und an die Ausgabeschnittstelle zu liefern.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20214&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 12:57 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20214&amp;oldid=prev"/>
		<updated>2020-09-14T12:57:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 12:57 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der &amp;lt;strong&amp;gt;Aktionsbaustein&amp;lt;/strong&amp;gt; ist der einzige Expecco-Elementtyp, der spezialisierte &amp;lt;em&amp;gt;Subtypen&amp;lt;/em&amp;gt; aufweist. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der &amp;lt;strong&amp;gt;Aktionsbaustein&amp;lt;/strong&amp;gt; ist der einzige Expecco-Elementtyp, der spezialisierte &amp;lt;em&amp;gt;Subtypen&amp;lt;/em&amp;gt; aufweist. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die folgende Liste zeigt die konkreten Subtypen &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;des&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Aktionsbaustein-Elementtyps&lt;/del&gt;, die wiederum die Rolle der einzelnen Elemente kurz erklären und das Symbol, das dafür in der expecco-GUI verwendet wird, einführt:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die folgende Liste zeigt die konkreten Subtypen &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;der&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Aktionsbausteine&lt;/ins&gt;, die wiederum die Rolle der einzelnen Elemente kurz erklären und das Symbol, das dafür in der expecco-GUI verwendet wird, einführt:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_CompoundAction.png]] Die zusammengesetzte Aktion (CompoundAction) wird zum Modellieren von Workflows verwendet. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jedes&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Element&lt;/del&gt; dieses Typs enthält&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; genau&lt;/del&gt; einen &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sogenannten &#039;&#039;ínternen&lt;/del&gt; Workflow&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&lt;/del&gt;, der&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; oft&lt;/del&gt; auch &#039;&#039;Internes Netzwerk&#039;&#039; des Blocks genannt wird. Alle anderen Aktionsbaustein-Typen werden als Elementarblöcke bezeichnet, da sie im Gegensatz dazu kein internes Netzwerk haben, sondern elementare Funktionsblöcke (als Programmcode oder Remote procedure Call) implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_CompoundAction.png]] Die zusammengesetzte Aktion (CompoundAction) wird zum Modellieren von Workflows verwendet. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jede&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Aktion&lt;/ins&gt; dieses Typs enthält einen &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;internen&lt;/ins&gt; Workflow, der auch &#039;&#039;Internes Netzwerk&#039;&#039; des Blocks genannt wird. Alle anderen Aktionsbaustein-Typen werden als Elementarblöcke bezeichnet, da sie im Gegensatz dazu kein internes Netzwerk haben, sondern elementare Funktionsblöcke (als Programmcode oder Remote procedure Call) implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_SmalltalkAction.png]] Das Smalltalk-Codeblockelement ist &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;der&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Elementtyp&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;der&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zum&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Implementieren&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;eines elementaren Funktionsblocks&lt;/del&gt; in&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Form von&lt;/del&gt; Smalltalk-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Stil-Quellcode&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;verwendet&lt;/del&gt; wird. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jedes Element dieses Typs enthält genau einen sogenannten&lt;/del&gt; Code&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Content&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;der&lt;/del&gt; zur &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Laufzeit&lt;/del&gt; in der Smalltalk&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/X-&lt;/del&gt;Syntax interpretiert &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wird.&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Der&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Code&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wird&lt;/del&gt; in &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expecco&lt;/del&gt; selbst ausgeführt; er hat also Zugriff auf das gesamte API des unterliegenden Laufzeitsystems (dazu gibt es auch einen eingebauten Klassenbrowser, der über das Tools-Menu geöffnet wird).&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_SmalltalkAction.png]] Das Smalltalk-Codeblockelement ist &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;eine&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;elementare Aktion&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;die&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;durch&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ein&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Programm&lt;/ins&gt; in Smalltalk-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Syntax&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;definiert&lt;/ins&gt; wird. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Der&lt;/ins&gt; Code, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wird&lt;/ins&gt; zur &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ausführung&lt;/ins&gt; in der Smalltalk&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;Syntax interpretiert &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;von&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;der&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unterliegenden&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;VM (Virtual Machine)&lt;/ins&gt; in &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expeccoo&lt;/ins&gt; selbst ausgeführt; er hat also Zugriff auf das gesamte API des unterliegenden Laufzeitsystems (dazu gibt es auch einen eingebauten Klassenbrowser, der über das Tools-Menu geöffnet wird).&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_JavaScriptAction.png]]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Das&lt;/del&gt; JavaScript-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Codeblockelement&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ist&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;der Elementtyp&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;der zum Implementieren eines elementaren Funktionsblocks&lt;/del&gt; in Form von Quellcode im JavaScript-Stil &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;verwendet&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wird&lt;/del&gt;. Jedes Element&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; dieses Typs&lt;/del&gt; enthält &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;genau einen sogenannten Code-Inhalt&lt;/del&gt;, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco ausgeführt. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_JavaScriptAction.png]] JavaScript-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Codeblockelemente&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sind&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Aktionen&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;die&lt;/ins&gt; in Form von Quellcode im JavaScript-Stil &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;definiert&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;werden&lt;/ins&gt;. Jedes Element enthält &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Programmcode&lt;/ins&gt;, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; direkt&lt;/ins&gt; ausgeführt&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; und hat Zugriff auf die internen APIs&lt;/ins&gt;. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;und&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;von&lt;/del&gt; einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Anweisung&lt;/del&gt; der jeweiligen Programmiersprache).&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, Smalltalk&lt;/ins&gt; etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;,&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aber&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in&lt;/ins&gt; einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;import&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt; bzw. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;require&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Anweisungen&lt;/ins&gt; der jeweiligen Programmiersprache).&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Mit diesen Blöcken können beliebige Bibliotheken und Frameworks der jeweiligen Programmiersprache eingebunden und aufgerufen werden. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;szlig; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20213&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 12:45 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20213&amp;oldid=prev"/>
		<updated>2020-09-14T12:45:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 12:45 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 10:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 10:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;szig&lt;/del&gt;; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. da&amp;amp;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;szlig&lt;/ins&gt;; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20212&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 12:45 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20212&amp;oldid=prev"/>
		<updated>2020-09-14T12:45:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 12:45 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 10:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 10:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;das&lt;/del&gt; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;da&amp;amp;szig;&lt;/ins&gt; Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20210&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 12:43 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20210&amp;oldid=prev"/>
		<updated>2020-09-14T12:43:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 12:43 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 10:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 10:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. das Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellBatchAction&lt;/ins&gt;.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. das Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Script Elemente in anderen Programmiersprachen (Python, NodeJS, Ruby, GnuPlot,  etc.) Bei diesen wird ein Scriptinterpreter für jede Aktionsausführung neu gestartet und der Code ausgeführt.  &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20208&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 12:40 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20208&amp;oldid=prev"/>
		<updated>2020-09-14T12:40:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 12:40 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_JavaScriptAction.png]] Das JavaScript-Codeblockelement ist der Elementtyp, der zum Implementieren eines elementaren Funktionsblocks in Form von Quellcode im JavaScript-Stil verwendet wird. Jedes Element dieses Typs enthält genau einen sogenannten Code-Inhalt, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco ausgeführt. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_JavaScriptAction.png]] Das JavaScript-Codeblockelement ist der Elementtyp, der zum Implementieren eines elementaren Funktionsblocks in Form von Quellcode im JavaScript-Stil verwendet wird. Jedes Element dieses Typs enthält genau einen sogenannten Code-Inhalt, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco ausgeführt. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.gif&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BridgedPythonAction.png&lt;/ins&gt;]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. das Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. das Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
	<entry>
		<id>https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20206&amp;oldid=prev</id>
		<title>Cg am 14. September 2020 um 11:33 Uhr</title>
		<link rel="alternate" type="text/html" href="https://doc.expecco.de/index.php?title=Aktionsbaustein&amp;diff=20206&amp;oldid=prev"/>
		<updated>2020-09-14T11:33:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 14. September 2020, 11:33 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_JavaScriptAction.png]] Das JavaScript-Codeblockelement ist der Elementtyp, der zum Implementieren eines elementaren Funktionsblocks in Form von Quellcode im JavaScript-Stil verwendet wird. Jedes Element dieses Typs enthält genau einen sogenannten Code-Inhalt, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco ausgeführt. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_JavaScriptAction.png]] Das JavaScript-Codeblockelement ist der Elementtyp, der zum Implementieren eines elementaren Funktionsblocks in Form von Quellcode im JavaScript-Stil verwendet wird. Jedes Element dieses Typs enthält genau einen sogenannten Code-Inhalt, der zur Laufzeit entsprechend der JavaScript-Syntax interpretiert wird. Wie bei obigem Baustein wird der Code in expecco ausgeführt. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;png&lt;/del&gt;]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_GroovyAction.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gif&lt;/ins&gt;]] Bridged Code Elemente (Java, Python, NodeJS, C, C++ etc.) Bei diesen wird analog zu obigen eine Funktion in der jeweiligen Programmiersprache definiert und von einem externen Interpreter (node, python, java, etc.) ausgeführt. Der Interpreter wird dazu einmalig gestartet, das jeweilige Codefragment darin installiert, und mit jeder Aktivierung des Bausteins aufgerufen. Es ist also eine Remote Procedure Call Aktivierung, wobei die Werte der Eingangs- und AusgangsPins über eine Socketverbindung ausgetauscht werden. Der Interpreter kann daher sowohl auf der lokalen als auch auf einer entfernten Maschine laufen. Mittels sprachspezifischen Anweisungen können beliebige Bibliotheken eingebunden und angesprochen werden (import bzw. require Anweisung der jeweiligen Programmiersprache). &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. das Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bild:PIC_GUI_IconSymbol_ProjectComponent_ShellScriptAction.png]] [[Bild:PIC_GUI_IconSymbol_ProjectComponent_BatchScriptAction.png]] Die Shell- und Batch Skriptblockelemente werden zum Aufruf von Shell bzw. Batch Skripts verwendet. Jedes Element dieses Typs enthält ein Skript, welches zur Laufzeit in der Shell- oder Batch-Syntax interpretiert wird. Da der Inhalt direkt an das zugrunde liegende Betriebssystem weitergeleitet wird und nicht von der expecco-Engine interpretiert wird, hängt die Ausführbarkeit der Inhalte von der lokalen Plattform zur Ausführungszeit ab; d.h. das Batch Skripte nicht auf Unix Plattformen und umgekehrt Shell Skripte nicht auf Windows laufen (es sei denn, es wurde unter Windows eine Shell Umgebung installiert). Der Elementtyp liefert auch die typischen Streams vom und zum Betriebssystemprozess, wie &amp;lt;code&amp;gt; stdin &amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt; stdout &amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt; stderr &amp;lt;/code&amp;gt;. Expecco bietet auch einen kombinierten Shell+Batch Baustein, welcher je nach unterliegendem Betriebssystem einen der beiden Kommandointerpreter aufruft; damit lassen sich portable Skripte relativ einfach implementieren.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cg</name></author>
	</entry>
</feed>