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

解決


ぎんじ  2004-08-17 15:22:03  No: 115660  IP: [192.*.*.*]

こないだは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-17 15:35:39  No: 115661  IP: [192.*.*.*]

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

編集 削除
とおりすがりのネコ  2004-08-17 15:40:47  No: 115662  IP: [192.*.*.*]

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

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

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

編集 削除
とおりすがりのネコ  2004-08-17 15:40:49  No: 115663  IP: [192.*.*.*]

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

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

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

編集 削除
とおりすがりのネコ  2004-08-17 15:43:13  No: 115664  IP: [192.*.*.*]

インデントを付けようと、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-17 15:43:22  No: 115665  IP: [192.*.*.*]

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

編集 削除
ぎんじ  2004-08-17 17:50:16  No: 115666  IP: [192.*.*.*]

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

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

編集 削除
ぎんじ  2004-08-17 21:37:33  No: 115667  IP: [192.*.*.*]

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

編集 削除
特攻隊長まるるう  2004-08-18 09:02:26  No: 115668  IP: [192.*.*.*]

>とおりすがりのネコさんの方法だと  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 14:48:00  No: 115669  IP: [192.*.*.*]

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

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

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

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

編集 削除
ginnji  2004-08-18 17:30:20  No: 115670  IP: [192.*.*.*]

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

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

編集 削除
ぎんじ  2004-08-18 17:30:47  No: 115671  IP: [192.*.*.*]

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

編集 削除