Смекни!
smekni.com

Обработка матриц (стр. 2 из 3)

1) размещение MainMenu на форме;

2) вызов Дизайнера Меню через свойство Items в Инспекторе Объектов;

3) определение пунктов меню в Дизайнере Меню.

PopupMenuпозволяет создавать контекстные меню. Этот тип меню появляется по щелчку правой кнопки мыши.

Label(метка)служит для отображения текста на экране. Для изменения шрифта и цвета метки, можно использовать свойство Font в Инспекторе Объектов.

Edit (строка ввода) - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы.

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

Button(кнопка) позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. Поместив Button на форму, по двойному щелчку создаётся заготовка обработчика события нажатия кнопки.

CheckBox(выключатель, флажок)отображает строку текста с маленьким окошком рядом, в котором можно поставить отметку.

RadioButton(радиокнопка) позволяет выбрать только одну опцию из нескольких.

ListBox (список) нужен для показа прокручиваемого списка.

ComboBox(поле со списком) по внешнему виду напоминает строку ввода, но дополнительно имеет в правой части кнопку, позволяющую показать выпадающий список, подобный списку компонента ListBox.

3.4 Организация ввода и вывода данных

Для организации диалога с пользователем и вывода сообщений используются различные компоненты из библиотеки Delphi.

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

Str:=InputBox(‘Окно ввода', ‘Сообщение’,’ Ввод данных’).

Строка ввода Editтакже может использоваться для ввода данных. Введенные значения заносятся в свойство text. Это свойство имеет строковый тип. Следовательно, после ввода данных Edit1.text хранит в строковом представлении то, что было введено в строку ввода Edit.

Для преобразования строки в число используются функции ObjectPascal- StrToFloatи StrToInt.

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

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

Функции FloatToStr(a) и IntToStr(c) предназначены для преобразования в строку, соответственно, вещественного или целого числа.

Рисунок 3.5 - Размещение компонентов Edit и Label на форме

Само по себе внесение данных в строку ввода не приведет к их обработке. Для того, чтобы это произошло, нужно использовать компонент Button– кнопку. Этот компонент предназначен для формирования события при нажатии на эту кнопку. На рисунке 3.6 представлена форма с кнопкой Button1. СвойствоCaptionэтой кнопки – "Вычисление квадратного корня".

Рисунок 3.6 - Форма с кнопкой Button

Для кнопки Buttonсобытие OnClickявляется событием по умолчанию, поэтому, для создания заготовки обработчика события, достаточно выполнить двойной щелчок по кнопке Button. В результате окно редактора кода станет активным и будет содержать заготовку обработчика события TForm1.Button1Click. Между словами begin – end следует поместить операторы, которые будут выполняться при нажатии кнопки.

ТаблицаStringGrid (таблица строк) предназначена для отображения двумерной информации. Каждая ячейка может содержать символьную строку. Значок таблицы находится на странице Дополнительно палитры компонентов.

Рисунок 3.7 - Страница Дополнительно палитры компонентов

Нумерация строк и столбцов таблицы начинается с 0. Координаты каждой ячейки таблицы задаются парой чисел. Первое число – номер столбца, второе – номер строки. Например, ячейка с номером (3,5) расположена в четвертом столбце и шестой строке.

Основные свойства таблицы:

Name–имя компонента. Используется в программе для доступа к свойствам компонента.

Cells – соответствующий таблице двумерный строковый массив.

Cells[i,j] – элемент, который находится в столбце i и в строке j.

ColCount– число столбцов в таблице.

RowCount - число строк в таблице.

FixedCols– число фиксированных столбцов. По умолчанию –1.

FixedRows- число фиксированных строк. По умолчанию –1.

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

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

DefaultColWidth– задает исходную ширину всех столбцов.

DefaultRowHeight- задает исходную высоту всех строк.

Col – номер столбца, в котором находится активная ячейка. Свойство доступно только на этапе выполнения программы.

Row - номер строки, в которой находится активная ячейка. Свойство доступно только на этапе выполнения программы.

Для определения поведения таблицы используется свойство Options. Оно содержит различные флаги. Например, флаг goEditing позволяет редактировать ячейки таблицы, то есть на этапе выполнения программы разрешается вводить и редактировать данные в ячейке. Эти свойства следует задать в Инспекторе Объектов (рисунок 3.8). На вкладке Параметры указано количество зафиксированных вверху строк – 1, зафиксированных колонок – 0.

Рисунок 3.8 - Инспектор Объектов таблицы строк tab1

3.5 Создание меню приложений в среде Delphi

В Delphi для создания главного меню имеется визуальный компонент MainMenu, расположенный на странице StandardПалитры Компонентов. Процесс создания главного меню на этапе конструирования формы осуществляется при помощи встроенного конструктора меню (MenuDesigner).

Вначале нужно поместить компонент MainMenuна форму, а затем вызвать конструктор. Для вызова конструктора можно дважды щелкнуть левой кнопкой по компоненту MainMenuили вызвать контекстное меню, в котором выбрать команду MenuDesigner. В открывшемся окне (рисунок 3.9) следует ввести названия пунктов меню.

Рисунок 3.9 - Окно ввода названий пунктов меню

При вводе названия элемента меню, определяется значение свойства Caption для этого пункта (рисунок 3.10).

Рисунок 3.10 -Инспектор объектов для второго пункта

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

После ввода всех пунктов меню нужно закрыть окно конструктора. На форме остается созданное меню (рисунок 3.11).

Рисунок 3.11 - Форма с двумя пунктами меню

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

3.6 Структура проекта Delphi

Программа Delphi – это несколько связанных между собой файлов. Любая программа состоит из файла проекта (с расширением .dpr) и одного или нескольких модулей с расширением .pas. Файл проекта не предназначен для редактирования пользователем и создается автоматически самой системой программирования Delphi.. Модули имеют стандартную конструкцию, предусмотренную языком Pascal.

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

3.7 Форма в режиме дизайна

Рисунок 3.13 – Форма в режиме дизайна

3.8 Форма в режиме выполнения

Рисунок 3.14 – Форма в режиме выполнения

3.9 Задание исходной матрицы

Рисунок 3.15 - Задание массива А и В (случайным образом)

Рисунок 3.16 - Задание массивов С1 и С2 (по частям массивов А и В с последующей сортировкой)

Листинг программы приводим в Приложении Б.

4. Отладка программы

Термин «отладка» означает исправление ошибок в программе и обеспечение ее правильной работы. Возникающие в процессе создания программы ошибки классифицируются следующим образом:

1. Синтаксические ошибки.

2. Ошибки периода выполнения программы.

3. Логические ошибки.

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