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 erzeugt ein neues Map-Objekt. |
|
MapDestroy löscht ein Map-Objekt und alle Daten, die sich im Map-Objekt befinden. |
Setzen |
|
---|---|
MapInitHashTable initialisiert die Hash-Tabelle. |
|
Liest Daten aus einer mit MapSave erzeugten Datei. |
|
MapPrint druckt den Inhalt eines Map-Objekts in das Kommandofenster. |
|
MapRemoveAt entfernt den angegebenen Schlüssel und die entsprechenden Daten aus der Map. |
|
MapSave sichert die Daten der Map in einer Datei. |
|
MapSetAt fügt ein Datum in das Map-Objekt ein. Falls ein Datum mit einem identischen Schlüssel bereits existiert, wird es überschrieben. |
|
OBJRemoveMap entfernt aus einem Objekt eine Map. |
|
OBJSetMap speichert eine Map in einem Objekt. |
Erfragen |
|
---|---|
MapCopy erzeugt eine Kopie eines Map-Objekts. |
|
MapGetCount liefert die Anzahl der Elemente im Map-Objekt. |
|
MapGetKeys liefert einen Vektor mit den Schlüsseln der Tabelle. |
|
MapKeyExists prüft, ob ein Schlüssel im Map-Objekt existiert. |
|
MapLookup verwendet einen Hashing Algorithmus um ein Element im Map-Objekt zu finden. |
|
OBJGetMap liefert die Zugriffsnummer einer Map, welche in einem Objekt unter einem Namen gespeichert wurde. |
|
OBJGetMapNames liefert einen String-Vektor mit den Namen der Maps eines Objekts oder einen leeren String, falls das Objekt keine Maps enthält. |
Siehe auch
id-630667