updf_dump¶
updf_dump kopiert die Streams, Storages und Properties der Streams und Storages einer UPDF-Datei in ein Directory.
-
bool = updf_dump(stg, ssDir)
-
bool = updf_dump(stg, ssDir, mode)
Returnwert
bool ist TRUE (1) wenn die Funktion erfolgreich war und sonst FALSE (0).
Parameter
-
stg
stg ist ein Storage-Objekt (siehe updf_create_file, updf_open_file, updf_create_storage).
-
ssDir
ssDir ist der Name des Verzeichnisses.
-
mode
Ist einer der folgenden Werte:
Wert Bedeutung 0 oder UPDF_FAIL_IF_EXIST Dies ist der Default-Wert, wenn mode nicht angegeben wird. Falls eine Datei oder ein Directory mit dem Namen ssDir existiert schlägt die Funktion fehl. UPDF_REMOVE_DIRECTORY Das Verzeichniss bzw. die Datei wird zuvor gelöscht. UPDF_OVERWRITE Verzeichnisse bzw. Dateien werden überschrieben. UPDF_PROPSONLY Speichert nur die Properties des Storages stg.
Kommentar
Die Properties der Elemente werden in xml-Dateien mit der Dateinamenserweiterung
._props_
ausgegeben. Existiert z. B. der Stream „Test Stream“ wird die Datei „Test Stream._props_“ erzeugt.<?xml version="1.0" encoding="utf-8" ?> <props version="1.0"> <p n="Units" t="s"> <v>1/s</v> </p> <p n="add_offset" t="f"> <v>17.2</v> </p> </props>Die _props_-Dateien enthalten drei XML-Elemente <props/>, <p/> und <v/>. <p/> hat vier Attribute n (Name), t (Typ), nr (Anzahl an Zeilen), nc (Anzahl an Spalten). Folgende Typen sind vorhanden:
Wert Bedeutung d double f float i8 int8. 8-Bit Integer mit Vorzeichen. ui8 uint8 i16 int16 ui16 uint16 i32 int32 ui32 uint32 i64 int64 ui64 uint64 s utf-8-String. b blob (binary large object) base64 kodiert. Hinter den Bezeichnungen in der Tabelle kann noch ein „v“ für Vektor oder „m“ für Matrix stehen. Beispiele: „ui64“ (unsigned int 64 Bits) „ui64v“ (Vektor von „ui64“) „ui64m“ (Matrix von „ui64“). Bei Vektoren muss das Attribut nr vorhanden sein. Bei Matrizen muss nr und nc vorhanden sein.
Beispiel
def test_updf_dump()
{
ssPath = GetTempPath();
ssFile = ssPath + "test-dump.updf";
stg = updf_create_file(ssFile);
props = updf_prop_open(stg);
updf_prop_set_at(props, "double", updf_propval_new(1.23));
updf_prop_set_at(props, "blob", updf_propval_new("a\0x0b", UPDF_BLOB));
updf_prop_close(props);
updf_dump(stg, ssFile + "-dir", UPDF_OVERWRITE);
updf_close_storage(stg);
stg = updf_create_file(ssPath + "test1.updf");
updf_gen(stg, ssFile + "-dir");
props = updf_prop_open(stg);
pv = updf_prop_get_at(props, "double");
if (type(pv) == "error") {
error();
}
val = updf_propval_get(pv);
if (val != 1.23) {
error();
}
pv = updf_prop_get_at(props, "blob");
if (type(pv) == "error") {
error();
}
val = updf_propval_get(pv);
if (val != "a\0x0b") {
error();
}
updf_prop_close(props);
updf_close_storage(stg);
}
test_updf_dump();
History
Version | Beschreibung |
---|---|
R2012.1 (5.40.1) | Neues Flag UPDF_PROPSONLY . |
5.6.0 | Neu. |
Siehe auch
id-2043439