Anbei der überarbeitete Quellcode:
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$
Ind = GlobalMaximum(DataSet, EVENT_INDEX)
Freq = DataSet[Ind].X
PSD = DataSet[Ind].Y
res := List(Daten, Signal(PSD, Freq))
End
res
Hier eine kurze Erklärung der Korrekturen:
\PSD_Auswertung\.Objects("^.*\\\.fml$").Names
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.
res := List(Daten, Signal(PSD, Freq))
Dies erzeugt eine Liste als Resultat. Details:
“:“: Anhängeoperator zum Erweitern der Liste
“Daten“: 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.