.. highlightlang:: us .. index:: DocCreate .. _doccreate: DocCreate ========= .. us.tag DocCreate GERMAN Changed400 Changed413 Changed5302 Changed5400 :ref:`DocCreate` erzeugt ein neues Dokument oder öffnet ein vorhandenes Dokument. Das Dokument kann bis zu 255 Seiten mit Diagrammen aufnehmen. Es wird in einem Fenster in UniPlot angezeigt. .. function:: hDoc = DocCreate() hDoc = DocCreate(ssFileName) hDoc = DocCreate(ssFileName, nFlags) hDoc = DocCreate(ssFileName, nFlags, ssPassword) .. us.return **Returnwert** *hDoc* ist die Zugriffsnummer des erzeugten Dokuments. Falls bei der Erzeugung des Dokuments ein Fehler auftritt, ist *hDoc* gleich 0. .. us.params **Parameter** .. uparam:: ssFileName *ssFileName* ist der vollständige Dateiname einer existierenden UniPlot-Datei (IPW- oder IPZ-Datei) oder ein leerer String (""). Falls die Funktion ohne Parameter aufgerufen wird oder ein leerer String übergeben wird, erzeugt die Funktion ein neues Dokument ohne Seiten. Es wird sichtbar, sobald dem Dokument eine Seite zugefügt wird. Es bleibt unsichtbar falls im Parameter *nFlags* der Wert ``DOC_HIDDEN`` angegeben wird. .. uparam:: nFlags *nFlags* legt fest, ob das Dokument sichtbar und/oder schreibgeschützt ist. .. list-table:: :header-rows: 1 * - Wert - Bedeutung * - DOC_HIDDEN (1) - Versteckt. * - DOC_READONLY (2) - Dokument wird schreibgeschützt geöffnet. * - DOC_NO_AUTOSAVE (128) - Kein automatisches Sichern der Datei. Wird bei IPW-Dateien ignoriert. * - DOC_NO_COPYONOPEN (256) - IPZ-Datei wird von einem Netzlaufwerk geöffnet ohne das vorher eine lokale Kopie erzeugt wird. Für lokal gespeicherte Dateien hat die Option keine Bedeutung. Die Option ist dann sinnvoll, wenn mit der Datei nicht interaktiv gearbeitet werden soll. Beispielsweise um eine Vorlage zu öffnen oder die Seitennamen eines Dokuments zu erfragen. .. uparam:: ssPassword Falls das Dokument password-geschüzt ist, muss ein Password angegeben werden. .. us.comment **Kommentar** Falls die Funktion ohne Parameter aufgerufen wird, wird ein neues Dokument erzeugt. Das Dokument wird erst sichtbar, wenn dem Dokument Seiten zugefügt werden (siehe :ref:`DocAddPage`). .. us.example **Beispiel** :: ssFile = GetRootDirectory() + "/template/template-de.ipz"; hDocTemplate = DocCreate(ssFile, DOC_HIDDEN | DOC_READONLY); if (hDocTemplate == 0) { MessageBoxError("Cannot open template %s", ssFile); return FALSE; } hDocNew = DocCreate(); DocCopyPage(hDocTemplate, 3, hDocNew); DocDestroy(hDocTemplate); **Beispiel 2** Erzeugt von einer Vorlage ein neues Dokument, das noch keinen Dateinamen enthält:: def DocCreateNew(ssTemplate) { hDocTemplate = DocCreate(ssTemplate, DOC_HIDDEN | DOC_READONLY); if (hDocTemplate == 0) { log_error("", "DocCreateNew", "Cannot open template %s", ssTemplate); return 0; } hDoc = DocCreate(); nPages = DocGetPageCount(hDocTemplate); for (i in 1:nPages) { hPageT = DocGetPageHandle(hDocTemplate, i); hPage = DocCopyPage(hDocTemplate, i, hDoc); PageSetTitle(hPage, PageGetTitle(hPageT)); } DocDestroy(hDocTemplate); DocSelectPage(hDoc, 1, FALSE) return hDoc; } // Beispielaufruf hDoc = DocCreateNew("d:/test.ipw") .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2017.2 - Neues Flag ``DOC_NO_COPYONOPEN`` für IPZ-Dokumente. * - R2012 (5.40) - Neues Flag ``DOC_NO_AUTOSAVE`` für IPZ-Dokumente. * - 5.30.2 - Flags ``DOC_SEC_512`` und ``DOC_SEC_4096`` entfernt. Neue IPW-Dateien werden immer mit 4096 Bytes/Sektor erzeugt. .. seealso:: :ref:`uberblick-dokumente`, :ref:`DocDestroy`, :ref:`DocShow`, :ref:`GetRootDirectory`, :ref:`DocCopyPage`, :ref:`DocAddPage`, :ref:`DocSetProtectionFlags`, :ref:`DocSave`, :ref:`DocGetPageCount`, :ref:`DocIsVisible`, :ref:`DocIsReadOnly`, :ref:`programm-grenzen` :sub:`id-107438`