35 record
Mit Hilfe des records können beliebige Strukturen in der Regelsprache gebildet werden.
Diese records können direkt als Kinder des Dialoges (global verfügbar) oder als Kinder von beliebigen anderen Objekten definiert werden.
record-Objekte können auch bei Modellen definiert und an Instanzen mit vererbt werden. records selber können auch als Modell definiert und instanziiert werden.
Ein record kann also sowohl benutzerdefinierte Attribute als auch Unterrecords beinhalten.
Definition
{ export | reexport } { model } record <Bezeichner> { <Hierarchieattribute> <Objektspezifische Attribute> [ <Definition von benutzerdefiniertem Attribut> ; ] [ { export | reexport } record <Bezeichner> <record-Definition> ] }
Ereignisse
keine
Kinder
Vater
alle Objektarten
Menü
keins
35.1 Attribute
35.2 Spezifische Attribute
Attribut | Beschreibung |
---|---|
Definiert, ob ein Record konfigurierbar sein soll, d.h. in der mit DM_LoadProfile geladenen Konfigurationsdatei gesetzt werden darf. |
|
Gibt die Definitionsreihenfolge für Attribute und Records innerhalb von Records an. |
|
I-tes benutzerdefiniertes Attribut des Objekts. |
|
Gesamtzahl der benutzerdefinierten Attribute des Objekts. |
35.3 Beispiel
record Person
{
string Name;
string Vorname;
string Wohnort;
}
function c void PutPerson (integer, record Person input);
function c void GetPerson (integer, record Person output);
Hiermit definieren Sie eine Struktur mit drei Elementen und zwei Funktionen, die diesen Record als Parameter erhalten.
Record mit Kindrecord
record Daten
{
string Name;
integer Zustand;
record Anfangswerte
{
integer Position;
integer Alphawert;
}
record Endergebnis
{
boolean OK;
integer BetaWert;
integer GammaWert;
}
}
Abfrage der Definitionsreihenfolge in einem Record
record R
{
string Name;
record Kind1
{
integer Nummer;
boolean An;
}
boolean Aus;
}
print R.itemorder; // => "ARA"
35.4 Einbindung in Anwendung
Um Funktionen für Dialoge mit Records mit einer Anwendung versehen zu können, müssen vom DM generierte C-Module übersetzt und dazugebunden werden. Die Generierung dieser Module erfolgt durch Aufruf der Simulation mit der Option +writetrampolin:
idm +writetrampolin <outfile> <dialogskript>
Dieses Statement generiert aus einem Dialogskript die notwendigen Module zum Aufruf von Funktionen. Je nach Art der Funktionen, die solche Records verwenden, werden die entsprechenden Header-Dateien (C und/oder COBOL) erzeugt.
Werden solche Strukturen im Dialog Manager-Objekt application verwendet, wird also der verteilte Dialog Manager eingesetzt, muss noch zusätzlich die Anwendung angegeben werden, für die die Dateien generiert werden sollen.
idm +writetrampolin <contfile>
+application <ApplicationName>
<dialogskript>