FlexPro
HistoryBase
Engineering
Training
Downloads
FlexPro-Support
Wissen
Community
Über Uns
Referenzen
Jobs
Allgemeiner Kontakt
Händlerverzeichnis
FlexPro-Support
DE
EN
FR
Placeholder
Produkte und Lösungen
Support und Downloads
Unternehmen
Magazin
Kontakt
Sprache
MyWeisang

Account Einstellungen

Topic

Indirektionsoperator erzeugt 1 Datenreihe mit X Zeichenketten

Startseite ' Community ' Allgemein ' Indirektionsoperator erzeugt 1 Datenreihe mit X Zeichenketten

Anzeigen von 3-Stellen - 1 bis 3 (von insgesamt 3)
  • Autor
    Beiträge
  • #34582
    Stefan Wyler
    Teilnehmer

    Aus einem Ordner werden alle Namen der Formeln erfasst um aus diesen Formeln den Maximum Wert zu erfassen. Dies erzeugt 1 Datenreihe mit XX Zeichenketten.
    Dies verunmöglicht die Ausgabe weil Einzelwerte verlangt sind, also eine Liste mit XX Elementen. Wie ist die Ausgabe (res) zu schreiben?

    Dim Daten, Path, Ind, DataSet, Freq, PSD, res

    Daten = PSD_Auswertung.Objects(“.*.f*”).Names // Findet alle Formeln im Ordner PSD Auswertung
    Path = PSD_Auswertung.FullName : “\”

    For Each Row i In Daten Do

    DataSet = $Path : Daten[i]$ //Indirektionsoperator / Daten auslesen
    Ind = GlobalMaximum(DataSet, EVENT_INDEX)
    Freq = DataSet[Ind].X
    PSD = DataSet[Ind].Y
    res = List(String “”: Daten, Freq, PSD)

    End
    res

    #34584
    Stefan Wyler
    Teilnehmer

    Aus einem Ordner werden alle Namen der Formeln erfasst um aus diesen Formeln den Maximum Wert zu erfassen. Dies erzeugt 1 Datenreihe mit XX Zeichenketten.
    Dies verunmöglicht die Ausgabe weil Einzelwerte verlangt sind, also eine Liste mit XX Elementen. Wie ist die Ausgabe (res) zu schreiben?

    Dim Daten, Path, Ind, DataSet, Freq, PSD, res

    Daten = PSD_Auswertung.Objects(“.*.f*”).Names // Findet alle Formeln im Ordner PSD Auswertung
    Path = PSD_Auswertung.FullName : “\”

    For Each Row i In Daten Do

    DataSet = $Path : Daten[i]$ //Indirektionsoperator / Daten auslesen
    Ind = GlobalMaximum(DataSet, EVENT_INDEX)
    Freq = DataSet[Ind].X
    PSD = DataSet[Ind].Y
    res = List(String “”: Daten, Freq, PSD)

    End
    res

    #34583
    Bernhard Kantz
    Teilnehmer

    Anbei der überarbeitete Quellcode:

    [code]
    Dim Daten, Path, Ind, DataSet, Freq, PSD, res

    Daten = PSD_Auswertung.Objects(“^.*\.fml$”).Names
    Path = PSD_Auswertung.FullName : “\”

    For Each Row i In Daten Do

    DataSet = $Path : Daten[i]$
    Ind = GlobalMaximum(DataSet, EVENT_INDEX)
    Freq = DataSet[Ind].X
    PSD = DataSet[Ind].Y
    res := List(Daten[i], Signal(PSD, Freq))

    End

    res

    [/code]
    Hier eine kurze Erklärung der Korrekturen:

    [code]
    PSD_Auswertung.Objects(“^.*\.fml$”).Names
    [/code]
    Dieser Ausdruck findet alle Formeln im Ordner “PSD_Auswertung “. Details:
    “^“: gibt an, dass der Objektname beliebig beginnt.
    “.*“: steht für eine beliebig lange Folge von beliebigen Zeichen.
    “\.fml$”: legt fest, dass der Objektname mit “.fml” enden muss, d. h. dass das Objekt eine Formel sein muss.

    [code]
    res := List(Daten[i], Signal(PSD, Freq))
    [/code]
    Dies erzeugt eine Liste als Resultat. Details:
    “:“: Anhängeoperator zum Erweitern der Liste
    “Daten[i]“: Einzelwert (Zeichenkette) als Name des Listenelements.
    “Signal(PSD, Freq)“: Für die korrekte Syntax der List-Funktion ist hier ein Datensatzobjekt (statt zwei aufeinanderfolgende) erforderlich. Man kann hier z.B. die Signal-Funktion verwenden um PSD und Freq zu einem Signal zusammenzufassen.

Anzeigen von 3-Stellen - 1 bis 3 (von insgesamt 3)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.