Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Mathematische Funktion aus einer JSON-Datei lesen und berechnen



  • Hey Leute,

    ich habe eine JSON-Datei mit unterschiedlichen Daten (Temperatur / Luftfeuchtigkeit / Lichtstärke / Spannung / Strom USW.)

    Nun muss ich einige Berechnungen durchführen.
    Problem:
    Ich habe leider keine Ahnung wie ich dies anstellen soll.
    Das Auslesen aus der JSON-Datei ist überhaupt kein Problem, das definieren der Berechnung hingegen schon.
    Die Funktion MUSS dynamische sein, deshalb dann und darf ich die Berechnung nicht "hart programmieren".

    Eine Berechnung sieht z.B. so aus:

    (gelesenerWert_ausJSON * 1000) + ( gelesenerWert_ausJSON_2 * 42.454) / (M_PI * 458.454154 + 122.456) 
    
    

    Hat jemand eine Idee wie ich vorgehen muss?
    Habe leider keine Ahnung bzw. Idee.

    Würde mich über jeden Vorschlag sehr freuen.


  • Moderators

    Hi @NotYourFan
    als erstes möchte ich darauf hinweisen, das man nicht die gleiche Frage nochmal stellen soll. Besonders in dem gleichen Unterforum!

    Was du vor hast ist nicht einfach in c++ umzusetzen. Wenn dein c++ code einmal übersetzt ist, lässt sich da nichts mehr ändern.

    Du hast im Prinzip 2 Möglichkeiten:

    1. schreibe eine Reihe von Funktionsprototypen, Plus Minus Mal Geteilt etc. Dann lese und interpretiere deinen String und erstelle eine Abfolge von Funktion aufrufen, basierend auf dem String.
      Keine einfache Aufgabe!!!!

    2. Nutze eine während der Laufzeit interpretierbare Skript spräche und binde sie in dein Programm an. Fast alle bieten ein c oder c++ interface. Lua fällt mir hier als Beispiel ein.
      Alternativ gibt es hier von Qt tatsächlich schon etwas vorgefertigtes QML (basierend auf JavaScript).
      Dann musst du einen QML interpretierbaren String erzeugen deine ausgelesene Formel in eine function packen in die QML-engine laden und ausführen.

    1 & 2 hab ich beides noch nicht gemacht, so ich kann dir da nicht wirklich weiter helfe.

    Grüße




Log in to reply