TCL Command ABRDESIGN, Ergebnisverwaltung

Syntax

array set rescol [ABRDESIGN colname GET]

set iexist [ABRDESIGN colname EXIST]

array set ret [ABRDESIGN colname INS longname coltype ucode usymb descr]

array set ret [ABRDESIGN colname DEL]

Beschreibung

Abfrage der Daten zu einem bestimmten Ergebnis

Prüfung der Existenz eines bestimmten Ergebnisses

Einfügen eines neuen Ergebnisses

Löschen eines vorhandenen Ergebnisses

Argument

Dimension

Bedeutung

colname

TEXT

Spaltenname; Der Name sollte kurz sein und muss den SQL-Regeln für Spaltennamen entsprechen.

GET

KEYWORD

Daten abfragen

EXIST

KEYWORD

Prüfung auf Existenz

INS

KEYWORD

Einfügen eines neuen Ergebnisses

DEL

KEYWORD

Löschen eines vorhandenen Ergebnisses

longname

TEXT

Ausführlicher Name des Ergebnisses (arg2 = INS)

coltype

ENUM

SQL-Datentyp (“?”, “INT”, “REAL”, “TEXT”, “BLOB”), (arg2 = INS)

ucode

ENUM

Einheitencode (s. Kommando PROJECT/UNIT); Zusätzlich gibt es die Dimensionen "1/TEMP", "FORCE/L", "FORCE/L/L", "AREINF/L", "LSTRUCT**3". (arg2 = INS)

usymb

TEXT

Einheitensymbol; Nur anzugeben bei ucode = "NONE". In diesem Fall kann das Symbol selbst gewählt werden. (arg2 = INS)

descr

TEXT

Beschreibender Text (arg2 = INS)

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

Feldargument

Dimension

Bedeutung

colname

TEXT

Spaltenname

longname

TEXT

Ausführlicher Name des Ergebnisses

coltype

ENUM

SQL-Datentyp (“?”, “INT”, “REAL”, “TEXT”, “BLOB”)

ucode

ENUM

Einheitencode (s. Kommando PROJECT/UNIT); Zusätzlich gibt es die Dimensionen "1/TEMP", "FORCE/L", "FORCE/L/L", "AREINF/L", "LSTRUCT**3".

usymb

TEXT

Einheitensymbol

column

INT

Spaltennummer des Ergbnisses

validx

INT

0-basierter Index des Ergebnisses im Rückgabefeld der Werte (vgl. ABRDESIGNROW ... GETPACKED)

info

TEXT

Beschreibender Text oder Fehlerinformation

error

INT

Fehlerstatus

Rückgabe für [ABRDESIGN ... EXIST]

Return

Dimension

Bedeutung

iexist

INT

0 - Ergebnis nicht vorhanden, 1 - Ergebnis existiert

Rückgabefeld für [ABRDESIGN ... INS ... ]

Feldargument

Dimension

Bedeutung

error

INT

Fehlerstatus

info

TEXT

Fehlerinformation

Rückgabefeld für [ABRDESIGN ... DEL]

Feldargument

Dimension

Bedeutung

error

INT

Fehlerstatus

info

TEXT

Fehlerinformation

Scopes

All

Beispiele

set format1 " %-24s %-24s %-4s %-12s %-12s"

# get content of all columns 0,1,...,count-1

set rescols [ABRDESIGN GET RESULTS]

set count [llength $rescols]

puts $outfile ""

puts $outfile " Column Name Long Name Type Unit Symbol"

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

foreach colname $rescols {

array unset column

array set column [ABRDESIGN $colname GET]

puts $outfile [format $format1 $colname $column(longname) $column(coltype) $column(ucode) $column(usymb)]

}

Es wird angenommen, dass eine Textdatei outfile zum Schreiben geöffnet wurde. Die Ergebnisdaten werden formatiert in die Textdatei geschrieben.

Die Ausgaben sind projektabhängig und können zum Beispiel wie folgt aussehen:

Column Name Long Name Type Unit Symbol

--------------------------------------------------------------------------

A1 ASuser REAL AREINF [cm²]

A3 ASmax REAL AREINF [cm²]

A4 Aswuser REAL AREINF/L [cm²/m]

A6 Aswmax REAL AREINF/L [cm²/m]

Va Va REAL LSTRUCT**3 [m³]

BLY Len-Y REAL LSTRUCT [m]

BLZ Len-Z REAL LSTRUCT [m]

XResult My pressure REAL FORCE/L/L [kN/m²]

Ausgaben zu obiger Script.

set myresult "XResult"

if { [ABRDESIGN $myresult EXIST] == 0 } {

array set retval [ABRDESIGN $myresult INS "My pressure" REAL FORCE/L/L "" "Added by my own."]

if { $retval(error) != 0 } {

ABMERROR "Error: Insertion fails on $myresult."

}

}

Es wird das Ergebnis "XResult" eingefügt, falls es noch nicht existiert. Im Fehlerfall wird eine Meldung geschrieben.

set myresult "XResult"

array set retval [ABRDESIGN $myresult DEL]

if { $retval(error) != 0 } { ABMERROR "Error: Deletion fails on $myresult." }

Es wird das Ergebnis "XResult" gelöscht. Im Fehlerfall wird eine Meldung geschrieben.

array set column [ABRDESIGN "A3" GET]

set idxA3 $column(validx)

array set row [ABRDESIGNROW $rowID GETPACKED]

# get current values

set A3 [lindex $row(values) $idxA3]

Es wird das Ergebnis "A3" abgefragt. Nachdem der Index ermittelt wurde und die Ergebinszeile $rowID vorliegt, wird der Wert für "A3" der Variable A3 zugewiesen.