Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_к_курсовой_работе.doc
Скачиваний:
4
Добавлен:
25.11.2019
Размер:
6.59 Mб
Скачать

2.4.3 Страница Стандартные Палитры Компонентов

На этой странице расположены пиктограммы, соответствующие перечисленным ниже компонентам.

MainMenu позволяет поместить главное меню в программу. На форме MainMenu выглядит, как просто иконка. Иконки данного типа называют "невидимыми компонентами", поскольку они невидимы во время выполнения программы. Создание меню включает три шага:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При выполнении в программе следующего оператора присваивания

Str:=InputBox('Ввод исходных данных', 'Введите радиус',' 0')

на экране появляется окно, изображенное на рисунке 2.5.

Рисунок 2.5 - Окно InputBox

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

Для преобразования строки в число используются функции Object Pascal - StrToFloat и StrToInt. Например, a:=StrToFloat(Edit1.text), где а - переменная вещественного типа, с:=StrToInt(Edit1.text), где с- переменная целого типа.

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

Label1.caption:=’Результат вычислений ‘+FloatToStr(S).

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

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

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

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

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

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

procedure TForm1.Button1Click(Sender: TObject);

Var st:string;

x:real;

begin

st:= edit1.text;

x:=sqrt(StrToFloat(st));

Label2.caption:='Результат ='+FloatToStr(x);

end;

Результат работы программы вычисления квадратного корня представлен на рисунке 2.8.

Рисунок 2.8 - Окно программы

Для отображения на экране списка значений в Delphi предназначен компонент ListBox. Этот компонент имеет в своем составе объект-список, содержащий набор строк с ассоциированными с ними произвольными объектами. Для того, чтобы отобразить последовательно на экране те данные, которые вводятся в строку ввода можно выполнить следующие операторы:

ListBox1.Items.Add(Edit1.Text);

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

i:=i+1;

a[i]:=StrToInt(Edit1.Text);

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

ListBox1.Clear;

Edit1.Clear ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заполнить таблицу можно с помощью генератора случайных чисел:

procedure TForm1.Button1Click(Sender: TObject);

VAR i,j:integer;

begin

randomize;

for i:=0 to 4 do

for J:=0 to 3 do

StringGrid1.Cells[j,i]:=inttostr(round(random(10)));

end;

Приведенный фрагмент программы позволяет заполнить таблицу из 4 столбцов и 5 строк целыми числами в диапазоне 0-9.

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

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

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

Вначале необходимо поместить на форму таблицу , 2 кнопки и задать их свойства (рисунок 2.11).

Рисунок 2.11 - Таблица StringGrid и кнопки на форме

Присвоим таблице имя tab1(свойство name). В таблице зафиксирована верхняя строка (выделена серым цветом). В эту строку поместим заголовки колонок. Во время создания формы приложения установить значения элементов массива Cells нельзя, так как элементы массива доступны только во время работы программы. Поэтому значения элементов, соответствующих первой строке таблицы, устанавливает процедура обработки события OnActivate, которое происходит во время активизации формы приложения:

procedure TForm1.FormActivate(Sender: TObject);

begin

tab1.Cells[0,0]:='товар';

tab1.Cells[1,0]:='цена';

tab1.Cells[2,0]:='количество';

tab1.Cells[3,0]:='сумма'

end;

Процедура обработки исходной таблицы запускается в результате щелчка по кнопке «вычислить» (Button1). Текст этой процедуры:

procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

r:real;

begin

For i:= 1 to 4 do

begin

r:=StrToFloat(tab1.Cells[1,i])* StrToFloat(tab1.Cells[2,i]);

tab1.Cells[3,i]:=FloatToStr(r);

end;

end;

Пример результата выполнения этой процедуры для четырёх строк приведён на рисунке 2.12.

Рисунок 2.12 - Результат выполнения программы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]