-PR-
解決
済み

VBで電卓のメモリー機能はどのように作るのですか。

  • すぐに回答を!
  • 質問No.81585
  • 閲覧数1181
  • ありがとう数4
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 91% (11/12)

VBを始めて少ししか経っていないものです。
会社で「"実際の電卓"その物をVBで、5月一杯までに作りなさい」と言われました。本を買い何とか数字を文字列に変えたり、四則計算などは出来たのですが、
"平方根と、メモリー機能と、CE(直前の入力された値をキャンセルします)"が載っていなかったので、とても困っています。
どなたかわかる方、教えて頂けないでしょうか。よろしくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.4
レベル13

ベストアンサー率 46% (643/1383)

えっと、変数の使い方がまだ良く分かってらっしゃらないんじゃないかと推測します。

まず、電卓フォームのコードを表示して、
Dim curMemory as Currency
って書きます。
これで、このフォームのすべてのプロシージャから参照可能な、「curMemory」って言う名前の変数(通貨型)が使用可能になります。

んで、まずは「M+」を実装してみます。
フォーム上にボタン「cbMemoryPlus」と、数値を表示するためのテキストボックス「tb表示」が配置されているものとします。

まず、ボタンをダブルクリックで、Clickイベントのコードを表示させた後、
Sub cbMemoryPlus_Click()
  '「curMemory」に、(「現在の『curMemory』の値」+ 「テキストボックスの値」)をセットする
  curMemory = CurMemory + val(Me.tb表示)
End Sub

「M-」「MC」も同様(あえて書きません。)

「MR」は
Sub cbMemoryRecall_Click()
  'テキストボックスに「curMemory」の値をセットする
  Me.tb表示 = curMemory
End Sub
ですね。

「CE」も同様です。(あえて書きません。)

本を読むのは重要ですが、実際のプログラミングにおいては八割方は、どんな本にも載ってないようなコードを書かなくてはなりません。自分の持てる知識を総動員して、試行錯誤+創意工夫によって答えを導き出さなくてはならないのです。
五月末までにまだ暫くありますので、その間、ご自身がお書きになったコードを1行ずつ読み、そこで何が行われているのかをしっかりと理解しておくようにすれば、いいかもしれません。そうすれば今後似たような問題を出されたとしても、スラスラ解けるようになるのではないかと思います。

ってことで、がんばってください!


※「電卓」は初級コースの問題ですが、これが「関数電卓」になるといきなり上級コースになっちゃうんですよねぇ。
私も昔「電卓」に取り組んだことがありますが、これを関数電卓にアップグレードしようとして悩みぬいた挙句、挫折した記憶があります。(当時は後置記法なんて、微塵も知らんかったもんなぁ。)
補足コメント
s_h_y

お礼率 91% (11/12)

 お礼が遅くなり申し訳ありません。ありがとうございました。すみません、折角細かく書いて下さっているのに、私の乏しい知識では自分の(本の)コードのどこに入れたら良いのかが分からないのです。入れる場所はどのようにすれば宜しいのでしょうか。
 そして、教えて頂きたいのですが今回はテキストボックスではなく、ラベルで数字を出しているので、説明して下さったテキストの部分をどのように変えれば良いのかが分からないのです。後、ラベルで、数字を12桁以上、表示出来ない様にするには、MaxLengthでやっているのですが、エラーが出てしまいます。どうすれば良いと思われますか。
 お時間がありましたら、ご返答の方宜しくお願います。
投稿日時 - 2001-05-28 16:04:38
お礼コメント
s_h_y

お礼率 91% (11/12)

すみません、間違えて補足のほうに書いてしまいました。細かいアドバイス本当にありがとうございました。
投稿日時 - 2001-06-01 09:48:15
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル9

ベストアンサー率 21% (13/60)

とりあえず、平方根なら「Sqr関数」でできます。 ...続きを読む
とりあえず、平方根なら「Sqr関数」でできます。
お礼コメント
s_h_y

お礼率 91% (11/12)

わかりました。一生懸命頑張ります。有難うございました。
投稿日時 - 2001-05-27 00:21:24


  • 回答No.2
レベル13

ベストアンサー率 26% (511/1924)

メモリ付きの電卓は使ったこと有りますか? とりあえずメモリ用の変数を一つ用意して、 M+:メモリ用の変数に現在の値を加算する M-:メモリ用の変数から現在の値を減算する MR:メモリ用の変数の値を現在の値とする MC:メモリ用の変数をゼロクリアする とりあえずこれだけです。そんなに難しい実装は必要ないと思うんですが・・・ ...続きを読む
メモリ付きの電卓は使ったこと有りますか?
とりあえずメモリ用の変数を一つ用意して、
M+:メモリ用の変数に現在の値を加算する
M-:メモリ用の変数から現在の値を減算する
MR:メモリ用の変数の値を現在の値とする
MC:メモリ用の変数をゼロクリアする
とりあえずこれだけです。そんなに難しい実装は必要ないと思うんですが・・・
お礼コメント
s_h_y

お礼率 91% (11/12)

学校に通っている時、簿記などやっていましたので、電卓機能は分かるのですが、どのようにコードを書けばよいのかが、分からないのです。
でも、shigatsuさんのアドバイスを参考にさせて頂きます。お忙しい中、助言有難うございました。
投稿日時 - 2001-05-27 00:22:22
  • 回答No.3
レベル11

ベストアンサー率 47% (115/244)

メモリー機能はありませんが、参考URL→ダウンロードのソースが参考になると思います。 ...続きを読む
メモリー機能はありませんが、参考URL→ダウンロードのソースが参考になると思います。
お礼コメント
s_h_y

お礼率 91% (11/12)

お礼が遅くなり、申し訳ありませんでした。とても、参考になっています。
ありがとうございました。
投稿日時 - 2001-05-28 15:47:58
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