Студопедия — Практическая работа 36. Генерация текста
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Практическая работа 36. Генерация текста






Ниже описано назначение элементов управления (рис. 5.5), используемых в примере:

· ListBox содержит список партий начала прошлого столетия (большевики, анархисты:), рис. 5.5 центр, слева,

· массив из трeх элементов CheckBox предназначен для выбора одновременно возможных характеристик членов партий (например: растерянные, шумные:), здесь - определение1, см. рис. 5.5центр,

· массив их двух элементов OptionButton предназначен для выбора взаимоисключающих характеристик (например: респектабельные, оборванные), здесь - определение2, см. рис. 5.5 центр, справа,

· соответственно вышеописанному используются 2 объекта Frame со свойствами Caption: определение1, определение2, см. рис. 5.5 центр и центр справа,

Рис. 5.5. Генерация текста; вид формы

· текстовое поле внизу служит для вывода сформированной фразы,

· элемент управления HscrollBar - это элемент установки дискретных значений заданного диапазона (свойства Max, Min, Value устанавливают границы области значений и текущее значение; свойство LargeChange определяет шаг изменения данных при перемещении в выбранном диапазоне). На рис. 5.5 элемент управления HscrollBar находится вверху слева. Событие Changeпроисходит при изменении положения ползунка на линейке прокрутки, событие Scroll генерируется при непрерывном перемещении ползунка,

· элемент управления Label1 служит для вывода числа присутствующих на митинге, собрании (данные элемента управленияHscrollBar), см. рис. 5.5 слева, ниже элемента управления HscrollBar,

· элемент управления ComboBox содержит список мест проведения митингов, партийных собраний (на Красной площади, на улицах,:), см. рис. 5.5 справа,

· несколько полей меток в верхней части формы и одна внизу над текстовым полем используются для надписей.

табл. 5.4 содержит список используемых элементов управления и значений некоторых свойств.

Таблица 5.4. Генерация текста; элементы управления и значения свойств
Элемент управления Значение свойства
TextBox Name=txt1
  Multiline=Тrue
ListBox Name=lstPartei
ComboBox Name=cboOrt
  Style=2 - DrogDownList
Frame Name=Attr1
  Caption=определение1
CheckBox(0) Name=chkAttribut
  Caption=растерянных
  Index=0
CheckBox(1) Name=chkAttribut
  Index=
  Caption=шумных
CheckBox(2) Name=chkAttribut
  Index=2
  Caption=озабоченных
Frame Name=Attr2
  Caption= определение2
OptionButton(0) Name=optAussehen
х Caption=респектабельны
  Index=0
OptionButton(1) Name=optAussehen
  Сaption=оборванных
  Index=1
Label Name=lbl1
HScrollBar Name=hsbMenge
  Max=100
  Min=0
  Value=100
  LadgeChange=10

При выполнении процедуры Form_Load (), см. код ниже, создаeтся список (lstPartei - список названий партий) ListBox и список (мест проведения митингов, партсобраний) ComboBox (Name = cboOrt), см. две инструкции With: End With. Соответствие подлежащее - сказуемое обеспечивается соответствием нумерации элементов списков strVerb() и lstPartei(). Маркированные на экране после старта проекта элементы списков определяются заданием значений свойства ListIndex. Процедура Private Sub ausgeben () формирует текст (strausgabe) с использованием параметров набора управляющих элементов. Определениями в предложении могут быть одно, два или три значения свойства Caption элементов массива объектов CheckBox (i) (см. цикл For i = 0 To 2:); возможность обработки в цикле обеспечена наличием массива объектов. Далее в процедуре Private Sub ausgeben () проводится анализ состояния переключателей optAussehen(), что позволяет сделать выбор следующего (уже из группы взаимоисключающих) определения в искомом предложении. При конструировании искомого предложения (strausgabe) используются элементы списков ListBox (lstPartei - список имеющихся партий) и ComboBox (cboOrt - место проведения митингов, партсобраний). Для вывода на экран сказуемого используется конструкция (lstPartei.ListIndex), см. конец процедуры Private Sub ausgeben (), возвращающая номер выбранного элемента.

Следующие процедуры служат для:

· Private Sub cboOrt_Click() - задания места проведения митинга, партсобрания,

· Private Sub chkattribut_Click(index As Integer) - выбора одновременно возможных определений;

