DocCreate

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.

hDoc = DocCreate()
hDoc = DocCreate(ssFileName)
hDoc = DocCreate(ssFileName, nFlags)
hDoc = DocCreate(ssFileName, nFlags, ssPassword)

Returnwert

hDoc ist die Zugriffsnummer des erzeugten Dokuments.

Falls bei der Erzeugung des Dokuments ein Fehler auftritt, ist hDoc gleich 0.

Parameter

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.

nFlags

nFlags legt fest, ob das Dokument sichtbar und/oder schreibgeschützt ist.

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.
ssPassword

Falls das Dokument password-geschüzt ist, muss ein Password angegeben werden.

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 DocAddPage).

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")

History

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.

id-107438