7. Überblick Tabellenobjekt

In Tabellen können Texte und Zahlen in Spalten angeordnet werden, ohne das Tabulatorzeichen oder Leerzeichen verwendet werden müssen.

Alle Eigenschaften und Funktionen eines Tabellenobjekts können über das Programmierinterface erreicht werden. Den Quellcode der Funktionen finden Sie in den Dateien mn_table.ic und obj_table.ic im Verzeichnis uniplot\script.

7.1. Ein kleines Beispiel

// autoload\AddMyTable.ic
RegisterCommand("Tabelle", "AddMyTable", "Meine Tabelle einfügen")
UserBar_AddCommand("AddMyTable")
def AddMyTable()
{
    hPage = AppGetActivePage();
    if (hPage == 0) return;
    hLayer = GetSelectedLayers();
    smText = ["Name", "Peter Müller"; "Abteilung", "MAB3"; "Projet", "1234"];
    hTable = TableCreate(smText);
    LayerAddObjects(hLayer, hTable);
    PageReplot(hPage);
}

7.2. Füllfarben, Fonts, Randlinie, Format

Für die Füllfarben der Zellen, die verwendeten Fonts und die Randlinien werden in jeder Tabelle entsprechende Listen geführt. In jeder Zelle wird nur ein Verweis (Index) auf die entsprechenden Elemente gespeichert. Wenn beispielsweise ein Bereich von Zellen mit einem speziellen Font ausgegeben werden sollen, erzeugt man zuerst den neuen Font, fügt den Font mit der Funktion TableAddFont in die Liste ein. Die Funktion liefert den Index des neuen Fonts zurück. Mit dem Index kann dann für die gewünschten Zellen der Font über die Funktion TableSetFontIndex gesetzt werden. Der Index beginnt mit dem Wert 1. Für ein Programmbeispiel siehe TableAddFont oder TableAddBrush.

Bei Füllfarben ist zu beachten, das der Index 0 eine besondere Bedeutung hat. Um eine Zelle mit transparenter Füllung auszugeben, wird der Index 0 über die Funktion TableSetBrushIndex übergeben.

7.3. Position und Größe

Die Postion und Größe wird mit der Funktion OBJSetPosSize gesetzt.

7.4. Funktionen

  Erzeugen und Zerstören
TableCreate TableCreate erzeugt ein neues Tabellenobjekt.
TableDestroy TableDestroy zerstört ein Tabellenobjekt.
  Setzen
TableDeleteColumn TableDeleteColumn löscht eine Spalte.
TableDeleteRow TableDeleteRow löscht eine Zeile der Tabelle.
TableInsertColumn TableInsertColumn fügt eine neue Spalte ein.
TableInsertRow TableInsertRow fügt eine neue Zeile ein.
TableMergeCells TableMergeCells verbindet die gegebenen Zellen zu einer Zelle.
TableRedo TableRedo
TableSetAlign TableSetAlign setzt die Textausrichtung für die Tabelle oder für einen Ausschnitt der Tabelle.
TableSetColumnWidth TableSetColumnWidth setzt die Spaltenbreiten in cm.
TableSetEdgeDistance TableSetEdgeDistance setzt den Abstand des Textes zum Rand der Zelle.
TableSetFormatIndex TableSetFormatIndex setzt die Indizes der Formatierung für die Ausgabe der Zellen.
TableSetName Tauscht den vorhandenen Namen einer Zelle, einer Auswahl von Zellen oder in allen Zellen aus.
TableSetProps TableSetProps setzt die Properties einer Tabelle.
TableSetRowHeight TableSetRowHeight setzt die Zeilenhöhe aller Tabellenzeilen.
TableSetSelection Setzt die Selektion.
TableSetText Tauscht den vorhandenen Test einer Zelle, einer Auswahl von Zellen oder in alle Zellen aus.
TableSetTextAngle TableSetTextAngle setzt die Textrichtung für die Tabelle oder für einen Ausschnitt der Tabelle.
TableUnMergeCell TableUnMergeCell löst die zu einer Zelle verbundenen Zellen wieder auf.
TableUndoEnd TableUndoEnd
TableUndoStart TableUndoStart
TableUsePlaceholderDialog TableUsePlaceholderDialog legt fest, welcher Dialog zur Bearbeitung der Texte verwendet werden soll.
  Erfragen
TableGetAlign TableGetAlign liefert die Textausrichtung als Matrix der gesamten Tabelle oder eines Ausschnitts.
TableGetAttrib TableGetAttrib liefert für jede Zelle einen Attributwert als Matrix der gesamten Tabelle oder eines Ausschnitts
TableGetColumnWidth TableGetColumnWidth liefert einen Vektor mit den Spaltenbreiten.
TableGetEdgeDistance TableGetEdgeDistance erfragt den Abstand des Textes zum Rand der Zelle.
TableGetMergedCells TableGetMergedCells liefert eine Matrix. Jede Zeile der Matrix definiert einen Zellbereich, der zu einer Zelle verbunden ist.
TableGetName Liefert den Name einer Auswahl von Zellen oder von allen Zellen zurück.
TableGetProps TableGetProps erfragt die Properties einer Tabelle.
TableGetRowHeight TableGetRowHeight liefert einen Vektor mit den Zeilenhöhen.
TableGetSelection TableGetSelection liefert die aktuelle Selektion zurück.
TableGetSize Liefert die Zeilen- und Spaltenanzahl einer Tabelle.
TableGetText Liefert den Text einer Auswahl von Zellen oder von allen Zellen zurück.
TableGetTextAngle TableGetTextAngle liefert die Textrichtung (Winkel) für die Tabelle oder für einen Ausschnitt der Tabelle.
TableGetTextExt Liefert die Textausdehnung einer Spalte der Tabelle.
TableIsCellMerged TableIsCellMerged erfragt ob eine angegebene Zelle aus mehreren verbundenen Zellen besteht.
TableIsPlaceholderDialogUsed TableIsPlaceholderDialogUsed erfragt ob beim Maus-Doppelklick auf eine Tabelle das Dialogfeld zur Bearbeitung der $-Texte (Platzhalter) oder der Standard-Dialog angezeigt wird.
TableSetAttrib TableSetAttrib setzt für jede Zelle einen Attributwert.
TableSetSize Ändert die Zeilen- und Spaltenanzahl einer Tabelle.
  Fonts
TableAddFont TableAddFont fügt der Fontliste einer Tabelle einen neuen Font zu.
TableGetFontIndex TableGetFontIndex liefert die Indizes des Fonts (Schriftart) für die Ausgabe der Texte zurück.
TableGetFontList TableGetFontList liefert alle Fonthandle (Zugriffsnummer) der Fontliste als Vektor zurück.
TableSetFontIndex TableSetFontIndex setzt die Indizes des Fonts (Schriftart) für die Ausgabe der Texte.
  Füllfarben
TableAddBrush TableAddBrush fügt eine neue Füllfarbe in die Füllfarbenliste (brush list) ein.
TableGetBrushIndex TableGetBrushIndex liefert die Indizes des Füllfarben (Brush) für die Ausgabe der Zellen zurück.
TableGetBrushList TableGetBrushList liefert eine Matrix mit 3 Spalten mit in der Tabelle verwendeten Füllfarben.
TableSetBrushIndex TableSetBrushIndex setzt die Indizes der Füllfarben (Brush) für die Ausgabe der Zellen.
  Rahmenlinien
TableAddPen TableAddPen fügt der Penliste einer Tabelle einen neuen Zeichenstift zu. Der Zeichenstift legt fest mit welcher Farbe und welcher Linienstärke die Zellenrandlinien ausgegeben werden sollen.
TableGetBorderPenIndex TableGetBorderPenIndex liefert die Indizes der Zeichenstifte für die Ausgabe der Randlinien zurück.
TableGetPenList TableGetPenList liefert alle Penhandle (Zugriffsnummern) der Penliste als Vektor zurück. Ein Pen ist ein Zeichenstift. Er legt die Farbe und die Linienstärke der Randlinien der Zellen fest.
TableSetBorderPenIndex TableSetBorderPenIndex setzt für die Randlinien den Index des Zeichenstifts, der für die Ausgabe verwendet werden soll. Jede Zelle wird von 4 Randlinien umschlossen.

id-955647