Hallo Alle,
in Tabellenkalkulationen ist es möglich, eine Zahl in Form einer Funktion einzugeben, z. B. "=12,5^0,5" in einer Zelle ergibt dann den recht genauen Wert für die Wurzel aus 12,5, nämlich 3,53553390593274.
Gibt es irgendwie eine "einfache" Möglichkeit, dies auch für FreePascal zu verwirklichen?
Ich stelle mir vor, dass ich in einen tEdit.Text die Funktion schreiben lasse und sie dann ausgewertet wird - ich kann allerdings überhaupt nichts finden, was mich auch nur annähernd einer Lösung näher bringt (gut, vielleicht suche ich falsch, aber dann gebt mir bitte das Suchwort. Parser ist es - glaube ich - nicht ...).
Beste Grüße
Niesi
Eine Zahl als Funktion eingeben
- Niesi
- Lazarusforum e. V.
- Beiträge: 587
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Eine Zahl als Funktion eingeben
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Eine Zahl als Funktion eingeben
Geniale Unit, dieses kannte ich noch nicht. Damit könnte man recht einfach einen Taschenrechner programmieren.
Nur hat sich im Wiki ein kleiner Fehler eingeschlichen.
Diese Zeile musste ich ändern;
Ich habe das Wiki angepasst. 
Nur hat sich im Wiki ein kleiner Fehler eingeschlichen.
Diese Zeile musste ich ändern;
Code: Alles auswählen
FParser.AddFloatVariable('x', 0.5); // alt
FParser.Identifiers.AddFloatVariable('x', 0.5); // neu

Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Niesi
- Lazarusforum e. V.
- Beiträge: 587
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: Eine Zahl als Funktion eingeben
wp_xyz hat geschrieben:Schau dir mal http://wiki.lazarus.freepascal.org/How_ ... sionParser an.
Mache ich, Dankeschön.
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
- Niesi
- Lazarusforum e. V.
- Beiträge: 587
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: Eine Zahl als Funktion eingeben
Mathias hat geschrieben:Geniale Unit, dieses kannte ich noch nicht. Damit könnte man recht einfach einen Taschenrechner programmieren.
Nur hat sich im Wiki ein kleiner Fehler eingeschlichen.
Diese Zeile musste ich ändern;Ich habe das Wiki angepasst.Code: Alles auswählen
FParser.AddFloatVariable('x', 0.5); // alt FParser.Identifiers.AddFloatVariable('x', 0.5); // neu
Oh - herzlichen Dank.
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...