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

Тема в разделе "Visual Basic", создана пользователем IvendsI, 21 фев 2014.

Статус темы:
Закрыта.
  1. IvendsI

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
    помогите решить проблему в коде суть поставленной задачи: При выборе в поле со списком наименования блюда, происходит изменение рисунка в элементе 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
     
  2. IvendsI

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
    подскажите что в этой коде не так? уже всю голову сломал! :please: :mellow:
     
  3. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Проблема-то в чем?
     
  4. IvendsI

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
    что кампонет уже используется!а рпи запуске в списке нет времен года

    Добавлено:
    что кампонет уже используется!а при запуске в списке нет времен года и нет описания к ним
    просто новерное ког не правельно прописан или сам массив
     
  5. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    1. Приаттачьте исходники.
    2. Внятно напишите, что не работает.
     
  6. IvendsI

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
    залил вот сылка
    http://zalil.ru/34985064
    не могу понять по чему она не работает проще будет так написать.
    посматрите и подскажите что в ней не так. заранее спасибо
     
  7. alex77755

    alex77755 Well-Known Member

    Регистрация:
    15 фев 2009
    Сообщения:
    128
    Симпатии:
    0
    Тебе разве бейсик не кричит и не показывает ошибку?!

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

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

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

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
    Season это ComboBox
    подскажите как сделать правельно
     
  9. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Из приаттаченного:
    Код (Text):
    Public CmbSeason(1 To 4) As String
    а потом ниже:
    Код (Text):
    CmbSeason(1) = "весна"
    CmbSeason(2) = "лето"
    CmbSeason(3) = "осень"
    CmbSeason(4) = "зима"
    ...
    For j = 1 To 4
    CmbSeason.AddItem (Season(j))
    Next j
    Сильно подозреваю, что первое объявление надо заменить на:
    Код (Text):
    Public Season(1 To 4) As String
    Ну и заполнение массива превратить в:
    Код (Text):
    Season(1) = "весна"
    Season(2) = "лето"
    Season(3) = "осень"
    Season(4) = "зима"
    ...
    For j = 1 To 4
    CmbSeason.AddItem (Season(j))
    Next j
    И да, присоединяюсь к alex77755: VB никаких ошибко не пишет при попытке этот код выполнить?
     
  10. alex77755

    alex77755 Well-Known Member

    Регистрация:
    15 фев 2009
    Сообщения:
    128
    Симпатии:
    0
    В массиве не бывает списка!
    Надо же быть внимательней!
    Читай внимательно что пишешь!

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

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
    нам как дали образец так и делал я в массивах ни чего не понимаю а ошибку выдает при запуске
     
  12. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    И каков же текст ошибки?
     
  13. IvendsI

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
    Member already exists in an object module from which from which this object module derives
    Вот что выдает.
    и выделяет строку : CmbSeason(1 To 4) As String
     
  14. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
     
  15. IvendsI

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
    Все равно тоже самое ,а что по менять в массиве то надо? вроди там все нормально.
     
  16. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Полный код исправленного проекта приаттачьте.
     
  17. alex77755

    alex77755 Well-Known Member

    Регистрация:
    15 фев 2009
    Сообщения:
    128
    Симпатии:
    0
    Неужели не можешь понять (или внимательно прочитать методичку?!)
    CmbSeason - это контрол! комбобокс! и он находится на форме и его не надо объявлять!
    А Dim Season(1 To 4) As String ' это массив. Он в памяти!
     
  18. IvendsI

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
    подскажи как сделать я не могу понять как написать эту программу
     
  19. alex77755

    alex77755 Well-Known Member

    Регистрация:
    15 фев 2009
    Сообщения:
    128
    Симпатии:
    0
    Запакуй проект и выложи сюда.
    Объяснять на пальцах бесполезно.
    На ошибки тебе уже указали
     
  20. IvendsI

    IvendsI Member

    Регистрация:
    21 фев 2014
    Сообщения:
    11
    Симпатии:
    0
     

    Вложения:

Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей