ObjGetUserData

ObjGetUserData liefert das Datenobjekt zurück, dass mit ObjSetUserData dem Objekt zugewiesen wurde.

obj = ObjGetUserData(handle)
obj = ObjGetUserData(handle, ssObjectName)

Returnwert

obj ist ein Objekt, dass mit obj_create erzeugt wurde. Falls das Objekt kein Datenobjekt enthält, liefert die Funktion den Wert 0 zurück.

Parameter

handle

handle ist die Zugriffsnummer eines Objekts.

ssObjectName

ssObjectName ist ein Name, unter dem das Datenobjekt im UniPlot-Objekt gespeichert wurde. Falls das Element nicht existiert, liefert die Funktion den Wert 0. Falls der Parameter nicht angegeben wird, liefert die Funktion das Objekt mit allen enthaltenen Datenobjekten zurück.

Kommentar

Mit Hilfe der Funktion ObjSetUserData(hObj, ssObjName, obj) kann ein Datenobjekt in einem Zeichenobjekt, einem Datensatz oder einem anderen Objekt gespeichert werden.

Damit die Daten in der IPW-Datei gespeichert werden, muss nach jeder Änderung des Datenobjekts die Funktion ObjSaveUserData(hObj) aufgerufen werden.

Beispiel

Beispiel für die Verwendung des Datenobjektes:

// Die folgende Funktion wird von UniPlot aufgerufen, wenn sich der
// Cursor über einem Datenpunkt einer 2D-Kurve befindet und das
// Datenobjekt ein Element mit dem Namen datatooltip enthält.
// Die Funktion hat zwei Parameter: hData ist der Handle des Datensatzes
// und iPoint der Index des Datenpunktes, für den ein Text angezeigt werden
// soll.
def MyTooltip_callback(hData, iPoint)
{
    otip = ObjGetUserData(hData, "datatooltip");
    if (otip != 0) {
        if (otip.has_key(iPoint)) {
            return otip[iPoint];
        }
    }
    return "";
}

// Erzeuge Datensatz:
h = plot([1:10], rand(1,10));
hData = h[3];

// Erzeuge Objekt und speichere für eine Punktauswahl Informationen:
o = [.];
o[1] = "Info: Punkt 1";
o[2] = "Info: Punkt 2";
o[3] = "Info: Punkt 3";
o[10] = ["Title", "Info: Punkt 10"];
// Füge das Objekt o unter dem Namen datatooltip in das Datenobjekt ein.
// Zusätzlich kann eine Callback-Funktion angegeben werden. Zur Zeit wird
// die Callback-Funktion nur für das Objekt datatooltip aufgerufen.
ObjSetUserData(hData, "datatooltip", o, "MyTooltip_callback");
// Speichere das Objekt in der IPW-Datei.
ObjSaveUserData(hData);

History

Version Beschreibung
5.12.0 Neu

id-279857