Was ist neu in UniPlot 5.10.0

Auf dieser Seite werden die Änderungen von UniPlot 5.10.0 gegenüber UniPlot 5.9.3 beschrieben.

Änderungen und Erweiterungen

  • Formel-Interpreter: Bei MDF-Dateien (INCA), Famos-Dateien und ASAM-ODS Rekordermessungen können nun Kanäle mit unterschiedlicher Abtastrate innerhalb einer Formel verwendet werden. Die Kanäle werden dann auf die Abtastrate des ersten auftretenden Kanals interpoliert. Siehe Formelinterpreter 1 - Einführung.

  • ExcelRead3: Die Funktion liefert auf Wunsch nun auch das Zahlen- bzw. Zeit-/Datumformat. Dazu wurde die Funktion um einen vierten Parameter erweitert. Die neue Funktion wird beispielsweise für den Excel-Import verwendet um Zeit-/Datumspalten zu erkennen und das Attribut C_format in die netCDF-Dateien zu schreiben.

  • Neue Optionen: Balken von den Netzlinien und Autoskalierung mit größerem Bereich. Falls ein Datensatz z. B. x-Koordinaten im Bereich 0 bis 4000 hat, wurde bisher eine Skalierung von 0 bis 4000 erzeugt. Nun wird die Skalierung bei eingeschalteter Option ein Bereich von -500 bis 4500 berechnet, sodass der Anfang und das Ende der Kurve vollständig im Diagramm sichtbar wird. Die Optionen können global im Dialogfeld Extras=>Weitere Optionen in der Gruppe „Diagramm“ eingestellt werden.

  • LayerAutoScale: Erst ab Werten größer als 1e10 wird nun auf die Exponentialschreibweise umgeschaltet.

  • 3D-Klassierung eines XYZ-Datensatzes: Das Ergebnis der Klassierung wird nun zusätzlich in die Windows-Zwischenablage geschrieben. Aus der Zwischenablage kann die Klassierung dann einfach in andere Dokumente, z. B. Excel eingefügt werden.

  • Lesen und Schreiben von MATLAB-Dateien (siehe Überblick MATLAB-Dateien).

  • Import von MATLAB-Dateien nach netCDF (siehe Import von MATLAB-Dateien).

  • Bei UniScript-Objekten kann nun die Struktur des Objekts im Kommandofenster ausgegeben werden:

    * o = [. val = 1.2, imag = 1+2i, test="Hello"]
    * o
    [.
        imag = 1+2i
        test = "Hello"
        val = 1.2
    ]
    object (obj at 0xF45BE4)
    
  • DialogBox: Neues Kombinationsfeld zur Auswahl von Farbe, Marker, Linie, etc. zugefügt.

    ../../_images/DialogBox20-de.png
  • Daten=>Tabelle: Neue Funktion zum Erzeugen von Datentabellen:

    ../../_images/IPW-Report.png

Änderungen an der Benutzeroberfläche

  • Bisher konnten 32 Farben definiert werden. 16 feste Farben (die sogenannten VGA-Farben) und 16 vom Anwender festlegbare Farben.

    In UniPlot 5.10.0 sind 168 Farben definiert. Die ersten 16 Farben sind die alten VGA-Farben, dann kommen die 16 benutzerdefinierbaren Farben, dann die neuen Farben, die dem SVG (Scalable Vector Graphics) Standard entnommen sind.

    ../../_images/color-toolbar.png
  • Das Ereignisanzeige-Fenster lässt sich nun ausblenden oder oben am Fenster andocken.

    ../../_images/docking-de.png
  • In die Benutzerschalterleiste können nun mehr als 32 Kommandos eingefügt werden.

  • Im Vollbild-Modus wird das Haupmenü immer angezeigt.

  • Der Editor zum Editieren von Texten im Richt-Text-Format wurde entfernt.

  • Die Font-Combo-Schaltfläche im Toolbar zeigt nun die Fontnamen in dem entsprechenden Font an.

  • OLE-Objekte haben keine Vorort-Aktivierung mehr. Die Anwendung wird in einem neuen Fenster gestartet.

  • In Menüs können nun Popup-Menüs eingefügt werden (siehe MnInsertPopup).

    ../../_images/popup-menu.png

