.. highlightlang:: us .. _einfugen-von-datensatzen-in-eine-vorlage: Einfügen von Datensätzen in eine Vorlage ======================================== Das im Folgenden beschriebene Programm vereinfacht das Einfügen von Datensätzen in ein UniPlot-Dokument (Diagramm-Vorlage). **Funktionsweise:** Von einem vorhandenen UniPlot-Dokument wird über den Befehl :ref:`dateidatensatztabelle-exportieren` eine Excel-Tabelle erzeugt. Beispiel: .. image:: S:/uniplot-obj/images/dx-excel.* Der Anwender kann diese Tabelle editieren und sie einer Kopie des ursprünglichen Dokuments zuweisen. Es können so schnell neue Dokumente mit anderen Datendateien, zusätzlichen Datendateien oder anderen Kanälen erzeugt werden. .. _softwarevoraussetzung: Softwarevoraussetzung --------------------- Sie benötigen Microsoft-Excel 97 oder neuer. Excel wird zum Bearbeiten der Datensatztabelle benötigt. .. _einrichtung-dataexchange: Einrichtung ----------- Schalten Sie mit dem Befehl :ref:`extras-benutzerschalterleiste-einrichten` die drei Befehle * :ref:`dateidatensatztabelle-exportieren` * :ref:`dateidatensatztabelle-offnen` * :ref:`dateidatensatztabelle-zuweisen` ein. .. _beschreibung-der-befehle: Beschreibung der Befehle ------------------------ .. _dateidatensatztabelle-exportieren: Datensatztabelle exportieren ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Vorgehensweise: * Öffnen Sie ein vorhandenes UniPlot-Dokument. * Wählen Sie den Befehl :ref:`dateidatensatztabelle-exportieren` aus der Benutzer-Schalterleiste. Es wird eine Datensatztabelle erzeugt. Die Tabelle wird in eine Excel-Datei geschrieben. Die Datei erhält den gleichen Namen wie das geöffnete UniPlot-Dokument jedoch mit der Dateinamen-Erweiterung :file:`.xls`. Beispiel: UniPlot-Dokument: :file:`c:\\Programme\\UniPlot\\Template\\dx.ipw` Excel-Datensatz-Tabelle: :file:`c:\\Programme\\UniPlot\\Template\\dx.xls` Anschließend wird Excel gestartet und die Tabelle geöffnet. Siehe :ref:`beschreibung-der-datensatztabelle`. .. _dateidatensatztabelle-offnen: Datensatztabelle öffnen ^^^^^^^^^^^^^^^^^^^^^^^ Dieser Befehl versucht die zum aktiven UniPlot-Dokument gehörende Excel-Datentabelle zu öffnen. Beispiel: Ist das UniPlot-Dokument: :file:`c:\\Programme\\UniPlot\\Template\\dx.ipw` aktiv, versucht die Funktion die Datei :file:`c:\\Programme\\UniPlot\\Template\\dx.xls` in Excel zu öffnen. .. _dateidatensatztabelle-zuweisen: Datensatztabelle zuweisen ^^^^^^^^^^^^^^^^^^^^^^^^^ Nachdem Sie eine Datensatztabelle erzeugt haben, können Sie die Tabelle auf ein aktives UniPlot-Dokument anwenden. Gehen Sie wie folgt vor: * Öffnen Sie das UniPlot-Dokument bei dem Sie Daten austauchen/zufügen möchten. * Stellen Sie sicher, dass eine Datensatztabelle existiert. Wählen Sie dazu den Befehl :ref:`dateidatensatztabelle-offnen`. * Wählen Sie den Befehl :ref:`dateidatensatztabelle-zuweisen` aus der Benutzer-Schalterleiste. Falls das Dokument noch nicht gespeichert wurde, werden Sie gefragt, ob Sie das Dokument speichern möchten. Drücken Sie **Ja**. * Es wird nun eine Warnung ausgegeben: .. image:: S:/uniplot-obj/images/DX-Warning.* * Falls Sie **Ja** angeben, können Sie im folgenden Dialog einen neuen Dateinamen eingeben unter dem das Dokument gespeichert werden soll. * Falls Sie **Nein** angeben, werden die Daten im aktiven Dokument ausgetauscht. Es werden jetzt folgende Aktionen durchgeführt: * Im UniPlot-Dokument werden alle Datensätze gelöscht. * Die Datendateien werden geladen und die Datensätze werden in den angegebenen Diagrammen erzeugt. Die Funktionen werden ausgeführt. .. _beschreibung-der-datensatztabelle: Beschreibung der Datensatztabelle --------------------------------- Die Datensatztabelle hat folgenden Aufbau: Spalten 1 bis 4: .. list-table:: :header-rows: 1 * - #PageName - DiagramName - DatafilePath - DatafileName * - Seite 1 - Diagramm 1 - D:/uniplotd/samples/ - Test1.xls{2} * - Seite 1 - Diagramm 1 - D:/uniplotd/samples/ - Test5.xls{2} Spalten 5 bis 9: .. list-table:: :header-rows: 1 * - DatasetName - x-Channel - y-Channel - z-Channel - Functions * - Data1 - EngSpd - SAEPwr - - xy_akimaspline() * - Data2 - EngSpd - SAEPwr - - xy_akimaspline() Die erste Spalte ist eine Kommentarzeile, da sie mit dem #-Zeichen beginnt. Sie wird vom Programm ignoriert. Jede Zeile in der Tabelle definiert einen Datensatz. Beschreibung der Spalten: PageName (Seitenname) ^^^^^^^^^^^^^^^^^^^^^ Ist der Name der Seite in die der Datensatz eingefügt werden soll. DiagramName (Diagramm-Name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ist der Name des Diagramms in die der Datensatz eingefügt werden soll. DatafilePath (Pfad der Datendatei) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ist der komplette Pfad der Datendatei. Es sind auch UNC-Pfadnamen (mit Rechnernamen) möglich. Z. B. ``\\p1300\d\testdata\ao2230``. DatafileName (Name der Datendatei) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ist der Name der Datendatei ohne Pfadangabe. Falls die Datendatei eine Excel-Tabelle ist, kann hinter dem Dateinamen der Tabellenname in eckige Klammern geschrieben werden. Bei Excel- und Text-Dateien können anschließend Importoptionen in geschweifte Klammern geschrieben werden. Beispiel: :file:`test.xls [Tabelle 1] {2}` (siehe auch :ref:`datendatenaustausch-(seite)` und :ref:`XYSetDataSource`). DatasetName (Datensatz-Name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ist der Name des Datensatzes der erzeugt werden soll. x-Channel ^^^^^^^^^ Ist der Name des x-Kanals. y-Channel ^^^^^^^^^ Ist der Name des y-Kanals. z-Channel ^^^^^^^^^ Ist der Name des z-Kanals. Wenn diese Spalte nicht leer ist, wird ein x/y/z-Datensatz erzeugt. Functions (Funktionen) ^^^^^^^^^^^^^^^^^^^^^^ In diese Spalte können Funktionen eingetragen werden, die nach Erzeugung des Datensatzes aufgerufen werden. Falls Sie mehrere Funktionen aufrufen möchten, können Sie die Funktionsaufrufe in weitere Spalten der Exceltabelle schreiben (Spalte 10, 11,...). .. _liste-der-funktionen: Liste der Funktionen -------------------- .. _styleorder: styleorder ^^^^^^^^^^ :: styleorder("default") Mit dieser Funktion können Sie die Datensatzstile der Seite setzen. Stilfolgen werden über den Befehl :ref:`extrasdatensatz-stilfolge-konfiguration` festgelegt. Wenn auf der Dokumentseite z. B. 4 Kanäle (Leistung, Moment,...) aus 5 verschiedenen Datendateien dargestellt werden, können Sie festlegen, dass die Datendateien über die Farbe der Kurven unterschieden werden sollen und die Kanäle über die Markerart. Der Funktionsaufruf sollte immer als letzter Funktionsaufruf der Seite verwendet werden. .. list-table:: :header-rows: 1 * - #PageName - ... - Function * - Seite 1 - ... - * - Seite 1 - ... - * - Seite 1 - ... - styleorder("default") * - Seite 2 - ... - * - Seite 2 - ... - * - Seite 2 - ... - styleorder("default") style ^^^^^ :: style(ssStyleName) style(ssStyleFile, ssStyleName) Beispiel: style("3D-be") Diese Funktion wird hauptsächlich für 3D-Datensätze verwendet. Für x/y-Datensätze ist die Funktion ``styleorder()`` praktischer, da man mit ihr alle Datensatz-Stile einer Seite mit einem Aufruf setzen kann. xy_legendtext ^^^^^^^^^^^^^ :: xy_legendtext(ssText) Setzt den Text für eine Legende. xy_akimaspline ^^^^^^^^^^^^^^ :: xy_akimaspline() xy_akimaspline(nPoints) xy_akimaspline(nPoints, bIncludeOrgPoints) Beispiel: xy_akimaspline(100) xy_fitspline ^^^^^^^^^^^^ :: xy_fitspline() xy_fitsplinespline(nPoints) xy_fitspline(nPoints, SmoothFactor) Beispiel: xy_fitspline(100) .. _eigene-funktionen-fur-die-datensatztabelle: Eigene Funktionen für die Datensatztabelle ------------------------------------------ Mit diesem Abschnitt brauchen Sie sich nur beschäftigen, wenn Sie eine Funktion, wie die Funktion :ref:`styleorder` schreiben möchten. Die vorhandenen Funktionen sind in der Datei :file:`dx-fkts.ic` definiert. Ihre Funktionen sollten Sie in eine andere Datei schreiben z. B. :file:`MyDataExchangeFunctions.ic` und im :file:`UniPlot\\AutoLoad`-Verzeichnis speichern. Beispiel: :: // styleorder(ssStyleOrderName) def DXFUNC_styleorder(hInfo, nArgs, svArgs) { hPage = MapLookup(hInfo, "hPage"); auto_AssignStyleOrder(hPage, svArgs[1]); } Die Funktionen beginnen mit der Buchstabenfolge ``DXFUNC_`` gefolgt vom Namen wie er in der Datensatztabelle erscheinen soll. Beispiel: Möchten Sie eine Funktion ``XY_MAX()`` in der Datentabelle verwenden, muss die UniScript-Funktion ``DXFUNC_xy_max(...)`` heissen. Die Funktion hat 3 Parameter *hInfo*, *nArgs* und *svArgs*. *hInfo* ist die Zugriffsnummer einer Map mit Informationen zu der Zeile an der das Datenaustausch-Programm gerade arbeitet. Dies sind die Zugriffsnummer des Dokuments hDoc, der Seite hPage, des Diagramms hLayer und die Zugriffsnummer des erzeugten Datensatzes hData. :: hDoc = MapLookup(hInfo, "hDoc"); hPage = MapLookup(hInfo, "hPage"); hLayer = MapLookup(hInfo, "hLayer"); hData = MapLookup(hInfo, "hData"); *nArgs* gibt die Anzahl an Argumenten an, mit der die Funktion in der Datensatztabelle aufgerufen wurde. Steht in der Datensatztabelle z. B. der Aufruf ``styleorder("default2")`` erhält *nArgs* den Wert 1. *svArgs* enthält die Argumente des Aufrufs als Stringvektor: Beim Aufruf ``styleorder("default2")`` ist ``svArgs = ["default2"]``. :sub:`id-962442`