Разработка Программы

  • Автор темы IvendsI
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

IvendsI

помогите решить проблему в коде суть поставленной задачи: При выборе в поле со списком наименования блюда, происходит изменение рисунка в элементе Image и в текстовом поле TextBox(Season) выводится текст с описанием этого блюда. Элемент поле со списком заполняется значениями программно с помощью массива. Вот код что не так внем?

Public Season(1 To 4) As Integer
Public Pictures(1 To 4) As String
Public Text(1 To 4) As String
Public i As Integer

Private Sub CmbSeason_Change()
k = Season.ListIndex + 1
Image1.Picture = LoadPicture("D:\Картинки\" + Pictures(k))
TextBox1.Value (Text(k))
End Sub


Private Sub UserForm_Initialize()
'= = Заполнения массива Season
Season(1) = "1"
Season(2) = "2"
Season(3) = "3"
Season(4) = "4"
'= = заполнения массива Pictures
Pictures(1) = "1.jpg"
Pictures(2) = "2.jpg"
Pictures(3) = "3.jpg"
Pictures(4) = "4.jpg"
'= = = заполнения массива Text
Text(1) = "1"
Text(2) = "2"
Text(3) = "3"
Text(4) = "4"
For j = 1 To 4
Season.AddItem (Season(j))
Next j
End Sub
 
I

IvendsI

подскажите что в этой коде не так? уже всю голову сломал! :please: :mellow:
 
I

IvendsI

что кампонет уже используется!а рпи запуске в списке нет времен года

Добавлено:
Проблема-то в чем?
что кампонет уже используется!а при запуске в списке нет времен года и нет описания к ним
просто новерное ког не правельно прописан или сам массив
 
L

LuMee

1. Приаттачьте исходники.
2. Внятно напишите, что не работает.
 
I

IvendsI

1. Приаттачьте исходники.
2. Внятно напишите, что не работает.
залил вот сылка

не могу понять по чему она не работает проще будет так написать.
посматрите и подскажите что в ней не так. заранее спасибо
 
A

alex77755

Тебе разве бейсик не кричит и не показывает ошибку?!

что такое у тебя Season?

Dim Season(1 To 4) As Integer вроде массив!

Season.AddItem (Season(j)) и комбобокс с таким же именем?!
 
I

IvendsI

Тебе разве бейсик не кричит и не показывает ошибку?!

что такое у тебя Season?

Dim Season(1 To 4) As Integer вроде массив!

Season.AddItem (Season(j)) и комбобокс с таким же именем?!
Season это ComboBox
подскажите как сделать правельно
 
L

LuMee

Из приаттаченного:
Код:
Public CmbSeason(1 To 4) As String
а потом ниже:
Код:
CmbSeason(1) = "весна"
CmbSeason(2) = "лето"
CmbSeason(3) = "осень"
CmbSeason(4) = "зима"
...
For j = 1 To 4
CmbSeason.AddItem (Season(j))
Next j

Сильно подозреваю, что первое объявление надо заменить на:
Код:
Public Season(1 To 4) As String
Ну и заполнение массива превратить в:
Код:
Season(1) = "весна"
Season(2) = "лето"
Season(3) = "осень"
Season(4) = "зима"
...
For j = 1 To 4
CmbSeason.AddItem (Season(j))
Next j

И да, присоединяюсь к alex77755: VB никаких ошибко не пишет при попытке этот код выполнить?
 
A

alex77755

В массиве не бывает списка!
Надо же быть внимательней!
Читай внимательно что пишешь!

Private Sub CmbSeason_Change() ' при изменении значения в комбооксе
k = Season.ListIndex + 1' ищешь список в массиве
 
I

IvendsI

В массиве не бывает списка!
Надо же быть внимательней!
Читай внимательно что пишешь!

Private Sub CmbSeason_Change() ' при изменении значения в комбооксе
k = Season.ListIndex + 1' ищешь список в массиве
нам как дали образец так и делал я в массивах ни чего не понимаю а ошибку выдает при запуске
 
L

LuMee

Сильно подозреваю, что первое объявление надо заменить на:
Код:
Public Season(1 To 4) As String
Ну и заполнение массива превратить в:
Код:
Season(1) = "весна"
Season(2) = "лето"
Season(3) = "осень"
Season(4) = "зима"
...
For j = 1 To 4
CmbSeason.AddItem (Season(j))
Next j
 
I

IvendsI

Все равно тоже самое ,а что по менять в массиве то надо? вроди там все нормально.
 
A

alex77755

Member already exists in an object module from which from which this object module derives
Вот что выдает.
и выделяет строку : CmbSeason(1 To 4) As String
Неужели не можешь понять (или внимательно прочитать методичку?!)
CmbSeason - это контрол! комбобокс! и он находится на форме и его не надо объявлять!
А Dim Season(1 To 4) As String ' это массив. Он в памяти!
 
I

IvendsI

Неужели не можешь понять (или внимательно прочитать методичку?!)
CmbSeason - это контрол! комбобокс! и он находится на форме и его не надо объявлять!
А Dim Season(1 To 4) As String ' это массив. Он в памяти!
подскажи как сделать я не могу понять как написать эту программу
 
A

alex77755

Запакуй проект и выложи сюда.
Объяснять на пальцах бесполезно.
На ошибки тебе уже указали
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!