tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルNew Collectionについて
記事No11600
投稿日: 2008/03/01(Sat) 23:34
投稿者のんた
こんにちわ。
New Collectionについて質問があります。

Dim col As New Collection

col.Add "a"
col.Add "b"
col.Add "c"

col.Item(2) = "x" (あるいは col(2)="x")

colの2番目の要素を "b" から "x" に置き換えたいのですが、これではうまくいきません。
ListBoxコントロールの Listプロパティに相当する機能はないのでしょうか?
よろしくお願いいたします。

[ツリー表示へ]
タイトルRe: New Collectionについて
記事No11620
投稿日: 2008/03/03(Mon) 20:22
投稿者魔界の仮面弁士
> ListBoxコントロールの Listプロパティに相当する機能はないのでしょうか?

Add による「挿入」と、Remove での「削除」を行う事になるかと思います。

[ツリー表示へ]
タイトルRe^2: New Collectionについて
記事No11622
投稿日: 2008/03/03(Mon) 23:17
投稿者のんた
> > ListBoxコントロールの Listプロパティに相当する機能はないのでしょうか?
>
> Add による「挿入」と、Remove での「削除」を行う事になるかと思います。

レスありがとうございます。
Addによる挿入は可能ですか?
上の例で言えば、他の要素はそのままにして、2番目の要素だけを置き換えたいのですが、
可能でしょうか?何度もすみません。

[ツリー表示へ]
タイトルRe^3: New Collectionについて
記事No11623
投稿日: 2008/03/04(Tue) 00:05
投稿者花ちゃん
> 上の例で言えば、他の要素はそのままにして、2番目の要素だけを置き換えたいのですが、
> 可能でしょうか?何度もすみません。

Private Sub Command1_Click()
   Dim col As New Collection
   col.Add "a"
   col.Add "b"
   col.Add "c"
  
   col.Remove 2
   col.Add "X", Before:=2
   Debug.Print col.Item(1), col.Item(2), col.Item(3)
End Sub

[ツリー表示へ]
タイトルRe^4: New Collectionについて
記事No11625
投稿日: 2008/03/04(Tue) 02:11
投稿者のんた
> > 上の例で言えば、他の要素はそのままにして、2番目の要素だけを置き換えたいのですが、
> > 可能でしょうか?何度もすみません。
>
> Private Sub Command1_Click()
>    Dim col As New Collection
>    col.Add "a"
>    col.Add "b"
>    col.Add "c"
>    
>    col.Remove 2
>    col.Add "X", Before:=2
>    Debug.Print col.Item(1), col.Item(2), col.Item(3)
> End Sub

ありがとうございました。
>    col.Add "X", Before:=2
こうやればよかったのですね!
ありがとうございます。

[ツリー表示へ]
タイトルRe^5: New Collectionについて
記事No11626
投稿日: 2008/03/04(Tue) 07:36
投稿者花ちゃん
勘違いしないように、下記も試して見て下さい。

Private Sub Command1_Click()
   Dim col As New Collection
   col.Add "a"
   col.Add Text1
   col.Add "c"
  
   col.Item(2) = "X"
   Debug.Print col.Item(1), col.Item(2), col.Item(3)
   col.Item(2) = Text2
   Debug.Print col.Item(1), col.Item(2), col.Item(3)
   col.Item(2).Text = "1234"
   Debug.Print col.Item(2), Text1.Text, Text2.Text
End Sub

[ツリー表示へ]