.. highlightlang:: us .. index:: auto_SetFilter .. _auto_setfilter: auto_SetFilter ============== .. us.tag auto_SetFilter GERMAN Die Funktion :ref:`auto_SetFilter` setzt einen Filter für eine NC-Datei. Der Filter legt fest, welche Rekords geladen werden sollen. .. function:: bool = auto_SetFilter(ssFilter) bool = auto_SetFilter(ssFilter, ssNCName) bool = auto_SetFilter(ssFilter, ncid) .. us.return **Returnwert** *bool* .. us.params **Parameter** .. uparam:: ssFilter *ssFilter* ist eine Zeichenkette, die den Filter definiert. Der Filter kann aus bis zu sieben UND (``&&``) oder ODER (``||``) verknüpften Vergleichen bestehen. Jeder Vergleich besteht aus einem in $-Zeichen eingeschlossenen Kanalnamen, gefolgt vom Vergleichsoperator, gefolgt von einem Zahlenwert. Alle Operatoren müssen in Leerzeichen eingeschlossen werden. Ab UniPlot 5.14.5 dürfen die Kanalnamen die folgenden Sonderzeichen enthalten: ``.``, ``-``, ``+``, ``$``, ``#``, ``~``, ``!``, ``^``, ``&``, ``%``. Die Sonderzeichen im Kanalnamen müssen durch Unterstriche ersetzt werden. Folgende Vergleichsoperatoren können verwendet werden: .. list-table:: :header-rows: 1 * - Operator - Bedeutung * - Kanal < Wert - Kanal kleiner Wert * - Kanal <= Wert - Kanal kleiner oder gleich Wert * - Kanal == Wert - Kanal gleich Wert. Beim == Operator kann noch eine Tolerance in Prozent oder als Absolutwert eingegeben werden. Siehe Beispiel. * - Kanal != Wert - Kanal ungleich Wert * - Kanal > Wert - Kanal größer Wert * - Kanal >= Wert - Kanal größer oder gleich Wert Filter können für numerische Kanäle und Textkanäle verwendet werden. Für Textkanäle können die Wildcard-Zeichnen ``*`` und ``?`` verwendet werden. Das Sternchen (``*``) ist ein Platzhalter für beliebig vielen Zeichen. Das Fragezeichen (``?``) steht für genau für ein Zeichen. Beispiel:: auto_SetFilter("$Mode$ == On*") Zwischen den einzelnen Elementen des Filterstrings müssen Leerzeichen eingefügt werden. Falls der Suchtext Leerzeichen enthält, muss er in Anführungszeichen eingeschlossen sein. Vor dem Anführungszeichen muss ein Backslash eingegeben werden:: auto_SetFilter("$Mode$ == \"a b\"") Mit einem leeren Filterstring kann der Rekordfilter abgeschaltet werden, Dazu muss der Name der NC-Datei angegeben werden:: auto_SetFilter("", "d:/test.nc2") .. uparam:: ssNCName *ssNCName* ist der vollständige Dateiname mit Laufwerk und Pfad einer NC-Datei. Wenn vorher die Funktion :ref:`auto_ImportData` aufgerufen wurde, muss der Parameter nicht angegeben werden. .. uparam:: ncid *ncid* ist die Zugriffsnummer, die von einem erfolgreichen Aufruf der Funktionen :ref:`nc_create` oder :ref:`nc_open` geliefert wurde. .. us.example **Beispiel** :: svFile = GetRootDirectory() + "samples/vollast.asc"; svFile[1] = auto_ImportData(svFile[1]); auto_SetFilter("$N$ > 1000 && $N$ < 5000 && $MEFF$ >= 100"); auto_ImportData(svFile[1]); auto_SetFilter("$N$ == 1000(0.5%)"); // Tolerance +- 0.5 % of 1000 auto_ImportData(svFile[1]); auto_SetFilter("$N$ == 1000(5)"); // Tolerance +-5 rpm .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2013.10 - Parameter ncid zugefügt. Fehler mit String-Kanälen korrigiert. * - R2013.3 - Filter mit String-Kanäle können definiert werden. .. seealso:: :ref:`uberblick-automatisierung-der-diagrammerstellung`, :ref:`auto_ImportData`, :ref:`dialog-box-data-filter` :sub:`id-1372812`