VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2004/10/26(Tue) 06:44
投稿者Say
Eメール
URL
タイトルRe^5: ComboBoxについて

> Dictionary を調べてみたのですが、例をみると配列で使えるような
> ことがかかれているのですが、値をはいれつとして使えるのですか。

Perlには関連配列(連想配列、ハッシュ)というものがあり、
VBのDictionaryは、これに似ているということです。
Perlユーザなら、この説明でDictionaryがわかります。

実際は、配列というよりCollectionなのですが、
「要素番号のかわりにKey文字列でデータをひっぱる配列」と
とらえるとわかりやすいでしょう。

そういえば、ヘルプには例が少ないので、サンプルをひとつ・・・。
ひところパソ通ではやった「人口無能」です。

FormにTextBox2つ、CommandButton1つ貼って、以下のコードを
貼り付けてください。

遊び方は、「Text1に単語をいれてボタンを押す。」の繰り返しです。
ファイル保存するようにして、うまく単語をおぼえさせれば、
次第に成長して、それなりに話し相手になってくれます。

Option Explicit
Private Enum eFLG
    eOFF = 0
    eON
End Enum
Dim dic As Object
Dim meFlg As eFLG
Dim msBuf As String
Private Sub Command1_Click()
    If Trim(Text1.Text) = "" Then Exit Sub
    If meFlg = eFLG.eOFF Then
        If dic.Exists(Text1.Text) Then
            Text2.Text = dic(Text1.Text)
        Else
            meFlg = eFLG.eON
            Text2.Text = "「" & Text1.Text & "」ってなあに?"
            msBuf = Text1.Text
            Text1.Text = ""
        End If
    Else
        meFlg = eFLG.eOFF
        Text2.Text = "「" & Text1.Text & "」ね? わかった!"
        dic(msBuf) = Text1.Text
        
    End If
End Sub

Private Sub Form_Load()
    Text1.Text = ""
    Text2.Text = ""
    Set dic = CreateObject("Scripting.Dictionary")
    meFlg = eFLG.eOFF
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -