Das Wissen aller Anwender nutzen

Im Allplan Connect Forum tauschen sich Anwender aus, geben wertvolle Tipps oder beraten sich bei ganz konkreten Aufgabenstellungen − auch international.
Und damit wirklich keine Frage unbeantwortet bleibt, unterstützen die Mitarbeiter des Technischen Supports ebenfalls aktiv das Forum.

Es erwarten Sie:

  • Foren-Vielfalt aus CAD Architektur, CAD Ingenieurbau uvm.
  • Tipps von User für User
  • international: Deutsch, Englisch, Italienisch, Französisch und Tschechisch

Melden Sie sich jetzt an und diskutieren Sie mit!

Zur Registrierung

[Frage] OPEN MODE=WA

Schlagworte:
  • SmarPart
  • OPEN
  • WriteAfter

Hallo!

Ich möchte die Werte mehrerer Smartparts auf einer csv.-Datei speichern.
Wenn ein Button mit der ID 1000 gedrückt wird, soll sich ein Dialog öffnen und eine Datei gewählt bzw. erstellt werden.

Das Problem entsteht beim Erstellen der Datei bzw. beim MODE im Befehl OPEN. Wenn ich den MODE auf WA stelle (also WriteAfter) dann muss eine Datei bereits bestehen - ist dies nicht der Fall, bekomme ich eine Fehlermeldung. Ich müsste also die Tabelle händisch erstellen, um diese nachher erfolgreich zu befüllen. Wenn ich den MODE auf WO stelle (also WriteOnly) dann wird die Datei jedes mal neu erstellt - auch nicht gerade eine saubere Lösung..

Die Frage ist also: Gibt es eine Möglichkeit eine Datei über den Smartpart zu erstellen (MODE=WO) und falls diese bereits existiert zu erweitern (MODE=WA)?

---

IF GLOB_UI_BUTTON_ID = 1000 THEN

fnam = "file.csv"
ch = OPEN ( "TEXT" , fnam , "SEPARATOR=';',MODE=WA ,fullpath, dialog" )

.
.
.

CLOSE ch

ENDIF

---

Anhänge (1)

Typ: image/png
6-mal heruntergeladen
Größe: 5,39 KiB

IF FILE_EXIST(fnam) THEN
ch = OPEN ( "TEXT" , fnam , "SEPARATOR='\t',MODE=WA, fullpath" )
ELSE
ch = OPEN ( "TEXT" , fnam , "SEPARATOR='\t',MODE=WO, fullpath" )
ENDIF

Den Befehl FILE_EXISTS kenn ich schon.

Das Problem ist, dass ich den Namen der Datei ja nicht weiß - darum brauch ich ja den Dialog bei OPEN. Der Dateiname und Pfad soll frei wählbar sein und wird erst beim Exportieren (also wenn das Button-Event eintritt) definiert.