テキストボックスの更新で含まれる文字列は反映させなくするためには

解決


ぎんじ  2004-08-18 00:22:03  No: 115660

こないだはnanasiさんにお世話になりありがとうございます。

今回も質問させてください  初心者の自分を悔やみます。。。

テキストボックスがあり  Command1  Comand2  (実際には50個くらいあるんですが。。。)
があり
コマンド1を押すと  Command1とテキストボックスにはいり  コマンド2を押すと
Command1
Command2
となるためには
text1.text=text1.text & vbcrlf & command2
とかにすればいいですよね?

次にコマンド1を押されたときに
Command1
Command2
command1
となるってしまいますよね

そうではなく  含まれる文字列は反映せずにしたいんです。
何か条件指定等でできるのでしょうか?
Commandボタンを押した回数を別フォームで記憶させていくため
なんですが。。。。
うまく説明できなくて  ごめんなさい

1、テキストボックス内に含まれる文字は反映されない
2、新たな文字列が入ってきた場合は改行でその下に追加する

こんな感じでしょうか・・・

本当にうまく説明できなくてすみません。


ken  2004-08-18 00:35:39  No: 115661

Command1を押した時にテキストボックスに"Command1"ってあったら
追加しないようにするってことですよね?
Like演算子を使えば出来ますよ


とおりすがりのネコ  2004-08-18 00:40:47  No: 115662

数ある方法の1つですが、一度でもボタンをクリックしたフラグを立てておき、
また同じボタンをクリックした時にはフラグが立っているので、TextBoxに
追加しない。...というのが簡単かと思います。
もし、Tagプロパティがまだ未使用だとして、簡単に書くと

Private Sub Command1_Click()
    if Command1.Tag <> "1" then
        text1 = text1 & 追加したい文字列
    
endif
end sub

のような感じでしょうか。
やり直すときは、Command1.Tag = "" のように初期化しておきます。


とおりすがりのネコ  2004-08-18 00:40:49  No: 115663

数ある方法の1つですが、一度でもボタンをクリックしたフラグを立てておき、
また同じボタンをクリックした時にはフラグが立っているので、TextBoxに
追加しない。...というのが簡単かと思います。
もし、Tagプロパティがまだ未使用だとして、簡単に書くと

Private Sub Command1_Click()
    if Command1.Tag <> "1" then
        text1 = text1 & 追加したい文字列
    
endif
end sub

のような感じでしょうか。
やり直すときは、Command1.Tag = "" のように初期化しておきます。


とおりすがりのネコ  2004-08-18 00:43:13  No: 115664

インデントを付けようと、Tabを押しているうちに誤送信されてしまいました。
すみません。

数ある方法の1つですが、一度でもボタンをクリックしたフラグを立てておき、
また同じボタンをクリックした時にはフラグが立っているので、TextBoxに
追加しない。...というのが簡単かと思います。
もし、Tagプロパティがまだ未使用だとして、簡単に書くと

Private Sub Command1_Click()
    if Command1.Tag <> "1" then
        text1 = text1 & 追加したい文字列
        Command1.Tag = "1"
    endif
end sub

のような感じでしょうか。
やり直すときは、Command1.Tag = "" のように初期化しておきます。


ぎんじ  2004-08-18 00:43:22  No: 115665

お二人とも
ありがとうございます  一度ためしてみます。


ぎんじ  2004-08-18 02:50:16  No: 115666

とおりすがりのネコ の方法だと  TEXT1  TEXT2ってあったときに
TEXT2まで入力できなくなってしまいます。(T-T)
でも、このパターンは使えそうなので  何かの機会があればつかわせていただきあmす

KENのLIKE関数ですがMSDNを見たのですが、
文法をどうすればいいのかが分からず  いろいろやってみてますが
分からないです。
教えて君で申し訳ないのですが
教えていただけたらと思います。


ぎんじ  2004-08-18 06:37:33  No: 115667

お二人ともすみませんこぴぺで名前をいれさせていただいたのでさんがぬけてました
本当にすみません。


特攻隊長まるるう  2004-08-18 18:02:26  No: 115668

>とおりすがりのネコさんの方法だと  TEXT1  TEXT2ってあったときに
>TEXT2まで入力できなくなってしまいます。(T-T)
テキストボックスの数だけフラグを増やせばよろしい。
Tag に覚える情報を編集するだけでできます。

>KENさんのLIKE関数ですがMSDNを見たのですが、
>文法をどうすればいいのかが分からず  いろいろやってみてますが
>分からないです。
使用例が載ってると思いますが…そのままじゃないんですか?

[VB6.0]ヘルプより抜粋
Dim MyCheck
MyCheck = "aBBBa" Like "a*a"      ' True を返します。
MyCheck = "F" Like "[A-Z]"      ' True を返します。
MyCheck = "F" Like "[!A-Z]"      ' False を返します。
MyCheck = "a2a" Like "a#a"      ' True を返します。
MyCheck = "aM5b" Like "a[L-P]#[!c-e]"   ' True を返します。
MyCheck = "BAT123khg" Like "B?T*"   ' True を返します。
MyCheck = "CAT123khg" Like "B?T*"   ' False を返します。

MyCheck = "Command1" Like "*Command1*"   ' True を返します。


ぎんじ  2004-08-18 23:48:00  No: 115669

特攻隊長まるるうさん  ありがとうございます

like演算子の勉強がてら使ってみたいと思ってますが、
上記はいずれも文字列の検索ですよね?

Command1のCaptionとテキストボックスの比較はできるのでしょうか?
IF TEXT1.TEXT LIKE COMMAND1.CAPTION THEN

では  当然  空白なときは空白として判定されますよね
なぜ、Command1.Captionかというとそこのキャップションを他から変えることをしているからなのです。


ginnji  2004-08-19 02:30:20  No: 115670

if text1.text like "*"&command&"*" then

にすることによってできました
ありがとうございました。


ぎんじ  2004-08-19 02:30:47  No: 115671

解決をつけるのを忘れました。
ごめんなさい。


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

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






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