Neue UniScript-Funktionen

  Neue Funktionen in UniPlot 5.10.0
@f{cursor_value} Zeigt den x- oder y-Wert einer 2D-Kurve an der Cursor-Position an.
AppGetToolbarInfo AppGetToolbarInfo liefert eine Matrix mit den Namen der Toolsbars und der Information ob sie ein- oder ausgeschaltet sind.
AppGetUserColorTable AppGetUserColorTable liefert die 16 vom Anwender änderbaren Farben.
AppSetToolbarInfo AppSetToolbarInfo schaltet Toolbars ein oder aus.
AppSetUserColorTable AppSetUserColorTable setzt die 16 frei definierbaren Farben.
MnInsertPopup MnInsertPopup fügt einen Popup-Menüeintrag in ein Menü ein.
matlab_load matlab_load lädt MATLAB-Dateien (mat-Dateien) in ein UniScript-Objekt.
matlab_save matlab_save speichert UniScript-Objekte in MATLAB-Dateien (mat-Dateien).
nc_dimredim nc_dimredim ändert die Größe einer Dimension. Die NC2-Datei muss sich dazu im Definitions-Modus befinden (siehe nc_endef/nc_redef).
nc_varinq_changed nc_varinq_changed erfragt den change-counter einer netCDF-Variablen. Bei jeder Änderung an einer Variable ändert sich dieser Wert.
uuid uuid erzeugt einen Universally Unique Identifier (UUID) als Zeichenkette.

Geänderte UniScript-Funktionen

Die Änderungen werden in den History-Tabellen am Ende der Funktionsbeschreibungen angegeben.

  Geänderte Funktionen in UniPlot 5.10.0
@f{legend} Erzeugt eine Legende für 1D- und 2D-Datensätze.
DialogBox Mit der Funktion DialogBox können Dialogfelder mit den Dialogelementen Textfeld, Editierfeld, Listenfeld, mehrfach selektierbares Listenfeld, Reportliste (Liste mit mehreren Spalten), Kombinationsfeld (Combo-Box), Kontrollfeld (Check-Box), Propertyliste, Gruppenfeld, Baumlisten und Schaltfläche erzeugt werden.
EdCreate EdCreate erzeugt einen neuen Editor.
ExcelRead3 ExcelRead3 liest Excel-Dateien (.xls).
FileToField FileToField liest Text-Dateien (ASCII-Dateien und UNICODE-Dateien mit BOM) die in Zeilen und Spalten angeordnete Text-, Zahlen- oder Leerfelder enthalten.
IsFileIPW IsFileIPW prüft ob eine Datei eine UniPlot-Datei (IPW oder IPZ) ist.
IsFileText IsFileText prüft, ob eine Datei eine Text-Datei (ASCII, OEM, ANSI, UNICODE) ist.
RegisterFunction RegisterFunction trägt eine Funktion aus einer Dynamischen Link Library (DLL) in die UniScript-Symboltabelle ein. Danach ist ein direkter Aufruf der Funktion möglich.
fgetline fgetline liest ab der aktuellen Position bis zum Zeilenende aus der angegebenen Datei.
obj_load obj_load lädt ein mit obj_save gespeichertes Objekt aus einer Datei oder aus einem String.
obj_save obj_save speichert ein Objekt in einer Datei oder in einer Zeichenkette als XML-Datei oder Binärdatei.
version version gibt den Versionsstring oder die Versionsnummer von UniPlot zurück.

Fehlerkorrekturen

