各位大俠
問題描述:
有三個編輯框,分別為:edit1、edit2、edit3。
一個命令按鈕:button1。
1. 定義一個字串變數:var s:string;
2. 將edit1中的內容賦值給"s"變數,如:s:=edit1.text;
3. edit2中輸入公式如"2*s+5";(此公式不唯一,根據需要而定)
4. 點擊button1,計算出公式“2*s+5”的結果輸入到edit3.text中。
如:在edit1中輸入3,在edit1中輸入2*s+5,點擊button1,則在edit3中輸出結果值“11”。
uj5u.com熱心網友回復:
http://blog.csdn.net/simonhehe/article/details/8395610uj5u.com熱心網友回復:
呼叫JS的eval()也可以uj5u.com熱心網友回復:
使用腳本控制元件就Okuj5u.com熱心網友回復:
這是編譯程式的一部分,算術運算部分。簡單說說方法吧,不知是否有用。先切割 token,把運算子和運算物件切割出來,變成字串串列或陣列。這不難。
然后做 parse(陳述句分析)處理。要用遞回演算法,這樣最簡單。如果有括號,演算法就有點復雜。沒有括號,只考慮運算子優先級,演算法相對簡單。要是還想簡單,就得把輸入規則限制一下,強制把優先級高的運算子放在前面。這樣,parse 處理不過是幾行代碼。
要是你的運算物件還包括函式,那就復雜了,得正兒八經寫編譯程式了。
uj5u.com熱心網友回復:
腳本無法處理運算式中的變數
uj5u.com熱心網友回復:
這個真的能實作變數功能嗎?我看介紹說是
“運算式計算器, 支持四則混合運算, 常量代入擴展后可實作運算式嵌套參考, 防回圈呼叫等功能”
要是支持變數,且增加開方計算就好了。
uj5u.com熱心網友回復:
如果用到資料庫,直接將計算公式傳到資料庫中去算。uj5u.com熱心網友回復:
示例代碼中的π就類似你需求中的s
開方,開根,正弦,余弦等需要在形成后綴運算式的程序中進行規則排列, 然后在計算后綴運算式時分別處理即可.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143674.html
標籤:VCL組件開發及應用
上一篇:splwow64
