Студопедия — Практическая работа 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; просмотров: 475. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

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