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

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

Практическая работа 16. Оператор LIKE - сравнение элементов массивов со строкой, введeнной в диалоговом режиме; элемент управления Timer





Задание: создать в диалоговом режиме 4 массива национальностей, проживающих в 4-х странах (рис. 2.8 в центре вверху), затем вывести в массив ListBox из 4-х элементов (рис. 2.8 слева в центре). Ввести в диалоговом режиме одну из 10 - 16 национальностей (введeнных ранее), для ввода использовать текстовое поле (рис. 2.8 слева). С использованием оператора LIKEнайти страны проживания этой национальности. Обеспечить вывод результатов поиска в поля меток (рис. 2.8 4 поля метки слева внизу). Обеспечить перемещение (использовать элемент управления Timer) флага страны проживания после нахождения страны проживания.

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

1. Создать на форме элементы управления, данные на рис. 2.8 соответствующие идентификаторы приведены в коде, данном ниже:

o 3 командные кнопки, см. рис. 2.8

§ Command1 (Caption = Vergleichen (Muster)),

§ Command2 (Caption = Nationalitaet-Massiv),

§ Command3 (Caption = MassivList),

o 4 массива элементов TextBox: (Text1(0) - Text1(3)), (Text2(0) - Text2(3)), (Text3(0) - Text3(3)), (Text4(0) - Text4(3)) для ввода национальностей, рис.2.8 вверху в центре,

o массив ListBox из 4-х элементов для вывода 4-х масивов национальностей, слева в центре,

o 4 объекта Image, в качестве значений свойства Picture использовать символы флагов 4-х стран (файлы *. ico),

o 4 поля Label для вывода результатов, см. рис. 2.8 2-ой столбец слева внизу,

o несколько меток для надписей, см. рис. 2.5

o элемент управления TextBox (Text5) для ввода искомой национальности, рис. 2.5 выше полей Label (используемых для вывода результатов),

2. ввести код, затем стартовать проект,

3. в диалоговом режиме ввести национальности (для этого созданы 16 текстовых пoлей), сделать щелчок на кнопке "Nationalitaet-Massiv", затем - на кнопке - "Massiv-List",

4. ввести в поле Text5 одну из ранее введённых национальностей, далее сделать щелчок на кнопке "Vergleichen (Muster)". После выполнения поиска стартуют процедуры TimerК_Timer (), см. код и рис.2.8

(General) (Declarations)Option Compare TextDim res As BooleanDim muster As String ' описание шаблона для оператора Like ' zeile - описание вводимой строки для сравнения с шаблоном' (оператор Like)Dim zeile As String Dim i As Integer, j As Integer' х1 - х4 - переменные, обеспечивающие старт процедур ' TimerК_Timer(),Dim x1 As Variant, x2 As Variant, x3 As Variant, x4 As VariantDim deu(4) As String ' deu(4) - grossb(4) - массивы национальностей, проживающих в ' соответствующих 4-х странахDim oest(4) As String, span(4) As String, grossb(4) As String' создание массивов национальностей, проживающих в 4-х ' странах: deu(4) - grossb(4) (кнопка Nationalitaet-Massiv)Private Sub Command2_Click()For i = 1 To 4deu(i) = Text1(i - 1).Text: oest(i) = Text2(i - 1).Textspan(i) = Text3(i - 1).Text: grossb(i) = Text4(i - 1).TextNext iEnd Sub' вывод в массив элементов ListBox элементов массивов ' национальностей, см. рис. 5.4: командная кнопка Caption = ' MassivLISTPrivate Sub Command3_Click()For j = 1 To 4List1(0).List(j - 1) = deu(j): List1(1).List(j - 1) = oest(j)List1(2).List(j - 1) = span(j): List1(3).List(j - 1) = grossb(j)Next jEnd Sub' выполнение поиска - использование оператора Like; старт' процедур, обеспечивающих перемещение флаговPrivate Sub Command1_Click() ' ввод в диалоговом режиме искомой национальностиzeile = Text5.TextFor i = 1 To 4' в качестве шаблона используется массив, ' просматриваемый в циклеmuster = deu(i) ' переменной типа Boolean присваивается возвращае-' мое значениеres = zeile Like muster ' если переменная res есть True, то вывести название ' страны, где проживает национальность "zeile", вводимая в' диалоговом режиме; далее определяется код х1: (Asc(x1)),' что обеспечивает выполнение процедуры Timer1_Timer() (см.' ниже), иначе - просматривать массив далееIf res Then Label11 = "Deutschland": x1 = Label11: x1 = Asc(x1): GoTo 301Next i' если res всегда есть False, то вывести поясняющий текст: ' " Deutschland - Nein" - "В Германии не проживает"Label11.Caption = "Deutschland - Nein"' блоки 301 - 303 работают аналогично вышеописанному301 For i = 1 To 4muster = oest(i): res = zeile Like musterIf res Then Label12 = "Oesterreich": x2 = Label12: x2 = Asc(x2): GoTo 302Next iLabel12.Caption = "Oesterreich - Nein"302 For i = 1 To 4muster = span(i): res = zeile Like musterIf res Then Label13 = "Spanien": x3 = Label13: x3 = Asc(x3): GoTo 303Next iLabel13.Caption = "Spanien - Nein"303 For i = 1 To 4muster = grossb(i): res = zeile Like musterIf res Then Label14 = "Grossbritan.": x4 = Label14: x4 = Asc(x4): GoTo 304Next iLabel14.Caption = "Grossbritanien - Nein"304 End Sub' 4 процедуры ниже обеспечивают перемещение флагов стран ' проживания национальности, вводимой в диалоговом режи-' ме (cм. процедуру Command1_Click()). Процедуры стартуют ' после того, как определены переменные х1 - х4, т.е. найдена ' странаPrivate Sub Timer1_Timer()Image1.Left = Int(80 * Rnd * x1): Image1.Top = Int(90 * Rnd * x1)End SubPrivate Sub Timer2_Timer()Image2.Left = Int(80 * Rnd * x2): Image2.Top = Int(90 * Rnd * x2)End SubPrivate Sub Timer3_Timer()Image3.Left = Int(80 * Rnd * x3): Image3.Top = Int(90 * Rnd * x3)End SubPrivate Sub Timer4_Timer()Image4.Left = Int(80 * Rnd * x4): Image4.Top = Int(90 * Rnd * x4)End Sub

Рис. 2.8. Оператор LIKE (Где проживает национальость:?)

Лекция 3:







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




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


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


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


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

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

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

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

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