Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Какие свойства компонента Memo вы знаете?
Лабораторная работа №18 Использование компонентов списков и выпадающих списков. Тема: Создание списков. Работа со списками в приложении. Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с компонентами для создания списков выбора на форме приложения. Закрепить полученные на лекции знания. Написать и отладить программу
Теория: TComboBox - раскрывающийся список выбора Комбинированный список TComboBox представляет собой комбинацию списка TListBox и редактора TEdit, и поэтому большинство его свойств и методов заимствованы у этих компонентов. Существуют пять модификаций компонента, определяемые его свойством style: csSimple, csDropDown, csDropDownList, csOwnerDrawFixed И csOwner DrawVariabie. В первом случае список всегда раскрыт, в остальных он раскрывается после нажатия кнопки справа от редактора (рис. 18.7). В модификации csDropDownList редактор работает в режиме отображения выбора и его нельзя использовать для ввода новой строки (в других модификациях это возможно). Модификации csOwnerDrawFixed и csOwnerDrawVariable используются программной прорисовки элементов списка. Используемые для этого свойства и методы полностью совпадают со свойствами и методами TListBox аналогичного назначения. Наполнение списка ведется методами Add, Append, Insert и т. п. его свойства Items класса TStrings Пример: По номеру фамилии в списке вывести его должность.
procedure TForm1.FormCreate (Sender: TObject); begin ListBox1.Items[0]: ='Иванов'; ListBox1.Items[1]: ='Петров'; ListBox1.Items[2]: ='Сидоров'; end; procedure TForm1.Button1Click (Sender: TObject); var i: integer;
begin i: = StrToInt(Edit1.Text); case i of 1: Label2.Caption: ='директор'; 2: Label2.Caption: ='менеджер'; 3: Label2.Caption: ='дворник'; end; end; Задания: Вариант №1 По введенному дню недели определить, рабочий или выходной день. Вариант №2 По введенному номеру месяца определить, название месяца. Вариант №3 Для целого числа К от 1 до 9 напечатать значение переменной К римскими цифрами. Вариант №4 Имеются следующие описания: Язык = (Паскаль, Ява, Бейсик, Фортран, Лисп) По русскому названию языка вывести английский эквивалент. Вариант №5 Имеются описания: Сезон = (зима, весна, лето, осень) Погода = (тепло, холодно) По сезону ответить какова погода.
Вариант №6 По введенному натуральному числу (1..100) обозначающему количество ворон, вывести надпись «На дереве К ворон», где ворона склоняется соответственно: ворон, ворона, вороны. Если число > 100, то надпись «Ветка обломилась». Вариант №7 По введенному номеру месяца определить количество дней в месяце (год не високосный). Вариант №8 По возрасту человека определить ходит ли он в садик, в школу, на работу или сидит на пенсии, а при Н > 120 «Уже умер». Вариант №9 Для целого числа К, обозначающего стоимость некоторой покупки вывести «вы сделали покупку на К рублей», учитывая при этом, что при некоторых значениях К слово «рублей» надо заменить на слово «рубль» ил «рубля». Вариант №10 Имеются следующие описания: Страна = (Австрия, Болгария, Греция, Италия, Норвегия, Франция, ФРГ) Столица = (Вена, София, Афины, Рим, Осло, Париж, Бон) По значению страны определить столицу. Вариант №11 По номеру ноты вывести ее текстовый эквивалент (до, ре, ми, фа, соль, ля, си) и написать ее соседние ноты. (Например: Фа – Ми и Соль) Вариант №12 По номеру шахматной клетки (1..64) определить ее значение. (Например: 1 – А1, а 64 – Н8 ) Вариант №13 Группу детей, приехавшую в пионерский лагерь, распределяют по отрядам следующим образом: 6-7 лет – 5 отряд; 7-9 лет – 4 отряд; 9-11 лет – 3 отряд; 11-13 лет – 2 отряд; 13-15 (включительно) – 1 отряд. Определить по вводимому возрасту отряд для ребенка. Вариант №14 Задается код цвета, требуется выдать какой цвет. Использовать свою собственную кодировку. Вариант №15 Имеются следующие описания: Число = 1..31 День недели = (вс, пн, вт, ср, чт, пт, сб) Считая, что год не високосный и его 1 января приходится на любой день недели, определить день недели, на который приходится день с введенной датой. Контрольные вопросы:
Лабораторная работа №19 Использование компонентов таблиц для работы с двумерным массивом.
Тема: Работа с двумерным массивом (компонента StringGrid). Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с компонентами вывода двумерного массива на форме приложения. Закрепить полученные на лекции знания. Написать и отладить программу
Теория: Компонент TStringGrid предназначен для создания таблиц, в ячейках которых располагаются произвольные текстовые строки. Он является прямым потомком TDrawGrid, от которого им унаследовано большинство свойств и методов. Таблица делится на две части - фиксированную и рабочую. Фиксированная служит для показа заголовков столбцов/рядов и для ручного управления их размерами. Обычно фиксированная часть занимает крайний левый столбец и самый верхний ряд таблицы, однако с помощью свойств FixedCols и FixedRows можно задать другое количество фиксированных столбцов и рядов (если эти свойства имеют 0, таблица не содержит фиксированной зоны). Рабочая часть - это остальная часть таблицы. Она может содержать произвольное количество столбцов и рядов, более того, эти величины могут изменяться программно. Рабочая часть может не умещаться целиком в пределах окна компонента, в этом случае в него автоматически помещаются нужные полосы прокрутки. При прокрутке рабочей области фиксированная область не исчезает, но меняется ее содержимое - заголовки строк и рядов. Центральным свойством компонента является Cells - двухмерный массив ячеек, каждая из которых может содержать произвольный текст. Конкретная ячейка определяется парой чисел - номером столбца и номером ряда, на пересечении которых она находится (нумерация начинается с нуля). Свойство cells имеет тип String, поэтому программа может легко прочитать или записать содержимое нужной ячейки. Например: Cells [1, 1]: = 'Левая верхняя ячейка рабочей зоны'; Количество ячеек по каждому измерению хранит пара свойств Colcount (количество столбцов) и RowCount (количество рядов). Значения-этих свойств и, следовательно, размеры таблицы могут меняться как на этапе разработки программы, так и в ходе ее работы, однако их значения должны быть как минимум на единицу больше соответственно значений в свойства FixedCois и FixedRows, определяющих размеры фиксированной зоны. Пример: Найти сумму всех элементов двумерного массива 4х4. 1. Расположить на форме следующие компоненты: StringGrid(Additional), Button, Label, Edit(для вывода результата); 2. Свойства StringGrid, заменить на FixedCols=0(без заголовков строк), FixedRols=0(без заголовков столбцов); 3. Свойства RowCount=4, ColCount=4; 4. Свойство Options| GoEditing = true (разрешить редактировать); 5. Расположить компоненты следующим образом: Напишите следующий обработчик события: Procedure Form1.Button1Click (Sender: TObject); var a: array [0..3, 0..3] of integer; i, j, s: integer; begin s: =0; for i: =0 to 3 do for j: =0 to 3 do
begin a[i, j]: = StrToInt(StringGrid1.Cells[i, j]); {считывание элементов } s: =s+a[i, j]; end; Edit1.Text: =IntToStr(s); end;
Задания: Вариант № 1 Дана действительная матрица А(n, m). Найти максимальное по величине число. Вариант № 2 Дана матрица A(n, m). Найти сумму каждой из строк, имеющих четные номера. Вариант № 3 Дана матрица A(n, m). Найти среднее арифметическое всех значений. Вариант № 4 Дана матрица A(n, m). Если элемент отрицательный увеличить его в два раза, если отрицательный уменьшить на 4, если равен нулю – заменить единицей. Вариант № 5 Дана матрица A(n, m). Найти средне арифметическое элементов каждого из столбцов, имеющих нечетные номера. Вариант № 6 Дана матрица A(n, m). Заменить строки на соответствующие столбцы. Вариант № 7 Дана матрица A(n, m). Вывести новую матрицу, состоящею из элементов составленных при прохождении матрицы по спирали. Вариант № 8 Дана матрица A(n, m). Найти максимальный и минимальный элемент. Заменить их, поставив минимальный на место максимального. Вариант № 9 Дана матрица A(n, m). Заменить элементы находящиеся на главной и побочной диагонали на единицы. Вариант № 10 Дана матрица A(n, m). Заменить строку К на столбец Р. Вариант № 11 Дана матрица A(n, m). Заменить четные строки на нечетные столбцы. Вариант № 12 Дана матрица A(n, m) и массив В(n, m). Вывести матрицу элементами которой является значения состоящие из произведения элемента массива на каждый элемент соответствующей строки. Вариант № 13 Дана матрица A(n, m). Поменять местами первую и последнюю строку, а каждый элемент этих строк увеличить в два раза. Вариант № 14 Дана матрица A(n, m). Найти строки элементы, которых одинаковы, если таковых нет, то первую строку скопировать на последнею. Вариант № 15 Дана матрица A(n, m) состоящая из нулей и единиц. Заменить на – 4 те строки, у которых все элементы единиц. Контрольные вопросы:
Лабораторная работа №20 Использование компонентов кнопок обычных, графических и с фиксацией.
TButton Компонент TButton представляет собой стандартную кнопку и широко используется для управления программами. Кнопка может содержать текст, описывающий выполняемое ей действие.
В терминологии Windows модальными окнами называются такие специальные окна, которые, раз появившись на экране, блокируют работу пользователя с другими окнами вплоть до своего закрытия. Если у кнопки определено свойство ModalResult, нажатие на нее приводит к закрытию модального окна и возвращает в программу значение ModalResult как результат диалога с пользователем. В Delphi определены следующие стандартные значения ModalResult:
TCheckBox Кнопка с независимой фиксацией позволяет выбрать или отменить определенную функцию. Свойство State позволяет установить значение кнопки. Кнопка может находиться во включенном, выключенном и неактивном состоянии.
RadioButton Кнопки с зависимой фиксацией предназначены для выбора одной опции из нескольких взаимоисключающих, поэтому таких кнопок должно быть как минимум две. Для группировки кнопок с зависимой фиксацией внутри формы их необходимо разместить внутри компонента Panel, GroupBox или ScrollBox. Состояние кнопки содержится в свойстве Checked. TBitBtn Пиктографическая кнопка TBitBtn представляет собой разновидность стандартной кнопки TButton, которая помимо текста может содержать графическое изображение. Растровое изображение определяется с помощью свойства Clyph. В комплект поставки DELPHI (поддиректория Images/Buttons) входит около 160 различных вариантов растровых изображений для кнопок. Кроме того, пользователь может самостоятельно создать растровое изображения с помощью встроенного в DELPHY графического редактора. Свойство Kind позволяет выбрать одну из 11 стандартных разновидностей кнопки (рис.П2.1.)
Нажатие любой из кнопок, кроме bkCustom и bkHelp, закрывает модальное окно и возвращает в программу результат mrXXX: bkOk -mrOk, bkCancel - mrCancel и т.д. Кнопка bkClose для модального окна возвращает mrCancel, а для главного окна программы - закрывает его и завершает работу программы. Кнопка bkHelp автоматически вызывает раздел справочной службы, связанный с HelpContext формы, на которую она помещена.
TSpeedButton Еще один вариант кнопки, который отличается от TBitBtn тремя обстоятельствами: во-первых, не предусмотрен вывод надписи, во-вторых, имеется возможность фиксации в утопленном состоянии и, в-третьих, она не может закрыть модальное окно. Задание: Используя все разновидности кнопок, решить: 1.Дано двузначное число. Определить: а) входит ли в него цифра 3; б) входит ли в него цифра А.
2. Дано двузначное число. Определить: а) входят ли в него цифры 4 или 7; б) входят ли в него цифры 3, 6 или 9.
3. Дано трехзначное число. Определить: а) входит ли в него цифра 6; 6) входит ли в него цифра N.
4. Дано трехзначное число. Определить: а) входят ли в него цифрв1, 4 или 7; 6) входят ли в него цифры 3, 6 или 9. 5. Дано четырехзначное число. Определить: а) входит ли в него цифра 4; б) входит ли в него цифра В.
6. Дано четырехзначное число. Определить: а) входят ли в него цифры 2 или 7; 6) входят ли в него цифры 3, 6 или 9.
7. Дано натуральное число n (n 9999). Выяснить, является ли оно палиндромом ( перевертышем ), с учетом четырех цифр, как, например, числа 7777, 8338, 0330 и т.п. (палиндромом называется число, десятичная запись которого читается одинаково слева направо и справа налево).
8. Дано натуральное число n (n < 9999). Выяснить, верно ли, что это число содержит ровно три одинаковые цифры, если оно записано четырьмя цифрами, как, например, числа 3363, 4844, 0300 и т.п.
9. Дано натуральное число n (n < 9999). Выяснить, различны ли все четыре цифры этого числа (если оно записано четырьмя цифрами). Например, в числе 3678 все цифры различны, в числе 0023 — нет.
10. Определить, является ли заданное шестизначное число счастливым. (Счастливым называют такое шестизначное число, у которого сумма его первых трех цифр равна сумме его последних трех цифр.)
11. Имеются стол прямоугольной формы с размерами а х b (а и b — целые числа, а > b) и кости домино с размерами с х d х е (с, d и е — целые числа, с > d > e). Найти вариант размещения на столе наибольшего количества костей. Все размещаемые кости должны лежать на одной и той же грани в один ярус без свешивания со стола. Все ребра костей домино должны быть параллельны или перпендикулярны каждой стороне стола.
12. Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны координаты левого нижнего угла каждого из них и длины их сторон. Один из прямоугольников назовем первым, другой — вторым, а) Определить, принадлежат ли все точки первого прямоугольника второму. б) Определить, принадлежат ли. все точки одного из прямоугольников другому. в) Определить, пересекаются ли эти прямоугольники.
Контрольные вопросы:
Популярное:
|
Последнее изменение этой страницы: 2016-08-31; Просмотров: 651; Нарушение авторского права страницы