Hallo Kahlua,
Zitat:Bis jetzt hatte ich eine Lösung die auf eine Textdatei verweist, die aber jedes mal eingeladen werden musste. Ich hätte alles gerne im Programm hinterlegt.
Eine externe Datei, die bei Programmstart einmalig eingelesen wird, ist doch prima!
Da kann man sehr einfach weitere ECU-Typen nachtragen, ohne gleich das Programm neu kompilieren zu müssen…
Zitat: Ich dachte eben ich könnte über einen Ring die Objekte beschreiben und dann über einen Eigenschaftsknoten mit StringsUndWerte diese Werte mit dem ausgabe Array irgendwie verknüpfen, so das die Beschreibung zu dem hexadezimalen Wert erscheint. Es scheitert eher an der Umsetzung...
Das ist in etwa das gleiche, was dir auch von Freddy gezeigt wurde: eine LUT!
Dein Ansatz hat nur den Nachteil, über die relativ langsamen PropertyNodes eines FP-Objektes deine Abfrage zu machen…
Für die LUT benötigst du:
- deine Textdatei, die die Zuordnung von Zahl zu Text festlegt: diese musst du einmalig einlesen und als zwei Arrays vorhalten (Freddy hat hier ein 2D-Array mit zwei Spalten verwendet, ich würde in 1D-Array mit den Werten und ein 1D-Array mit den Strings verwenden.)
- eine Funktion, die den ECU-Wert engegennimmt und in den zwei Arrays nach dem passenden Text sucht - wie von Freddy gezeigt! (Die Array-Konstante als Input soll nur deine "ECU" repräsentieren.)