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

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

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




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

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

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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