tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
文字列式(TextBoxに入力した数式)で計算を実施(VB6.0) ( No.0 )  [親スレッドへ]
日時: 2009/12/27 12:37
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[文字列処理][その他コントロール][応用コード]                        *
* キーワード:テキストボックスに入力された計算式を実行する,アルゴリズム,,,        *
***********************************************************************************

元質問:四則演算について - みるく  2004/10/17-10:59 No.628

いま簡単な四則演算ができるプログラムを作成しているのですが、、、、
テキストボックスに(3+2)*2と入力されたら、ラベルに10と出力されるもので、かっこは1つまで使えるようにします。
今はまず数式を変数に代入し、その中からかっこを検索し、かっこがある場合かっこの中の数式を変数に代入するところまでできています。そこから計算する処理として、"*"と"/"を先に計算しその後に"+"と"-"を計算、そしてかっこの答えをかっこのあった場所に置き換え、計算の処理をする...としていきたいのですが、どうしたら"*"と"/"を先に計算することができるのでしょうか。どうか教えてください


---------------------------------------------------------------------------
Re: 四則演算について - 花ちゃん   2004/10/17-12:11 No.629
---------------------------------------------------------------------------
プロジェクト→コンポーネント から Microsoft ScriptControl1を選択して
Formに貼り付けて下さい。

Option Explicit

Private Sub Form_Load()
   Text1.Text = "(3+2)*2"
'   Text1.Text = "2^3"
'   Text1.Text = "4 * Atn(1)"
'   Text1.Text = "Sqr(4)"
'   Text1.Text = "1/sin(1.3)"
End Sub

Private Sub Command1_Click()
   Text1.Text = StrConv(Text1.Text, vbNarrow)
   Label1.Caption = "答えは= " & ScriptControl1.Eval(Text1.Text) & " です"
End Sub

その他、色々試して見て下さい。

回答した私もすっかり忘れていました。 昔このような事ができたら宿題いくらでも
できて立たされなくても済んだのにな。
(どうせ式が解らないから一緒ではって聞こえてきそう)




 [スレッド一覧へ] [親スレッドへ]