Name
OPEN

Syntax
kanal = OPEN ("TEXT", Dateiname, ParameterString)

Aufklappen Wertebereiche
kanal: Ergebnis ist positiver Integerwert; (einzusetzen ist eine Variable wie ch)
"TEXT": String, interner Name des Add-Ons, hier "TEXT"
Dateiname: Name der zu öffnenden Datei, z.B. "dummy.txt"
ParameterString: Add-On-spezifischer Parameter, enthält Trennzeichen und Parameter zum Öffnen der Datei

Aufklappen Erläuterung
Mit diesem Befehl wird die externe Textdatei mit beliebiger Endung geöffnet. Existiert der Dateiname nicht, wird die Datei im Falle von zu schreibenden oder zu modifizierenden Daten neu erstellt, im Falle von zu lesenden Daten erfolgt eine Fehlermeldung.

Der String "TEXT" ist obligatorisch ebenso wie der Dateiname der zu öffnenden Datei inkl. Endung.
Der ParameterString kann aus mehreren z.T. optionalen Einzelkomponenten bestehen.
Die Syntax für den ParameterString könnte man wie folgt definieren:

"MODE=Öffnungsart [SEPARATOR='sep'[, ÖFFNUNGSHILFE]"

Folgende Werte können hierbei angenommen werden:
Öffnungsart:
- RO (read only) nur lesen
- WA (write after) öffnet die Textdatei, falls vorhanden und hängt am Ende des Textes der Datenbank etwas an
- WO (write only) öffnet die Textdatei, falls vorhanden, und überschreibt alles
Eine Datei kann nicht gleichzeitig zum Lesen und Schreiben geöffnet werden.

SEPARATOR: sep gibt den Separator in einfachen Anführungszeichen an z.B. ',' oder '.' oder '-' oder ein Tabulator '\t', welches der Standardwert ist (in diesem Fall kann der Ausdruck SEPARATOR='\t' weggelassen werden)

ÖFFNUNGSHILFE:
- wenn dieser Wert leergelassen und der Dateiname ohne Pfad ist, sucht das Addon die Datei im "ArchiCAD Datenordner", einem Unterverzeichnis der ArchiCAD-Installation. Ist dieses Verzeichnis nicht vorhanden, wird es im Falle von zu schreibenden Daten erzeugt.
- DIALOG: Ist die Öffnungsmethode RO (read only), startet das Add-On einen Dialog um das Dokument auszuwählen. Andernfalls startet das Add-On einen Warndialog mit den Optionen 'Erstellen' und 'Suchen'. Suchen: sucht eine vorhandene Datei (Öffnungsdialog). Erstellen: erstellt eine neue Datei (Dialog speichern als).
- LIBRARY: wird der Ausdruck LIBRARY als Öffnungshilfe verwendet, muss sich die Datei in der geladenen Bibliothek befinden.
- FULLPATH: bei diesem Ausdruck ist nicht nur der Dateiname, sondern der komplette Dateipfad anzugeben (man achte auf die unterschiedlichen Pfadangaben bei Windows und Mac).

Bei nicht existierenden Zeichenfolgen, falschen Trennzeichen oder leerem Parameterstring wird intern folgende Standardsyntax benutzt:
SEPARATOR = '\t', MODE = RO
Bei WO und WA wird ohne Pfadangabe eine nicht vorhandene Datei immer im ArchiCAD Datenordner erzeugt.

Zwischen MODE, SEPARATOR und ÖFFNUNGSHILFE ist immer ein Komma zu setzen.
Vor MODE und vor der schließenden Klammer ist jeweils ein doppeltes Anführungszeichen zu setzen.

Aufklappen Beispiel
ch = OPEN("TEXT", "dummy.txt", "MODE=RO, SEPARATOR=':'")
In diesem Fall muss sich die Datei direkt im Archicad Datenordner befinden, was diese Option für die meisten User unbrauchbar macht (Unter Windows kann als normaler Benutzer, sofern Archicad an der Standardstelle unter "C:" installiert wurde, nichts in den Archicadordner geschrieben werden).

ch = OPEN("TEXT", "dummy.txt", "MODE=RO, SEPARATOR=':', DIALOG")
In diesem Fall kann die Datei überall liegen, man wird per Dialogfeld (Explorer/Finder) dazu aufgefordert, den Datenpfad anzugeben.

ch = OPEN("TEXT", "dummy.txt", "MODE=RO, SEPARATOR=':', LIBRARY")
In diesem Fall sollte sich die Datei in der zu ladenden Bibliothek befinden (funktionierte nicht in Archicad 7.0).

ch = OPEN("TEXT", "D:\GDL\EinPfad\dummy.txt", "MODE=RO, SEPARATOR=':', FULLPATH")
In diesem Fall ist der komplette Pfad (kann auch in einer Variablen abgelegt werden) der Datei angegeben; sie braucht sich deshalb nicht in der geladenen Bibliothek zu befinden oder per Dialogfeld gesucht zu werden.
Diese Variante funktioniert auch bei Weglassen des Ausdruckes FULLPATH.

Aufklappen Besonderheiten
Beim Lesen der Datei werden die eingelesenen Daten automatisch von Archicad gecastet. Das bedeutet, dass z.B. "1.2" als Zahl eingelesen wird, auch wenn das eventuell gar nicht gewollt ist.
Leider lässt sich ein bestimmter Typ nicht erzwingen. Ein initialisieren mit Dummy-Werten hilft hier nicht.

Während "Script prüfen" im GDL-Editor wird keine Datei geöffnet. Ein print nr liefert dementsprechend immer ein -1.
Ist das Objekt platziert, wird die referenzierte Datei tatsächlich geöffnet und gelesen.

Aufklappen ArchiCAD
ab 5.0