Vorheriges Thema

DocCopyPage

Nächstes Thema

DocDestroy

Diese Seite

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.
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/tpl_ger.ipw";
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
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 Dateien werden immer mit 4096 Bytes/Sektor erzeugt.

id-107438