これが私のコードです(すべてがフォームのクラス全体で使用するために事前に宣言されています):
Private Sub Pokedex_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
IntPokemonCounter = 0
Dim fileReader As System.IO.StreamReader
fileReader = My.Computer.FileSystem.OpenTextFileReader("TotalPokemonNames.txt")
While (IntPokemonCounter < 51)
PokémonName(IntPokemonCounter) = fileReader.ReadLine()
listPokemon.Items.Add(PokémonName(IntPokemonCounter))
ComboBox1.Items.Add(PokémonNumber(IntPokemonCounter) + "" + PokémonName(IntPokemonCounter))
'MsgBox("The " & IntPokemonCounter + 1 & "th pokemon is " & PokémonName(IntPokemonCounter))
IntPokemonCounter += 1
End While
IntPokemonCounter = 0
While (IntPokemonCounter < 51)
PokémonNumber(IntPokemonCounter) = IntPokemonCounter + 1
If PokémonNumber.Length = 1 Then
PokémonNumber(IntPokemonCounter) = "00" + (IntPokemonCounter + 1)
ElseIf PokémonNumber.Length = 2 Then
PokémonNumber(IntPokemonCounter) = "0" + (IntPokemonCounter + 1)
End If
IntPokemonCounter += 1
End While
IntPokemonCounter = 0
While (IntPokemonCounter < 51)
PokemonPics(IntPokemonCounter < 51) = My.Resources.(PokémonName(IntPokemonCounter) &".png")
listPokemon.Items.Add(PokémonNumber(IntPokemonCounter) + PokémonName(IntPokemonCounter))
'MsgBox("The " & IntPokemonCounter + 1 & "th pokemon is " & PokémonName(IntPokemonCounter))
IntPokemonCounter += 1
End While
End Sub
私が抱えている問題は、.txt ファイルから読み込まれた名前から画像を選択できないことです。写真はリソースに読み込まれ、ポケモンごとに 151 の if ステートメントを作成したくありません。これは主にビッグデータに基づいています。このように配置すると、この行で使用されている変数を受け入れる代わりに、「識別子が必要です」と表示されます
PokemonPics(IntPokemonCounter < 51) = My.Resources.(PokémonName(IntPokemonCounter) &".png")
もともと私は画像を画像ボックスに直接ロードするつもりでしたが、配列が問題を解決することを望んでいましたが、そうではありませんでした。これは私の最終プロジェクト用です。Visual Basic 2008 Express Edition でポケモン 赤を再作成しています。提供されたヘルプに感謝します。