2012-01-29 24 views
1

VB6で簡単な電卓を作成しています。ここでVB6で文字を一度だけ表示させる

は、私が働いている私のコードです:

textScreen.Text = textScreen.Text & "+" 

私は にプラス記号ボタン数回クリックすることで、その後いくつかの数字ボタン、押したときにここでの結果です:

75+++++++ 

プラスは、をクリックしても表示されますそのボタンを何度:

92+ 

...と私は再びいくつか数字ボタンをクリックすると、プラス記号ボタンに をクリックすることで、その後、私は希望プラス示すことに署名アップ再び:

58+4+ 

これは何とかWindows 7の

答えて

3

まあ、THER上のデフォルトの電卓に似ていますeはこれに対する異なるアプローチです。しかし、一般的には、文字列を連結するだけではありません。この方法では、要求された用語を解決するだけでなく、後で文字列を解析する必要があります。代わりに、あなたの操作/数字を使ってスタックを作成してみてください。 Web上で電卓の例を見てください。あなたは簡単な操作に電卓を制限したい場合は


とにかく、このために、あなたが何らかの形で(例えば入力数字や演算子を私がやった?)

最後の操作を保存する必要があります

If Not lastOp Then 
    textScreen.Text = textScreen.Text & "+" 
    lastOp = true 
End If 
+(または任意の他のオペレータ)を追加する前に、次に

Dim lastOp As Boolean 

:ブラケットなどせずに、あなたは、このためのブール値を使用することができます

任意の数字(例)を追加:

lastOp = false 
textScreen.Text = textScreen.Text & "0" 

(私は8のような年間のVB6に触れていないと思いますが、100%エラーのないコードを当てにしないでください。)

+0

これは私が探しているものです。あなたは私のヒーローです!どうもありがとうございます!あなたのためにも+1。 – vurquee

1

あなたは強大テキストの最後の文字が「+」であるかどうかを確認してください:

If Mid(textScreen.Text, Len(textScreen.Text), 1) <> "+" Then 
    textScreen.Text = textScreen.Text & "+" 
    End If 
+0

+1 **ミッド**と**レン**機能。ありがとう。 – vurquee

関連する問題