3. Überblick Map

Eine Map (Dictionary, Symboltabelle, Wörterbuch) ist eine Sammlung von Daten auf die über einen Schlüssel zugegriffen werden kann. Die Daten können entweder Zahlen, Zeichenketten oder komplexe Zahlen oder Matrizen der 3 Typen sein.

Die mit MapCreate erzeugten Maps sind nicht so leistungsfähig, wie die mit obj_create erzeugten Maps. Sie werden aber noch benötigt, um Maps in UniPlot-Objekte zu packen (siehe OBJSetMap).

Beispiel

hMap = MapCreate();
MapSetAt(hMap, "Mot-No12", ["1,6l", "4 Valves", "74kW"]);
MapSetAt(hMap, "Mot-No432", ["2.0l", "4 Valves", "100kW"]);
MapSetAt(hMap, "Mot-No42", ["2.5l", "4 Valves", "115kW"]);
MapSetAt(hMap, "Mot-No132", ["3.0l", "4 Valves", "150kW"]);
ssKey = "Mot-No42";
svMotData = MapLookup(hMap, ssKey);
if (ObjGetOk() == FALSE) {
    MessageBox(sprintf("Key \"%s\" not found", ssKey));
    return FALSE;
}
sprintf("The engine has %s" svMotData[3]);

Ab UniPlot 2.5.2 können Maps nicht nur als eigenständige Dateien gespeichert werden, sondern auch in anderen UniPlot-Objekten enthalten sein. Folgende UniPlot-Objekte können Maps enthalten: UniPlot-Dokument, Dokument-Seite, alle Zeichenobjekte, Datensätze.

Erzeugen und Zerstören

MapCreate

MapCreate erzeugt ein neues Map-Objekt.

MapDestroy

MapDestroy löscht ein Map-Objekt und alle Daten, die sich im Map-Objekt befinden.

Setzen

MapInitHashTable

MapInitHashTable initialisiert die Hash-Tabelle.

MapLoad

Liest Daten aus einer mit MapSave erzeugten Datei.

MapPrint

MapPrint druckt den Inhalt eines Map-Objekts in das Kommandofenster.

MapRemoveAt

MapRemoveAt entfernt den angegebenen Schlüssel und die entsprechenden Daten aus der Map.

MapSave

MapSave sichert die Daten der Map in einer Datei.

MapSetAt

MapSetAt fügt ein Datum in das Map-Objekt ein. Falls ein Datum mit einem identischen Schlüssel bereits existiert, wird es überschrieben.

OBJRemoveMap

OBJRemoveMap entfernt aus einem Objekt eine Map.

OBJSetMap

OBJSetMap speichert eine Map in einem Objekt.

Erfragen

MapCopy

MapCopy erzeugt eine Kopie eines Map-Objekts.

MapGetCount

MapGetCount liefert die Anzahl der Elemente im Map-Objekt.

MapGetKeys

MapGetKeys liefert einen Vektor mit den Schlüsseln der Tabelle.

MapKeyExists

MapKeyExists prüft, ob ein Schlüssel im Map-Objekt existiert.

MapLookup

MapLookup verwendet einen Hashing Algorithmus um ein Element im Map-Objekt zu finden.

OBJGetMap

OBJGetMap liefert die Zugriffsnummer einer Map, welche in einem Objekt unter einem Namen gespeichert wurde.

OBJGetMapNames

OBJGetMapNames liefert einen String-Vektor mit den Namen der Maps eines Objekts oder einen leeren String, falls das Objekt keine Maps enthält.

id-630667