Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Какие свойства компонента 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 января приходится на любой день недели, определить день недели, на который приходится день с введенной датой.

Контрольные вопросы:

  1. Какие компоненты для работы со списками вы знаете?
  2. Компонент ListBox
  3. Компонент ComboBox

 

 

Лабораторная работа №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 те строки, у которых все элементы единиц.

Контрольные вопросы:

  1. Назначение компоненты StringGrid.
  2. Свойства компоненты StringGrid.
  3. Методы компоненты StringGrid.

Лабораторная работа №20 Использование компонентов кнопок обычных, графических и с фиксацией.

 

TButton

Компонент TButton представляет собой стандартную кнопку и широко используется для управления программами. Кнопка может содержать текст, описывающий выполняемое ей действие.

 

Property Cancel: Boolean;   Если имеет значение True, событие OnClick кнопки возникает при нажатии клавиши Esc
Property Default: Boolean; Если имеет значение True, событие OnClick кнопки возникает при нажатии клавиши Enter
PropertyEnabled: Boolean; Если имеет значение False, то кнопка недоступна для нажатия
TModalResulr = Low(Integer).. High (Integer); Property TModalResult; - Определяет результат, с которым было закрыто модальное окно

 

В терминологии Windows модальными окнами называются такие специальные окна, которые, раз появившись на экране, блокируют работу пользователя с другими окнами вплоть до своего закрытия. Если у кнопки определено свойство ModalResult, нажатие на нее приводит к закрытию модального окна и возвращает в программу значение ModalResult как результат диалога с пользователем. В Delphi определены следующие стандартные значения ModalResult:

 

mrNone Модальное окно не закрывается
mrOk Была нажата кнопка Ok
mrCancel Была нажата кнопка Cancel
mrAbort Была нажата кнопка Abort
mrRetry Была нажата кнопка Retry
mrIgnore Была нажата кнопка Ignore
mrYes Была нажата кнопка Yes
mrNo Была нажата кнопка No
mrAll Была нажата кнопка All

TCheckBox

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

 

TLeftRight = (taLeftJustify, taRightJustify); PropertyAlignment: TLeftRight; Определяет положение текста: taLeftJustify -с левой стороны компонента; taRightJustify -с правой стороны
Property AllowGrayed: Boolean; Разрешает (запрещает) использование неактивного состояния cbGrayed
Property Checked: Boolean; Содержит выбор пользователя типа Да/Нет. Состояния cbUnchecked и cbGrayed отражаются как False
TcheckBoxState = (cbUnchecked, cbChecked, cbGrayed); PropertyState: CheckBoxState; Содержит состояние компонента: cbUnchecked – нет; cbChecked • да; cbGrayed –неактивен

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 формы, на которую она помещена.

 

Property Glyph: TBitmap; Определяет связанные с кнопкой растровые изображения (до 4)
TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bklgnore, bkAll); Property Kind: TBitBtnKind; . Определяет разновидность кнопки
TButtonLayout = (bIGlyphLeft, bIGlyphRight, bIGlyphTop, , blGlyphBottom); Property Layout: TButtonLayout; Определяет край кнопки, к которому прижимается пиктограмма
Property Margin: Integer; Определяет расстояние в пикселях от края кнопки до пиктограммы
TnumGlyphs: 1..4; Property NumGlyphs: TnumGlyphs; Определяет количество растровых изображений. Таких состояний может быть четыре: нормальное, запрещенное, нажатое, и утопленное
Property Spacing: Integer; Определяет расстояние в пикселях от пиктограммы до надписи на кнопке
TButtonStyle = (bsAutoDetect, bsWin31, bsNew); Property Style: TButtonStyle.;   Определяет стиль оформления кнопки, зависящий от операционной системы

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. Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны координаты левого нижнего угла каждого из них и длины их сторон. Один из прямоугольников назовем первым, другой — вторым,

а) Определить, принадлежат ли все точки первого прямоугольника второму.

б) Определить, принадлежат ли. все точки одного из прямоугольников другому.

в) Определить, пересекаются ли эти прямоугольники.

 

 

Контрольные вопросы:

  1. Какие виды кнопок вы знаете?
  2. Назначение компоненты TButton?
  3. Назначение компонент TBitBtn и TSpeedButton?
  4. Назначение компоненты TRadioButton?
  5. Назначение компоненты TCheckBox?

 


Поделиться:



Популярное:

  1. Que: Свойства компонента ListBox - Name
  2. А4. Какие правовые последствия из перечисленных наступают для лица, допустившего особо опасный рецидив?
  3. Б1. Какие условия необходимы для применения отсрочки исполнения наказания?
  4. Выявите жаргоны в приведенных ниже текстах. Есть ли среди них такие, которых вы не знаете? О чем это свидетельствует?
  5. Давление насыщенного пара компонента над раствором
  6. Для того, чтобы через три какие- либо точки пространства можно было провести единственную плоскость, необходимо, чтобы эти точки не лежали на одной прямой.
  7. Имеются ли основания для привлечении гражданина Михайлова к административной ответственности? Если да, то какие? Кто может возбудить производство? Кто и в каком порядке должен рассматривать дело?
  8. Каждый раз перед Новым годом у меня происходят какие-то неприятности. В этот раз пропал муж, обнаружила я его только через неделю. Скажите, с чем это может быть связано?
  9. Какие «три волны», по Тоффлеру, в истории развития человеческой цивилизации вы знаете? Указать временные рамки и главные особенности настоящего этапа эволюции
  10. Какие ассоциации возникают в результате чтения данного текста? Чем они вызваны?
  11. Какие виды деятельности вам известны? Что такое продуктивная и деструктивная деятельность?
  12. Какие виды лейкоцитов являются микрофагами?


Последнее изменение этой страницы: 2016-08-31; Просмотров: 598; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.079 с.)
Главная | Случайная страница | Обратная связь