tagCANDY CGI VBレスキュー(花ちゃん) - 文字列式(TextBoxに入力した数式)で計算を実施(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
文字列式(TextBoxに入力した数式)で計算を実施(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

文字列式(TextBoxに入力した数式)で計算を実施(VB6.0) [No.94の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.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

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

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

メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