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 |
5.6.0 |
Neu. |
Siehe auch
id-2043439