エディトコントロールの数式取得

[戻る]
むらた 2005/04/07(木) 14:33:37
下記のようなプログラムを作りたいのですが全然わからないため、質問させて頂きま
す。
FormView上にエディトコントロールA,B,C,Dがあります。たとえば、Aに2、Bに3、
Cに数式A+Bを入力した時Dに答え5を表示する方法をご指導ください。

REE 2005/04/07(木) 15:06:26
数式を解析する専用のものは、標準ライブラリにはありません。
そういう場合には、数式を文字列として読み取って、それを自分で解析します。

むらた 2005/04/07(木) 16:48:25
REEさん早速のご指導ありがとう御座いました。
「文字列として読み取り」はGetWindowText で良いかと思いますが、
素人ゆえ「自分で解析」の部分がいささかわかりません。
よろしければこの部分のご指導お願いできないでしょうか。

REE 2005/04/07(木) 16:59:59
いささか分からないのであれば、分かる部分を書いてください。

Blue 2005/04/07(木) 17:08:26
>素人ゆえ「自分で解析」の部分がいささかわかりません。

あなたなら

A+B という文字列をみてなにを考えますか?
では A-B は? A%B+Aは ? (A+B)*A は?

それをプログラムにするのではないのでしょうか?

素人云々の話ではないようですが。

むらた 2005/04/07(木) 17:10:36
まったく見当がつかないため少し勉強してからお尋ねします。
ありがとう御座いました。

超初心者 2005/04/07(木) 19:28:44
通常の式から、空白やタブを読み飛ばし、数字や記号の読み込み、
括弧の中や積と商を先に計算し......難しいので以下のサイトを見ましょう。

http://forum.nifty.com/fdelphi/samples/01241.html

( 2 + 4 ) * ( 3 - 1 ) から 12 を導き出す方法が載ってるぞ。
これをA,Bを読み取り数値に変換する処理を加えればいいだけで完成だ。

たぶん

むらた 2005/04/08(金) 12:29:18
REEさんの考え方のヒント、そして超初心者さんの参考ホームページのご紹介有難う御座
いました。
入口が見えてきた思いです。これを元に何とかクリアすべく努力致します。
有難う御座いました。

古いスレッドには追加発言できません。