· Private Sub hsbMenge_Change() - задания количества присутствующих на митинге, собрании,

· Private Sub hsbMenge_scroll() - задания количества присутствующих;

· Private Sub lstPartei_Click() - выбора партии из списка имеющихся;

· Private Sub optAussehen_Click(index As Integer) - выбора взаимоисключающих определений.

Во всех случаях вызывается процедура Private Sub ausgeben (), что позволяет при выборе пользователем значений параметров элементов управления/элементов списков конструировать предложение. Учeт особенностей построения предложения в английском, немецком, русском и т.д. языках может быть реализован в данном примере при конструировании строки strausgabe.

Последовательность действий:

· создать на форме необходимые элементы управления,

· задать значения их свойств,

· ввести код, данный ниже, стартовать проект,

· сделать выбор партии в списках партий,

· задать число присутствующих (элемент управления HscrollBar),

· выбрать определения в полях определение1 и определение2,

· выбрать место проведения митинга, собрания (список ComboBox),

· наблюдать результат, рис. 5.5

(General) (Declarations) Dim strausgabe As String, strattribut As String, i As Integer' описание массива сказуемых с дополнениямиDim strVerb(6) As String Private Sub Form_Load()With lstPartei.AddItem ("большевиков").AddItem ("меньшевиков").AddItem ("эсеров").AddItem ("бундовцев").AddItem ("кадетов").AddItem ("анархистов").ListIndex = 0End WithWith cboOrt.AddItem ("на Красной площади").AddItem ("на улицах").AddItem ("в подъездах").AddItem ("в пивной").AddItem ("в переулках").ListIndex = 0End WithstrVerb(0) = "выкрикивают "Да здравствует Коммунизм!!""strVerb(1) = "порицают большевиков"strVerb(2) = "произносят пламенные речи"strVerb(3) ="поносят всех"strVerb(4) = "кричат "Ура!!"strVerb(5) = "кричат: "Анархия - мать порядка!!"lbl1.Caption = "Присутствовало: " & Str(hsbMenge.Value)End SubPrivate Sub ausgeben()strattribut = ""For i = 0 To 2If chkattribut(i).Value = 1 ThenIf strattribut = " Thenstrattribut = chkattribut(i).CaptionElsestrattribut = strattribut &", " & chkattribut(i).CaptionEnd IfEnd IfNext iIf optAussehen(0).Value ThenIf strattribut = "" Thenstrattribut = "респектабельных"Elsestrattribut = strattribut & ", " &"респектабельных"End IfElseIf strattribut = " Thenstrattribut = "оборванных"Elsestrattribut = strattribut & ", " & "оборванных"End IfEnd Ifstrausgabe = Str(hsbMenge.Value) & " "strausgabe = strausgabe & strattribut & " "strausgabe = strausgabe & lstPartei.List(lstPartei.ListIndex) & " "strausgabe = strausgabe & cboOrt.List(cboOrt.ListIndex) & " "strausgabe = strausgabe & strVerb(lstPartei.ListIndex) & " "txt1.Text = strausgabeEnd Sub' задание места проведения митинга, партсобранияPrivate Sub cboOrt_Click() ausgebenEnd Sub' задание одновременно возможных характеристик членов ' партийPrivate Sub chkattribut_click(index As Integer)ausgebenEnd Sub' задание количества присутствующих на митинге, собранииPrivate Sub hsbMenge_Change()lbl1.Caption = "Присутствовало: " & Str(hsbMenge.Value)ausgebenEnd Sub' задание количества присутствующих на митинге, собранииPrivate Sub hsbMenge_scroll() lbl1.Caption = "Присутствовало: " & Str(hsbMenge.Value)End SubPrivate Sub lstPartei_Click() ' выбор из списка имеющихся ' партийausgebenEnd Sub' задание взаимоисключающих характеристик членов партийPrivate Sub optAussehen_Click(index As Integer) ausgebenEnd Sub






Дата добавления: 2015-06-12; просмотров: 466. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Дезинфекция предметов ухода, инструментов однократного и многократного использования   Дезинфекция изделий медицинского назначения проводится с целью уничтожения патогенных и условно-патогенных микроорганизмов - вирусов (в т...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Studopedia.info - Студопедия - 2014-2024 год . (0.033 сек.) русская версия | украинская версия