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. |
Siehe auch
id-630667