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



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

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

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

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

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

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

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

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

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