Die folgenden Fehler wurden korrigiert:

  • (ID954): fgetline konnte keine UNICODE-Dateien lesen. Falls sich ein BOM (byte order mark) in der Datei befindet ist dies nun möglich. Die Datei muss dazu im Textmode (siehe fopen) geöffnet weerden.
  • (ID1969): ASAM-ODS Browser (RPC) Aufgrund eines Fehlers konnte UniPlot nicht auf die Daten der Datenbank AVL-Puma Version 1.4 zugreifen.
  • (ID1984): XYSetData und TYSetData: Wenn Daten mit nur einem Datenpunkt gesezt werden sollten, schlug die Funktion fehl. Dieser Fehler trat auch beim Datenaustausch auf.
  • (ID1985): Daten=>Datenaustausch (Dokument) bzw. Daten=>Datenaustausch (Seite): Bevor der Datenaustausch durchgeführt wird, wird der Datensatz auf 0-Punkte gesetzt. Die Option „Ignore Datei“ wurde korrigiert. Die Option verursachte einen Fehler, wenn die Option für die erste Datei ausgewählt wurde. Außerdem trat ein Fehler auf, wenn die Option ausgwählt war und Kanäle in den Datendateien fehlten.
  • (ID1987): ASAM-ODS Browser (CORBA) Beim Zugriff auf die Datenbank wurde das Passwort nicht korrekt übertragen und deshalb eine Fehlermeldung ausgegeben. Über den Login-Dialog konnte dann auf die Datenbank zugegriffen werden. Der Fehler wurde korrigiert.
  • (ID1988): Diagramm=>x/y/z-Achse=>Parameter: Für den Delta-Wert wurden im Dialogfeld manchmal nicht genug Nachkommastellen angezeigt. Beispiel: Startwert = 500, Endwert = 505, Delta = 0.5. Beim Öffnen des Dialogfeldes wurde ein Delta von 1 angezeigt (gerundet auf 0 Nachkommastellen). Nun wird 0.50 angezeigt.
  • (ID1990): Beim Multikanalimport wurden keine Datenquelleninformationen gespeichert. Die Funktion behandelte keine missing_value WErte und ignorierte die Filtereinstellungen. Siehe Datei=>Weitere Datei-Funktionen=>Wasserfall-Multi-Kanal-Import.
  • (ID1994): UniPlot erwartet bei allen Fontgrößen negative Werte. Nun werden positive Werte automatisch in negative Werte umgewandelt.
  • (ID2016): 3D-Datensatz: Die Datenhülle wurde bei der Option „Gesamthülle“ nicht als geschlossener Kurvenzug im Kennfeld dargestellt, wenn alle Datenpunkte des Datensatzes gleichzeitig auf der Hülle lagen.
  • (ID2017): IsFileText lieferte bei UNICODE-Dateien (utf-16, utf-16-le) immer FALSE.
  • (ID2018): Text-Editor: Es konnten keine UNICODE-Dateien geladen werden.
  • (ID2019): Text-Editor: Beim Öffnen von Text-Dateien trat ein starkes Flackern auf.
  • (ID2020): Text-Editor: Bei sehr langen Zeilen wurde ein Zeilenumbruch durchgeführt, auch wenn der Zeilenumbruch im Bearbeiten-Menü abgeschaltet war.
  • (ID2025): FileToField konnte keine UNICODE-Dateien verarbeiten. Dies ist nun möglich, falls sich ein BOM (byte order mark) in der datei befindet.
  • (ID2026): Bei der Funktion text_file_write wurde der BOM (byte order mark) in einigen Fällen falsch geschrieben.
  • (ID2034): Dialogfeld=>Datenfilter (Rekordfilter): Falls ein bereits definierter Filter Werte enthielt, die außerhalb des Wertebereichs des entsprechenden Kanals lagen, wurde der Wert auf einen leeren String gesetzt. Beispiel: N > 2000 UND N < 10000. Der Wert 10000 wurde auf “ “ gesetzt, wenn der Kanal N nur Maximalwerte von 6500 enthielt.

id-1820057