updf_propval_new¶
updf_propval_new erzeugt einen Property-Wert.
-
propval = updf_propval_new(data)
-
propval = updf_propval_new(data, data_type)
Returnwert
propval ist ein propval-Zeiger oder eine Zahl mit dem Wert 0 beim Auftreten eines Fehlers.
Parameter
-
data
data ist ein Skalar, Vektor oder Matrix (Zahl oder String).
-
data_type
data_type ist einer der folgenden Werte:
Wert | Bedeutung |
---|---|
UPDF_INT8 | 8-Bit Integer mit Vorzeichen (-127..128). |
UPDF_UINT8 | 8-Bit Integer ohne Vorzeichen (0..255). |
UPDF_INT16 | 16-Bit Integer. |
UPDF_UINT16 | 16-Bit Integer (vorzeichenlos). |
UPDF_INT32 | 32-Bit Integer. |
UPDF_UINT32 | 32-Bit Integer (vorzeichenlos). |
UPDF_INT64 | 64-Bit Integer. |
UPDF_UINT64 | 64-Bit Integer (vorzeichenlos). |
UPDF_FLOAT | 32-Bit Real-Zahl. |
UPDF_DOUBLE | 64-Bit Real-Zahl. |
UPDF_STRING | Unicode-String. Wird als UTF-8 gespeichert. |
UPDF_BLOB | Beliebige Folge von Bytes. data muss ein String sein. |
Kommentar
Bei den Typen UPDF_INT8
bis UPDF_DOUBLE
muss data eine Zahl, ein
Zahlenvektor oder eine Zahlenmatrix sein.
Bei dem Typ UPDF_STRING
sollte data einen echten Unicode-String enthalten,
weil intern eine UTF-16 nach UTF-8 Umwandlung durchgeführt wird.
Bei dem Typ UPDF_BLOB
muss data ein String-Wert sein, der aber keine
gültigen Unicode-Zeichen enthalten muss. Er kann auch Null-Zeichen enthalten. Mit
der Funktion mem_set kann ein solcher String auch aus anderen Datentypen
erzeugt werden.
Beispiel
def test_updf_propval_new()
{
pv = updf_propval_new(1.23);
r = updf_propval_get(pv);
if (r != 1.23) {
error();
}
pv = updf_propval_new(123, UPDF_INT8);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new(123, UPDF_UINT8);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new(123, UPDF_INT16);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new(123, UPDF_UINT16);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new(123, UPDF_INT32);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new(123, UPDF_UINT32);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new(123, UPDF_INT64);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new(123, UPDF_UINT64);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new(123, UPDF_FLOAT);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new(123, UPDF_DOUBLE);
r = updf_propval_get(pv);
if (r != 123) {
error();
}
pv = updf_propval_new("123", UPDF_STRING);
r = updf_propval_get(pv);
if (r != "123") {
error();
}
pv = updf_propval_new("123", UPDF_BLOB);
r = updf_propval_get(pv);
if (r != "123") {
error();
}
}
test_updf_propval_new();
History
Version | Beschreibung |
---|---|
5.6.0 | Neu |
Siehe auch
Überblick UPDF-Dateien, updf_propval_get_info, updf_propval_get, mem_set
id-1298911