Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Соответствие информационных объектов и элементов проекта
В первую очередь программируются процедуры, обрабатывающие событие загрузки диалоговой формы. При загрузке формы должны автоматически заполняться два раскрывающихся списка (ComboBox1 и ComboBox2) – «Пункт назначения» и «Льготы». Нужные данные хранятся на соответствующих рабочих листах проекта. Двойным щелчком мыши по области формы переключиться в окно процедур и выбрать событие Activate. Текст процедуры приведен ниже.
Private Sub UserForm_Activate() Dim i, j As Integer i = 2 Do While Расписание.Cells(i, 1) <> "" ComboBox1.AddItem (Расписание.Cells(i, 1)) i = i + 1 Loop j = 2 Do While Льготы.Cells(j, 1) <> "" ComboBox2.AddItem (Льготы.Cells(j, 1)) j = j + 1 Loop TextBox10.Text = Date TextBox11.Text = Time End Sub Данная процедура просматривает и добавляет в раскрывающиеся списки ComboBox1 и ComboBox2 содержимое заполненных ячеек первых столбцов рабочих листов «Льготы» и «Расписание». Заполнение списков прекращается, как только в очередной строке данные отсутствуют. Поскольку первая строка в таблицах – строка заголовков, заполнение списков начинается со второй строки рабочих листов. В текстовые поля TextBox1 и TextBox2 выводятся текущие дата и время. При написании процедуры следует обратить особое внимание на соответствие имен объектов в процедуре именам, используемым в проекте. В случае выявления их несоответствия рекомендуется сделать следующее. В окне редактора VB выбрать «Вид» (View) – «Окно проекта» (Project). Из списка объектов выбрать нужный рабочий лист и вывести на экран окно свойств «Вид» (View) – «Окно свойств» (Propety)). Затем ввести нужное имя в строке «Name» окна свойств.
Следующий шаг – программирование процедуры события выбора строки из раскрывающегося списка ComboBox_Change. При выборе элемента списка объекта ComboBox в полях TextBox должны появляться данные из связанных с ними столбцов, соответствующие выбранной строке рабочего листа. Поскольку в рассматриваемом примере диалоговое окно располагает двумя объектами ComboBox, то для каждого из них программируется собственная процедура обработки события ComboBoxi_Change. Содержание процедуры, связанной с пунктом назначения приводится ниже.
Private Sub ComboBox1_Change() Dim i As Integer i = ComboBox1.ListIndex + 2 TextBox1.Text = Расписание.Cells (i, 2) TextBox2.Text = Расписание.Cells (i, 3) TextBox3.Text = Расписание.Cells (i, 4) TextBox4.Text = Расписание.Cells (i, 5) TextBox5.Text = Расписание.Cells (i, 6) TextBox5.Text = Расписание.Cells (i, 7 End Sub
При выборе льготы программа должна пересчитать стоимость продаваемого билета и обновить ее в соответствующем текстовом поле. То же самое должно происходить и при изменении пункта назначения. Эти действия инициализирует процедура обработки события ComboBox2_Change путем изменения содержимого поля, хранящего величину скидки:
Private Sub ComboBox2_Change() Dim ji As Integer j = ComboBox2.ListIndex + 2 TextBox7.Text = Льготы. Cells (j, 2) TextBox8.Text = Льготы. Cells (j, 3) TextBox9.Text = Льготы. Cells (j, 4) End Sub
На основании обновленных значений тарифа и льготы процедуры обработки события изменения содержимого соответствующих текстовых полей пересчитывают стоимость билета:
Private Sub TextBox4_Change() TextBox9.Text = Val(TextBox4.Text) – (Val(TextBox8.Text) / 100) * Val_ (TextBox4.Text) End Sub Private Sub TextBox8_Change() TextBox9.Text = Val(TextBox4.Text) – (Val(TextBox8.Text) / 100) * Val(TextBox4.Text) End Sub Командные кнопки должны обеспечивать работу приложения по следующим сценариям: а) отказ от дальнейших действий с сохранением исходного состояния таблиц и бланка билета (кнопка «Отмена»); б) очистка заполняемых полей бланка билета (кнопка «Бланк»); в) генерация продаваемого билета с одновременным пересчетом количества оставшихся свободных мест и изменением номера места для следующего сеанса (кнопка «ОК»). Процедура обработки события нажатия на кнопку «Отмена» имеет вид:
Private Sub CommandButton3_Click()
UserForm1. Hide End Sub
Процедура обработки события нажатия на кнопку «Бланк» выглядит следующим образом:
Private Sub CommandButton2_Click() Билет.Activate Range("c6: c12; a1:a3").Select Selection.Clear UserForm1. Hide End Sub Процедура обработки события CommandButton1_Click выглядит так: Private Sub CommandButton1_Click()
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-06-14; просмотров: 45; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.111.24 (0.009 с.) |