Приведение строки к определенному типу - Visual Basic .NET
Формулировка задачи:
В четвертой процедуре в коментариях задан вопрос. Прошу помочь разобраться.
Листинг программы
- Public Class Dice
- Dim res(3) As Integer
- Dim p1, p2, pt1, pt2 As Integer
- Private Sub Dice_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Randomize()
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- compArray()
- drawPic()
- Proverka()
- Winner()
- totalCount()
- End Sub
- Private Function Chance() 'Рандомчик 1-6
- Dim u, l As Integer
- Dim rV As Double
- u = 6
- l = 1
- rV = CInt(Math.Floor((u - l + 1) * Rnd())) + l
- Return rV
- End Function
- Private Sub compArray() 'Генерация массива
- For i = 0 To 3
- res(i) = Chance()
- Next
- End Sub
- Private Sub drawPic() 'Отрисовка картинок, в зависимости результата генерации массива
- 'For i = 1 To 4 ]Собственно, почему не работает ? Постоянно расписывать для каждого элемента...
- 'PictureBox(i).Image = My.Resources.D(i-1) ]А если кубиков будет 12, 24....
- 'Next ]Подскажите, как привести строку к нужному типу, или какой метод есть в VB, чтобы
- 'PictureBox1.Image = My.Resources.D + res(0).ToString ]обрабатывать именно такие условия. И по возможности, объяснить в 2-3 словах.
- 'PictureBox1.Image = My.Resources.D1 ]Также ниже есть Private Sub Button2_Click - Label1.Text = 0; Label1.Visible = True
- 'PictureBox1.Image = CType(("My.Resources.D" + res(0).ToString), System.Drawing.Bitmap) ]
- PictureBox1.ImageLocation = Application.StartupPath & "\Resources\D" + res(0).ToString + ".jpg"
- PictureBox2.ImageLocation = Application.StartupPath & "\Resources\D" + res(1).ToString + ".jpg"
- PictureBox3.ImageLocation = Application.StartupPath & "\Resources\D" + res(2).ToString + ".jpg"
- PictureBox4.ImageLocation = Application.StartupPath & "\Resources\D" + res(3).ToString + ".jpg"
- End Sub
- Private Sub Winner() 'Определение победителя
- Dim a, b As Integer
- a = (res(0) + res(1))
- b = (res(2) + res(3))
- If a > b Then
- ListBox1.Items.Add("Победил первый игрок: " + a.ToString + "/" + b.ToString)
- p1 = 1
- p2 = 0
- ElseIf a = b Then
- ListBox1.Items.Add("Ничья: " + a.ToString + "/" + b.ToString)
- p1 = 0
- p2 = 0
- ElseIf a < b Then
- ListBox1.Items.Add("Победил второй игрок: " + a.ToString + "/" + b.ToString)
- p1 = 0
- p2 = 1
- End If
- End Sub
- Private Sub totalCount() 'Счетчик
- pt1 = pt1 + p1
- pt2 = pt2 + p2
- LabelP1.Text = pt1
- LabelP2.Text = pt2
- End Sub
- Private Sub Proverka() 'Кнопка с цифрами к картинкам
- Label1.Text = res(0)
- Label2.Text = res(1)
- Label3.Text = res(2)
- Label4.Text = res(3)
- Label5.Text = res(0) + res(1)
- Label6.Text = res(2) + res(3)
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Кнопка сброса
- pt1 = 0
- pt2 = 0
- LabelP1.Text = pt1
- LabelP2.Text = pt2
- Label1.Text = 0
- Label2.Text = 0
- Label3.Text = 0
- Label4.Text = 0
- Label5.Text = 0
- Label6.Text = 0
- PictureBox1.ImageLocation = Application.StartupPath & "\Resources\D7.jpg"
- PictureBox2.ImageLocation = Application.StartupPath & "\Resources\D7.jpg"
- PictureBox3.ImageLocation = Application.StartupPath & "\Resources\D7.jpg"
- PictureBox4.ImageLocation = Application.StartupPath & "\Resources\D7.jpg"
- ListBox1.Items.Clear()
- End Sub
- Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
- If CheckBox1.Checked = True Then
- Label1.Visible = True
- Label2.Visible = True
- Label3.Visible = True
- Label4.Visible = True
- Label5.Visible = True
- Label6.Visible = True
- 'Button3.Visible = True
- Else
- Label1.Visible = False
- Label2.Visible = False
- Label3.Visible = False
- Label4.Visible = False
- Label5.Visible = False
- Label6.Visible = False
- 'Button3.Visible = False
- End If
- End Sub
- Public p As New Object
- Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Кнопка проверки
- Dim i As Integer = 1
- p = CType("PictureBox" + i.ToString + ".ImageLocation", Object)
- MsgBox(p)
- p = Application.StartupPath & "\Resources\D7.jpg"
- MsgBox(p)
- 'MsgBox(PictureBox1.ImageLocation)
- End Sub
- End Class
Решение задачи: «Приведение строки к определенному типу»
textual
Листинг программы
- s.Image = My.Resources.ResourceManager.GetObject("D" & M-1)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д