TCL Command ABMFUNCTION

Syntax

array set func [ABMFUNCTION funcid GET]

array set curve [ABMFUNCTION funcid GET CURVE]

Beschreibung

Abfrage der Funktionsdaten

Abfrage der Liste der Kurveneinträge von Tabellen

Argument

Dimension

Bedeutung

funcid

OBJID

Objekt-ID der Funktion

GET

KEYWORD

Daten abfragen

CURVE

KEYWORD

Liste der Tabelleneinträge abfragen

Rückgabefeld für [ABMFUNCTION ... GET]

Feldargument

Dimension

Bedeutung

error

INT

Fehlerstatus

info

TEXT

Objekt- oder Fehlerinformation

id

OBJID

Objekt-ID

name

TEXT

Name der Funktion

type

ENUM

Funktionstyp (“TABLE”, “VAR”)

constx

INT

Abszisse: 0 – nicht konstant, 1 - konstant

consty

INT

Ordinate: 0 – nicht konstant, 1 - konstant

expr

TEXT

Mathematischer Ausdruck einer Formel (Typ "VAR")

Rückgabefeld für [ABMFUNCTION ... GET CURVE]

Feldargument

Dimension

Bedeutung

error

INT

Fehlerstatus

info

TEXT

Fehlerinformation

first

OBJID

Objekt-ID des ersten Listeneintrages

last

OBJID

Objekt-ID des letzten Listeneintrages

count

INT

Anzahl der Listeneinträge

Scopes

All

Beispiele

array set calc [ABMCALC GET LIST]

if { $calc(count) > 0 } {

set ID $calc(first)

for { set ifunc 0 } { $ifunc < $calc(count) } { incr ifunc } {

if { $ifunc > 0 } { set ID [OBJNEXT $ID] }

array unset func

array set func [ABMFUNCTION $ID GET]

ABMINFO " "

ABMINFO " Function " $func(name) ":"

ABMINFO " -------------------------"

foreach {key value} [array get func] {

if { $key == "id" } continue

ABMINFO " " $key " = " $value

}

}

}

Die Liste der Tabellen und Formeln wird abgefragt. Wenn die Anzahl der Funktionen größer Null ist, dann wird die Liste in einer for-Schleife durchlaufen. Die mitlaufende ID wird ab dem 2. Durchlauf inkrementiert. Die Daten jeder Funktion werden geloggt.

array set curve [ABMFUNCTION $ID GET CURVE]

if { $curve(count) > 0 } {

set format1 " %-12s %30s %30s"

puts $outfile ""

puts $outfile " Table elements"

puts $outfile " --------------"

puts $outfile ""

puts $outfile " Type X Y"

puts $outfile " --------------------------------------------------------------------------"

set elemID $curve(first)

for { set ielem 0 } { $ielem < $curve(count) } { incr ielem } {

if { $ielem > 0 } { set elemID [OBJNEXT $elemID] }

array unset elem

array set elem [ABMTABITEM $elemID GET]

puts $outfile [format $format1 $elem(type) $elem(cx) $elem(cy)]

}

}

Es wird angenommen, dass eine Textdatei outfile zum Schreiben geöffnet wurde. Die Tabellen-ID wurde bereits vorab gesetzt. Die Tabellendaten werden formatiert in die Textdatei geschrieben.