投稿日 | : 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