Das #Button-Objekt dient zur Benutzereingabe. Es stellt eine grosse Anzahl Aktionen zur Interaktion mit dem System zur Verfügung.
Siehe auch
Allgemeine Aktionen
Alarm Aktionen
Alarmlist Aktionen
Authent Aktionen
Datalog Aktionen
RemoteControlServer Aktionen
Rezept Aktionen
Rezeptliste Aktionen
Trend Aktionen
Allgemeine Aktionen
Parameter
Object
Spalte A
|
M/O
|
Default
|
Beschreibung
|
#Button
|
M
|
|
Touch/Maus-aktiver Bereich für Interaktion
|
Text/File
Spalte B
|
M/O
|
Default
|
Beschreibung
|
|
O
|
|
wird weder Bild noch Text eingegeben, so handelt es sich um ein touchaktives Feld z.B. innerhalb einer Grafik. Das Feld wird bei Betätigung invertiert, wenn als Backcolor transparent verwendet wird
|
<text1>[,<text2>]
|
O
|
|
Anzuzeigender Text (auch mehrzeilig)
Variante1: <text1>
<text1> wird angezeigt für Zustände nicht betätigt/betätigt
Variante2: <text1>,<text2>
<text1> wird im nicht betätigten Zustand angezeigt
<text2> wird im betätigten Zustand angezeigt
Positionierung von Text:
Text wird zentriert ausgegeben, kann aber via Option pos=<alignment> horizontal ausgerichtet werden.
Beispiele
Text/File
|
Zustand
|
Resultat
|
Text1,Text2
|
nicht betätigt
|

|
Text1,Text2
|
betätigt
|

|
|
<bild0>[,<bild1>]
|
|
|
Anzuzeigende Bilddatei(en) als Icon (<bild0>) oder für Zustand nicht betätigt (<bild0>) und betätigt (<bild1>)
Positionierung von Bildern:
Wenn ein Border definiert ist werden Bilder zentriert ausgegeben.
Wenn kein Border definiert ist werden Bilder links oben positioniert.
Beispiel
hand.pcx
|
nicht betätigt
|

|
|
Font
X, Y, DX, DY
Color
BackColor
Format
Spalte J
|
M/O
|
Default
|
Beschreibung
|
Format
|
O
|
kein Rahmen
|
Art des Rahmen
|
Invisible
|
O
|
|
Objekt nicht sichtbar
|
Action
Spalte K
|
Beschreibung
|
<Action>
|
Aktion wird bei Betätigung des Button ausgeführt, unabhängig vom Variablenwert
|
<Action1>&<Action2>...
|
Mehrfache Aktionen können mit & definiert werden.
Aktion1 UND Aktion2,... wird bei Betätigung des Button ausgeführt, unabhängig vom Variablenwert
|
<Action0>,<Action1>,...
|
Aktion wird bei Betätigung des Button in Abhängigkeit vom Variablenwert ausgeführt.
Beispiel
Action: #Page=Wert0,#Page=Wert1
...Wechsel auf die Bildseite „Wert0“, wenn der Variablenwert 0 ist
...Wechsel auf die Bildseite „Wert1“, wenn der Variablenwert 1 ist
|
Mit Hilfe der Option ‚Switch=’ können auch Wertebereiche für die einzelnen Aktionen definiert werden.
Beispiel
Action
|
#Page=Range0,#Page=Range1,#Page=Range3
|
Option
|
Switch=<0:0..5:>5
|
Wechsel auf die Bildseite „Range0“, wenn der Variablenwert < 0 ist
Wechsel auf die Bildseite „Range1“, wenn der Variablenwert im Bereich 0 bis 5 liegt
Wechsel auf die Bildseite „Range2“, wenn der Variablenwert > 5 ist
Action (allgemeine Aktionen)
Spalte K
|
Beschreibung
|
#Page=<name>
|
Seite mit Namen <name> öffnen
|
#Page=<name>:animation={topin¦bottomin¦leftin¦rightin}[(<duration>)]
|
Animierte Seitenwechsel:
Um eine #Page animiert zu öffnen muss :animation an den #Page Namen angehängt werden gefolgt von der Art der Animation:
|
animation=topin
|
Die Page wird von oben ins Display auf die Zielposition geschoben
|
|
animation=bottomin
|
Die Page wird von unten ins Display auf die Zielposition geschoben
|
|
animation=leftin
|
Die Page wird von links ins Display auf die Zielposition geschoben
|
|
animation=rightin
|
Die Page wird von rechts ins Display auf die Zielposition geschoben
|
Beispiele:
#Page=pw:animation=topin
Optional kann die Dauer der Animation in [ms] angegeben werden. Default ist 600ms.
Beispiele:
#Page=pw:animation=topin( 400 )
|
PageBack
|
Die letzte Seite öffnen (ähnlich der Browser Funktionalität Back)
|
PageHome
|
Startseite öffnen
|
Close
|
oberste bzw. zuletzt geöffnete Seite (Fenster) schliessen
|
Close=<name>
|
Seite (Fenster) mit Namen <name> schliessen
|
EjectVolume( Drive;#page=<eject_failed>;#page=<eject_succeeded>)
|
Abmelden eines Wechselspeicher, z.B. Memoristick oder SD-Card.
#page=<eject_failed> : Seite die im Fehlerfall geöffnet wird ( optional)
#page=<eject_succeeded> : Seite die bei erfolgreicher Abmeldung geöffnet wird ( optional, bedingt auch Angabe von #page=<eject failed)
Beispiele
EjectVolume( /StorageCard2 )
EjectVolume( /StorageCard2; #page=eject_failed )
EjectVolume( /StorageCard2; #page=eject_failed; #page=eject_succeded )
|
Exit
|
Programm beenden (zurück zum Betriebssystem)
|
FileCopy( src=<filepath1> dst=<filepath2> [#page=<error> [#page=<ok>]] )
|
Datei <filepath1> nach <filepath2> kopieren
Optional:
1. Seite #page=<error>: wird geöffnet bei Kopierfehler
2. Seite #page=<ok>: wird geöffnet nachdem der Kopiervorgang erfolgreich beendet wurde
Beispiele
filecopy( src=\Epam4\log\f1.log dst=\StorageCard2\dat\fi.log)
filecopy( src=\Epam4\log\f1.log dst=\StorageCard2\dat\fi.log #page=copy_err)
filecopy( src=\Epam4\log\f1.log dst=\StorageCard2\dat\fi.log #page=copy_err #page=copy_ok)
|
IPparam:Get
|
Lädt die IP-Parameter (EthernetAdapter 0) in die Systemvariablen:
|
IPparam:Set
|
Setzt die IP-Parameter (EthernetAdapter 0) gemäss den Sytemvariablen
|
Key=<keycode>
|
Sendet das Zeichen <keycode>, das von einem #Variable Objekt im Eingabemodus (Fokus) empfangen wird.
Wird zum Erstellen von Tastaturseiten benötigt.
Zeichen könne wie folgt definiert werden:
|
Beispiel:
|
Ascii/Unicode - Zeichen
|
key=A
|
Hexcode
|
key=\x41
|
Tastenname
|
key=Enter
|
Siehe auch
Tastennamen
|
Language=<name>
Language=default
|
Sprachumschaltung auf <name> bzw. Defaultsprache (Language=default)
wechselt zur Sprache <name>.
setzte /S/APP/Language auf <name>
varpool:sysvarsave wird implizit ausgeführt
|
PWL=<level>
|
Setzt den #Passwort-Level auf <level>
/S/SYS/Pwl kann auch direkt gesetzt werden
|
Reboot
|
Neustart des Systems
|
SetDateTime
|
Setzt die Systemzeit (und Datum), wobei die zu setzende Zeit aus folgende Systemvariablen gebildet wird:
/S/SYS/tm_Hour
/S/SYS/tm_Min
/S/SYS/tm_nSec
/S/SYS/tm_Year
/S/SYS/tm_Mon
/S/SYS/tm_Day
/S/SYS/tm_IsPm
/S/APP/tm_UseAmPm
Unter Windows Vista und höher werden entsprechende Rechte ( SE_SYSTEMTIME_NAME) benötigt um die Systemzeit zu ändern.
Siehe: Assigning Privileges to an Account
|
System=<excutable> [options]
|
Als <executable> kann eine beliebig ausführbare Datei inklusive Parameter stehen.
Pfade mit Leerzeichen müssen zwischen Anführungszeichen gesetzt werden.
Folgende Optionen können zwischen eckigen Klammern angegeben werden:
-d <Arbeitsverzeichnis>
Beispiel:
system="c:\Program files\viewer\viewer.exe" myfile [-d d:\my documents]
Ausführen einer Batchdatei unter WinCE:
system=\windows\cmd.exe /c /storagecard/my.bat
|
Touch_calibrate
|
Kalibrierung des resistiven Touch wird aufrufen
Ist abhängig vom Gerät, bzw. TouchTyp und Hersteller
|
TipVar=<value>
|
VarValue wird <value> gesetzt solange der #Button gedrückt wird, anschliessend wird VarValue auf 0 gesetzt.
|
Unit=<index>
|
Mass-Systemumschaltung, wobei <index> eine die Ganzzahl >= 0 sein muss.
(siehe Masssysteme)
|
Varpool:[<driver>][<host>].export
|
Speichert die Variablen des Hosts nach: <PATH_DAT>/<drv>-<host>.csv.
|
Varpool:sysvarsave
|
Speichert die persistenten Systemvariablen nach <PATH_INI>/<Host>.INI.
|
Action (PlcCmd Aktionen)
Via PlcCmd Aktionen können die Betriebszustände der SPS gesteuert werden.
Spalte K
|
Beschreibung
|
PlcCmd=/<Drv>/<Host>:CreateBootProject
|
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Boot Projekt erzeugen
|
PlcCmd=/<Drv>/<Host>:ResetCold
|
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Reset Kalt
|
PlcCmd=/<Drv>/<Host>:ResetOriginal
|
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Reset Original
|
PlcCmd=/<Drv>/<Host>:ResetWarm
|
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Reset Warm
|
PlcCmd=/<Drv>/<Host>:Start
|
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Start
|
PlcCmd=/<Drv>/<Host>:Stop
|
Kommando an Steuerung am Kanal /<Drv>/<Host> senden: Stop
|
Nicht alle Kommandos werden von jedem Kommunikationstreiber unterstützt, siehe Tabelle:
Kommando / Driver
|
PlcH Arti
|
PlcH Gateway3
|
RS7
|
ADS
|
OPC
|
CreateBootProject
|
|
|
√
|
|
|
ResetCold
|
|
|
√
|
|
|
ResetOriginal
|
|
|
√
|
|
|
ResetWarm
|
|
|
√
|
|
|
Start
|
√
|
|
√
|
√
|
|
Stop
|
√
|
|
√
|
√
|
|
Action (SetVar Aktionen)
Spalte K
|
Beschreibung
|
SetVar=<constant>
SetVar=<variable>
|
Dem VarValue wird die Konstante <constant> zugewiesen.
Dem VarValue wird der Wert von <variable> zugewiesen.
<variable> muss vom selben Datentyp sein wie VarValue nämlich VarType!
|
SetVar=NotVar
|
Variablenwert invertieren (0/1)
|
SetVar:<variable1>=<constant>
SetVar:<variable1>=<variable2>
|
Der <variable1> wird die Konstante <constant> zugewiesen.
Der <variable1> wird <variable2> zugewiesen.
<variable1> und <variable2> müssen vom selben Datentyp sein!
|
SetVar+<constant>
SetVar+<variable>
|
Das VarValue wird um die Konstante <constant> inkrementiert.
Das VarValue wird um den Wert von <variable> inkrementiert.
<variable> muss vom selben Datentyp sein wie VarValue nämlich VarType!
|
SetVar-<constant>
SetVar-<variable>
|
Das VarValue wird um die Konstante <constant> dekrementiert
Das VarValue wird um den Wert von <variable> dekrementiert
<variable> muss vom selben Datentyp sein wie VarValue nämlich VarType!
|
Action (Aktionen für #Alarm)
Spalte K
|
Beschreibung
|
Alarm:delete
|
Löscht den Alarmbuffer des #Alarm Objekt vom Typ /S/APP/Alarm:Type
|
Alarm:[<type>].delete
|
Löscht den Alarmbuffer des #Alarm Objekt vom Typ <type>
Beispiel: Alarm:[MyAlarm1].delete
|
Alarm:export={csv¦xml}
|
Exportiert den Alarmbuffer des #Alarm Objekt vom Typ /S/APP/Alarm:Type als csv , bzw. xml in den PATH_DAT
Es werden alle Alarme exportiert, in der Reihenfolge in der sie im Buffer liegen.
|
Alarm:[<type>].export={csv¦xml}
|
Exportiert den Alarmbuffer des #Alarm Objekt vom Typ <type> als csv , bzw. xml in den PATH_DAT
Es werden alle Alarme exportiert, in der Reihenfolge in der sie im Buffer liegen.
Beispiel: alarm:[MyAlarm1].export=xml
|
Alarm:quitall
|
Quittiert alle nicht quittierten Alarme des #Alarm Objekt vom Typ /S/APP/Alarm:Type
|
Alarm:[<type>].quitall
|
Quittiert alle nicht quittierten Alarme des #Alarm Objekt vom Typ <type>
Beispiel: Alarm:[MyAlarm1].quitall
|
Alarm:type=<type>
|
Legt den Alarmtyp fest, nötig sobald mehrere #Alarm Objekte projektiert wurden.
Setzt /S/APP/Alarm:Type auf <type>.
|
/S/APP/Alarm:Type muss nur gesetzt werden wenn mehrere #Alarm Objekte projektiert wurden.
Action (Aktionen für #AlarmList)
Spalte K
|
Beschreibung
|
AlarmList:quit
|
quittiert selektierten Alarm
|
AlarmList:sort=FiFo
|
absteigend nach AlarmOn sortieren (ältester Alarm zuoberst)
Sortierung setzen: FiFo = ältester Alarm zuerst, bzw. aufsteigend nach AlarmOn
LiFo = neuester Alarm zuerst, bzw absteigend nach AlarmOn
Priority = aufsteigend nach AlarmNo
|
AlarmList:sort=LiFo
|
absteigend nach AlarmOn sortieren (neuster Alarm zuoberst)
|
AlarmList:sort=Priority
|
aufsteigend nach AlarmNo (kleinste Alarmnummer zuoberst)
|
AlarmList:filter=all
|
alle Alarme anzeigen
|
AlarmList:filter=activ
|
nur aktive Alarme anzeigen
|
AlarmList:filter=activ|notquit
|
nur aktive oder nicht quittierte Alarme anzeigen
|
AlarmList:filter=activ+notquit
|
nur aktive und nicht quittierte Alarme anzeigen
|
AlarmList:filter=notquit
|
nur nicht quittierte Alarme anzeigen
|
AlarmList:info=<n>
|
Die in der Alarmdefinition unter "Action Alarm Info" projektierte Seite <n>, des selektierten Alarms wird geöffnet. (1. Action=1, 2.=2,...)
|
AlarmList:[<name>].<action>
|
Aktion <action> auf die durch <name> bestimmte Alarmliste ausführen. Als <action> kann eine der obigen Aktionen angegeben werden. Dadurch muss /S/APP/AlarmList:Type nicht gesetzt werden.
|
Aktionen werden auf das erste aktive #AlarmList Objekt ausgeführt, oder wenn /S/APP/AlarmList:Type gesetzt ist, auf das #AlarmList Objekt vom bezeichneten Typ.
Action (Aktionen für #Authent)
Spalte K
|
Beschreibung
|
Authent:login
|
Benutzer mit /S/SYS/Authent:User und /S/SYS/Authent:Pwd anmelden
|
Authent:logout
|
Angemeldeten Benutzer abmelden
|
Authent:changePwd
|
Passwort des angemeldeten Benutzer nach /S/SYS/Authent:Pwd ändern.
|
Authent:addUser
|
Benutzer S/SYS/Authent:User anlegen
(keiner Rolle zugeordnet)
|
Authent:addUserToRole=<Role>
|
Benutzer S/SYS/Authent:User anlegen und der Rolle <Role> zuordnen.
|
Action (Aktionen für #Datalog)
Spalte K
|
Beschreibung
|
Datalog:[<name>].save
|
Kopiert die Logdatei des #Datalog Objekt vom Typ <name> nach PATH_DAT
|
Datalog:[<name>].delete
|
Löscht die Logdatei des #Datalog Objekt vom Typ <name>
|
Datalog:[<name>].export
|
Exportiert die Logdatei nach PATH_DAT mit extension ".csv". Der Dateinamen kann kann durch #Export in der Datalog-Definition Tabelle beeinflusst werden.
|
Datalog:[<name>].export=<path>
|
Exportiert die Logdatei nach <path> mit extension ".csv". Der Dateinamen kann kann durch #Export in der Datalog-Definition Tabelle beeinflusst werden.
Der Pfad kann ganz oder teilweise durch eine Variable definiert werden, zB.:
Datalog:[dl1].export=/storagecard2/%/S/TMP/myDir%
|
Datalog:exportall=<path>
|
Exportiert die Logdateien aller #Datalog Objekte nach <path> mit extension ".csv".
Der Pfad kann ganz oder teilweise durch eine Variable definiert werden, zB.
Datalog:[dl1].export=/storagecard2/%/S/TMP/myDir%
|
Action (Aktionen zur Steuerung des #RemoteControl Server)
Spalte K
|
Beschreibung
|
RemoteControl:connection.drop
|
Alle mit dem lokalen Remoteserver verbundenen Clients werden unterbrochen
|
RemoteControl:input.enable
|
Erlaubt remote Bedienung mit Tastatur oder Maus
|
RemoteControl:input.disable
|
Unterbindet remote Bedienung mit Tastatur oder Maus
|
Action (Aktionen für #Recipe)
Spalte K
|
Beschreibung
|
Recipe:type=<type>
|
Setzt /S/APP/Recipe:Type auf <type>
|
Recipe:delete
|
Rezeptdatei /S/APP/Recipe[<type>].file vom Typ /S/APP/Recipe:Type löschen
|
Recipe:[<type>].delete
|
Rezeptdatei /S/APP/Recipe[<type>].file vom Typ <type> löschen
|
Recipe:load
|
Rezeptdatei /S/APP/Recipe[<type>].file vom Typ /S/APP/Recipe:Type laden
|
Recipe:load=<filepath>
|
Rezept vom Typ /S/APP/Recipe:Type lädt die Datei <filepath>
|
Recipe:[<type>].load
|
Rezeptdatei /S/APP/Recipe[<type>].file vom Typ <type> laden
|
Recipe:[<type>].load=<filepath>
|
Rezept vom Typ <type> lädt die Datei <filepath>
|
Recipe:csave
|
Rezept vom Typ /S/APP/Recipe:Type speichern.
Rezept- und Dateiname werden aus den Systemvariablen /S/APP/Recipe[<type>].name /S/APP/Recipe[<type>].file entnommen.
Falls die Datei bereits existiert, wird die Datei nicht überschrieben, sondern es wird ein Laufzeitfehler angezeigt, oder wenn am #Recipe Objekt projektiert, die Action #Page=<name> ausgeführt.
|
Recipe:[<type>].csave
|
Rezept vom Typ <type> speichern.
Rezept- und Dateiname werden aus den Systemvariablen /S/APP/Recipe[<type>].name /S/APP/Recipe[<type>].file entnommen.
Falls die Datei bereits existiert, wird die Datei nicht überschrieben, sondern es wird ein Laufzeitfehler angezeigt, oder wenn am #Recipe Objekt projektiert, die Action #Page=<name> ausgeführt.
|
Recipe:save
|
Rezept vom Typ /S/APP/Recipe:Type speichern. Rezept- und Dateiname werden aus den Systemvariablen /S/APP/Recipe[<type>].name /S/APP/Recipe[<type>].file entnommen.
Falls die Datei bereits existiert, wird sie überschrieben.
|
Recipe:[<type>].save
|
Rezept vom Typ <type> speichern. Rezept- und Dateiname werden aus den Systemvariablen /S/APP/Recipe[<type>].name /S/APP/Recipe[<type>].file entnommen.
Falls die Datei bereits existiert, wird sie überschrieben.
|
Action (Aktionen für #RecipeList)
Spalte K
|
Beschreibung
|
RecipeList:delete
|
In der #RecipeList selektiertes Rezept löschen
|
RecipeList:load
|
In der #RecipeList selektiertes Rezept laden
|
RecipeList:csave
|
In der #RecipeList selektiertes Rezept speichern.
Falls die Datei bereits existiert, wird die Datei nicht überschrieben, sondern es wird ein Laufzeitfehler angezeigt, oder wenn am #Recipe Objekt projektiert, die Action #Page=<name> ausgeführt.
|
RecipeList:save
|
In der #RecipeList selektiertes Rezept speichern.
Falls die Datei bereits existiert, wird sie überschrieben.
|
RecipeList:sort=file
|
#RecipeList aufsteigend sortieren nach Spalte file
|
RecipeList:sort=name
|
#RecipeList aufsteigend sortieren nach Spalte name
|
RecipeList:sort=time
|
#RecipeList aufsteigend sortieren nach Spalte time
|
Action (Aktionen für #Trend)
Spalte K
|
Beschreibung
|
Trend:online
|
Der #Trend wird online geschaltet (nach Cursor, oder Scrolling).
|
Trend:[<name>].online
|
|
Trend:ShiftCursor<offset>
|
Der #Trend-Cursor wird um Anzahl <offset> Datenpunkte verschoben:
Ein positiver <+offset> verschiebt in Richtung Zukunft
Ein negativer <-offset> verschiebt in Richtung Vergangenheit
|
Trend:[<name>].ShiftCursor<offset>
|
|
Trend:ScrollGrid<offset>
|
Die #Trend-Kurven werden um <offset> * Grid in der aktuellen Auflösung (Zoom) verschoben
Ein positiver <+offset> verschiebt in Richtung Zukunft
Ein negativer <-offset> verschiebt in Richtung Vergangenheit
|
Trend:[<name>].ScrollGrid<offset>
|
|
Trend:ScrollPage<offset>
|
Die #Trend-Kurven werden um <offset> * Page der aktuellen Auflösung (Zoom) verschoben
Ein positiver <offset> verschiebt in Richtung Zukunft
Ein negativer <offset> verschiebt in Richtung Vergangenheit
|
Trend:[<name>].ScrollPage<offset>
|
|
Trend:ScrollEnd
|
Die #Trend-Kurven werden ans Ende verschoben, die ältesten Daten werden sichtbar
|
Trend:[<name>].ScrollEnd
|
|
Trend:ZoomXGrid<factor>
|
Die X-Achse, bzw der XRange wird gezoomt:
XRange = XRange + <factor> * Grid
<factor> muss eine positive oder negative Ganzzahl Konstante sein
|
Trend:[<name>].ZoomXGrid<factor>
|
|
Trend:ZoomXPage+1
Trend:ZoomXPage-1
|
Die X-Achse, bzw der XRange wird gezoomt:
trend:ZoomXPage+1 => XRange = XRange * 2
trend:ZoomXPage-1 => XRange = XRange / 2
|
Trend:[<name>].ZoomXPage+1
Trend:[<name>].ZoomXPage-1
|
|
Trend:ZoomXReset
|
Der XRange wird wieder auf den ursprünglichen, bzw. projektierten Wert gestellt
|
Trend:[<name>].ZoomXReset
|
|
Action (Aktionen für #UserList)
Spalte K
|
Beschreibung
|
UserList:disable
|
Das ausgewählte Benutzerkonto wird inaktiv
|
UserList:enable
|
Das ausgewählte Benutzerkonto wird aktiv
|
UserList:remove
|
Das ausgewählte Benutzerkonto wird gelöscht
|
UserList:resetpwd
|
Das Passwort des ausgewählten Benutzerkonto wird zurück gesetzt
Je nache Einstellung in der Authent-Definition auf:
|
Limit1
Limit2
ActionLimit1, ActionLimit2
VarValue
Spalte P
|
M/O
|
Default
|
Beschreibung
|
<variable>
|
O
|
|
Variable zum Steuern und oder Darstellen
|
VarType
Spalte Q
|
M/O
|
Default
|
Beschreibung
|
Datentyp
|
O
|
|
es werden alle Datentypen unterstützt
|
VarState
Spalte R
|
M/O
|
Default
|
Beschreibung
|
<variable>
|
O
|
|
|
Option
Spalte S
|
M/O
|
Default
|
Beschreibung
|
NoBeep
|
O
|
|
Es wird kein Beep ausgegeben beim Auslösen der Aktion. Wird typischerweise bei überlagerten Buttons verwendet.
|
Pos={Center¦Left¦Right}
|
O
|
Pos=Center
|
Horizontale Ausrichtung des Texts, bzw. Bild. Vertikale Ausrichtung ist per Default zentriert.
|
zentriert
|
|
linksbündig
|
|
rechtsbündig
|
|
VPos={Top¦Bottom}
|
O
|
|
Vertikale Ausrichtung des Texts, bzw. Bild.
|
Am oberen Rand ausgerichtet
|
|
Am unteren Rand ausgerichet
|
|
|
|
Switch=<range0>:<range1>:...
|
O
|
|
Mit der Option Switch können Werte Bereiche auf einen bestimmten Index gelegt werden.
range0 -> 0
range1 -> 1
...
Wobei der erste Bereich (range) auf den Index 0 gemappt wird, der zweite auf 2,...
Die Bereiche werden durch einen Doppelpunkt getrennt.
Bereiche können wie folgt definiert werden:
<n
|
|
Alle Werte kleiner <n>
|
>n
|
|
Alle Werte grösser <n>
|
i..n
|
|
Der Bereich von und mit <i> bis und mit <n>
|
n
|
|
Genau <n>
|
|
|
|
Z.B.:
Switch=<1:1:2..5:>5
Range
|
Index
|
Beschreibung
|
<1
|
0
|
alles kleiner 1
|
1
|
1
|
1
|
2..5
|
2
|
2 bis und mit 5
|
> 5
|
3
|
alles grösser 5
|
|
|
|
|
Transparency=<color>
|
O
|
|
Die angegeben <color> in einer Bilddatei wird als transparent interpretiert.
Wird nur für Bildformate benötigt, die keine Transparenz unterstützen, z.B PCX
In EPAM4 sollte besser das PNG Bildformat anstelle dieser Option verwendet werden.
|
Timeout=<sec>
|
O
|
inaktiv
|
Nach eine Verzögerung von <sec> Sekunden wird Action alle <sec> Sekunden ausgeführt. Wobei timeout=0 als Ausnahme nur einmal, dafür sofort auslöst.
|
PWL=<level>
|
O
|
0
|
Notwendiger Passwortlevel zur Freigabe (Siehe #Password).
|
VarStateOnOffInverted
|
O
|
|
Invertiert die On / Off Funktion der VarState Variable:
VarState = 0 -> Off
VarState = 1 -> On
|
ActionOnVarValueUpdate
|
O
|
|
Action wird bei der Initialisierung und bei jeder Änderung von VarValue ausgeführt.
|
Init, Exit
Spalten U, V
|
M/O
|
Default
|
Beschreibung
|
<action>
|
O
|
|
Es stehen die selben Actions zur Verfügung wie unter dem Parameter Action beschrieben
|
Bildschirmtastatur
Die Aktion Key=<keycode> dient zur Erstellung von Bildschirmtastaturen. Hierbei wird bei Betätigung des maus- bzw. touchaktiven Feldes der entsprechende Tastencode generiert und somit die Tastatur simuliert.
Siehe auch Tastaturtabelle mit Tastenbezeichnungen
Beispiel: Key=a ...simuliert die Taste a
Mehrsprachige Applikationen
Die Aktion Language=<name> bzw. Language=Default ermöglicht eine online Sprachumschaltung für beliebige Sprachen. Weitere Sprachen werden dabei in entsprechenden Unterverzeichnissen abgelegt. <name> bezeichnet das jeweilige Unterverzeichnis.
Um eine Applikation mehrsprachig zu erstellen, definieren Sie mit „Add Language“ eine neue Sprache. Es wird nun ein Verzeichnis mit dem eingegebenen Namen angelegt und in allen sprachabhängigen Tabellen am Ende zwei neue Spalten für Text/File bzw. Font eingefügt.
Wichtig!
Die Bezeichnung in der ersten Zeile dieser Spalten entspricht dem Verzeichnisnamen und als Notiz ist „Language“ hinterlegt (Kennzeichnung der Sprachspalten!). Diese Bezeichnungen dürfen nicht entfernt werden!
Nun können Sie alle sprachabhängigen Definitionen in den entsprechenden Sprachspalten definieren (die sprachunabhängigen Definitionen können Sie leer lassen, diese werden dann automatisch von der Defaultsprache übernommen). Bei Bedarf können Sie auch andere Fonts definieren.
Alle sprachabhängigen Dateien (*.TXT, *.FNT, *.IMG) müssen im entsprechenden Unterverzeichnis abgelegt werden.
Wenn Sie nun das nächste mal Simulation aufrufen um den Interpreter zu starten, so werden automatisch alle Sprachdateien erstellt.
Unterschied zu EPAM3
• | touchaktive Felder z.B. auf einem Bild müssen in EPAM4 mit Backcolor transparent definiert werden. |
• | Folgende Aktionen werden derzeit nicht unterstützt: siehe auch Aktionen |
• | Option Scroll nicht mehr notwendig, siehe auch #Scrollist |
• | Option Key=<keycode> derzeit nicht unterstützt |
|