Name
OUTPUT
Syntax
OUTPUT kanal, datensatzID, feldID, ausdruck1 [, ausdruck2, ...]
kanal: Ergebnis ist positiver Integerwert; (einzusetzen ist eine Variable wie ch1)
datensatzID: numerisch oder String
feldID: Integer: 1 oder 0
Ausdruck1,...: String
datensatzID: numerisch oder String
feldID: Integer: 1 oder 0
Ausdruck1,...: String
Dieser Befehl schreibt die Daten in die externen Datenbank-Textdatei.
Im Gegensatz zum Text-Addon wird ein bestimmter Wert gesucht und angepasst. Ist dieser Wert nicht vorhanden, wird er neu hinzugefügt.
Als kanal muss derselbe benannt sein, der mit OPEN geöffnet wird.
Der Befehlswert (datensatzID:) ist der in der jeweils ganz linken Spalte der Datenbank abgespeicherte Wert und bildet quasi eine Art Zeilenüberschrift bzw. das waagerechte Steuerelement.
Die feldID gibt an, ob eine Eintragung erstellt oder geändert werden soll (Wert ist 1) oder ob eine vorhandene Zeile gelöscht werden soll (Wert ist 0). Im Gegensatz zum INPUT-Befehl ist die feldID nicht geeignet, eine einzelne Zelle zu überschreiben; es muss zum Ändern einer Datendatei immer ein komplette Zeile geändert werden.
Soll eine vorhandene Zeile beispielsweise überschrieben werden, so wird mit Hilfe der datensatzID diese Zeile angesteuert und bei einer feldID=1 mit einem neuen Wert (ausdruck) überschrieben. Bei feldID=0 erfolgt allerdings keine komplette Löschung der Zeile, sondern ein Löschungshinweis (z.B. Material:y Deleted entry).
Die Reihenfolge der Eintragung in der Datenausgabedatei wird alphabetisch nach dem Namen der Befehlwerte von oben nach unten (aber Zahlen vor Buchstaben A-Z) vorgenommen.
Die ausdrücke1,... bilden den eigentlichen Dateninhalt der zu schreibenden Datei. Es können beliebig viele Ausdrücke als Text oder Zahl in einer Zeile hintereinander ausgegeben werden.
Im Gegensatz zum Text-Addon wird ein bestimmter Wert gesucht und angepasst. Ist dieser Wert nicht vorhanden, wird er neu hinzugefügt.
Als kanal muss derselbe benannt sein, der mit OPEN geöffnet wird.
Der Befehlswert (datensatzID:) ist der in der jeweils ganz linken Spalte der Datenbank abgespeicherte Wert und bildet quasi eine Art Zeilenüberschrift bzw. das waagerechte Steuerelement.
Die feldID gibt an, ob eine Eintragung erstellt oder geändert werden soll (Wert ist 1) oder ob eine vorhandene Zeile gelöscht werden soll (Wert ist 0). Im Gegensatz zum INPUT-Befehl ist die feldID nicht geeignet, eine einzelne Zelle zu überschreiben; es muss zum Ändern einer Datendatei immer ein komplette Zeile geändert werden.
Soll eine vorhandene Zeile beispielsweise überschrieben werden, so wird mit Hilfe der datensatzID diese Zeile angesteuert und bei einer feldID=1 mit einem neuen Wert (ausdruck) überschrieben. Bei feldID=0 erfolgt allerdings keine komplette Löschung der Zeile, sondern ein Löschungshinweis (z.B. Material:y Deleted entry).
Die Reihenfolge der Eintragung in der Datenausgabedatei wird alphabetisch nach dem Namen der Befehlwerte von oben nach unten (aber Zahlen vor Buchstaben A-Z) vorgenommen.
Die ausdrücke1,... bilden den eigentlichen Dateninhalt der zu schreibenden Datei. Es können beliebig viele Ausdrücke als Text oder Zahl in einer Zeile hintereinander ausgegeben werden.
titel="Material" : txt1="Holz" : txt2="Glas" : txt3="Eisen"
ch2=OPEN("DATA","data_ausgabetest.txt", "MODE=WA,SEPARATOR=':'")
OUTPUT ch2,titel,1,txt1,txt2,txt3
CLOSE ch2
Hiermit wird eine Datendatei mit folgendem Inhalt erzeugt:
Material:Eisen:Holz:Glas
Sind in dieser Datei schon Daten vorhanden, werden Sie alphabetisch entsprechend des "titel" eingeordnet.
Ist MODE=WO und sind schon Daten vorhanden, werden die alten Daten gelöscht und es bleibt nur die eine Zeile stehen.
Bei MODE=RO erfolgt eine "Schreibe-Erlaubnis-Fehlermeldung", da mit "Read only" kein OUTPUT erzeugt werden kann.
ch2=OPEN("DATA","data_ausgabetest.txt", "MODE=WA,SEPARATOR=':'")
OUTPUT ch2,titel,1,txt1,txt2,txt3
CLOSE ch2
Hiermit wird eine Datendatei mit folgendem Inhalt erzeugt:
Material:Eisen:Holz:Glas
Sind in dieser Datei schon Daten vorhanden, werden Sie alphabetisch entsprechend des "titel" eingeordnet.
Ist MODE=WO und sind schon Daten vorhanden, werden die alten Daten gelöscht und es bleibt nur die eine Zeile stehen.
Bei MODE=RO erfolgt eine "Schreibe-Erlaubnis-Fehlermeldung", da mit "Read only" kein OUTPUT erzeugt werden kann.
Durch einen Bug in ArchiCAD® 8.0 und 8.1 funktioniert der OUTPUT-Befehl beim DATA-Addon nicht. Es wird zwar eine Textdatei erzeugt, deren Inhalt bleibt jedoch im Gegensatz zu ArchiCAD® 7 und ArchiCAD® 9 leer.
ab 6.0 außer 8.1