どうしたらコマンドボタンを押す度、文字を『追加表示』出来るようになるのでしょうか?

解決


かもめの栄養学  2005-02-16 21:31:18  No: 119678

①文字を入力できるテキストボックスを作り、
②コマンドボタンを作り『表示』と名づける。

この表示ボタンをクリックした時、FrameもしくはTextBox内に、テキストボックスに入力した文字を表示させたいのですが。

表示ボタンをクリックし実行させる度に、前の分を消さずに、文字が追加されていくようにするにはどうしたらよいのでしょうか?

コーディングアイデアとしては以下のようなものだと思うのですが・・
MOJI = MOJI + txtNewMoji

コマンドボタンを押すたびに、昔の文が消えてしまい、表示が一回毎に、一回分しかされません。

どうしたらコマンドボタンを押す度、文字を『追加表示』出来るようになるのでしょうか?

どうかどうか、教えてください!!


LESIA  2005-02-16 21:53:30  No: 119679

アイデアは、それでいいと思いますよ。
ただ、文字列の連結は"+"より"&"の方が良いです。
Text1に入力したものを、Text2に追加するなら
Text2.Text = Text2.Text & Text1.Text
ですね。

変数ヲ使う場合は、
Private Sub Command1_Click()
    Dim MOJI As String
    
    MOJI = MOJI & Text2.Text
    Text1.Text = MOJI
End Sub
のようにすると、コマンドボタンをクリックするたびに、変数MOJIが初期化される
ので、前のは残りません。

Private MOJI As String

Private Sub Command1_Click()
    MOJI = MOJI & Text2.Text
    Text1.Text = MOJI
End Sub
のように、モジュールレベルで宣言すれば、前の内容がのこるようになります。


かもめの栄養学  2005-02-17 01:42:31  No: 119680

LESIAさん早速のお応えありがとうございます!
出来ちゃいました♪
完成品見て改めて思いますがArreyとかポインターとか全く使われてません。
全く持って初心者ですね。

今回、悩んだ点は:
①  文字追加表示の仕方(モジュールレベルってのがあったのですね☆)
②  小数点の桁の指定  (FormatNumber〜って定義があったのですね☆)
③  改行の定義は  "vbCrLf"
でした☆

私のVB、初作品となりましたので、超初心者向けにとっても分かりやすい、シンプルなコードばかりでお恥ずかしいようですが、公開しちゃいます♪
誰かの役に少しでも立てると嬉しいです☆

+++++++++++++++++++++++++++++++++++++
Source Code公開!
+++++++++++++++++++++++++++++++++++++
Option Explicit

Private strMOJI As String
Private dblMin As Double
Private dblUnits As Double
Private dblAccumulatedUnits As Double

Private Sub cmdCancel_Click()
End
End Sub

Private Sub cmdOK_Click()

'=======================================
'Min Section
'=======================================

dblMin = Val(txtMin.Text)
'↑小数点の桁を指定する定義『FormatNumber』を使う時、これはデフォルトで'元から数字に定義されている為、
'だから↓こんな風にLONGとかの変数値に入れちゃ意味ない!
'lngUnits = FormatNumber((lngMin / 60), 2)
dblUnits = (dblMin / 60)
dblAccumulatedUnits = dblAccumulatedUnits + dblUnits

'=======================================
'Contents Section
'=======================================
strMOJI = strMOJI & vbCrLf & txtMoji.Text & vbCrLf & ">>> Min: " & FormatNumber((dblMin), 2) & "  Units: " & FormatNumber((dblMin / 60), 2) & vbCrLf & "*------------------------*" & vbCrLf

'=======================================
'Output
'=======================================

txtOutput.Text = "===============================" & vbCrLf & txtJCInumber.Text & vbCrLf & "===============================" & vbCrLf & strMOJI & bCrLf & "TOTAL UNITS:  " & FormatNumber((dblAccumulatedUnits), 2)

End Sub


かもめの栄養学  2005-02-17 01:43:04  No: 119681

ありがとうございました!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加