Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
семинар 3 массивы (1).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
131.58 Кб
Скачать

Семинар 4

Текстовый редактор (класс TMemo).

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

Свойства :

Text - содержит текст, как единое целое.

Lines - позволяет работать с отдельными строками текста (массив строк типа TStrings). В данном случае применимы методы, работающие со строками Add, Delete, Insert, например: Memo1.Lines.Add('Another line is added');

А также методы LoadFromFile и SaveToFile, например:

procedure TForm1.Button1Click(Sender: TObject);

begin

Memo1.Lines.LoadFromFile('C:\AUTOEXEC.BAT');

Writeln('The 6th line of AUTOEXEC.BAT is: ', Memo1.Lines[5]);

end;

ReadOnly - определяет возможность ввода информации в окно компонента (если true, то ввод невозможен).

MaxLength - определяет максимальную длину текста (если 0, то длина не ограничена).

ScrollBars - определяет наличие или отсутствие полос прокрутки:

ssNone - полосы прокрутки отсутствуют;

ssBoth - обе полосы (горизонтальная и вертикальная);

ssHorizontal - горизонтальная полоса;

ssVertical- вертикальная полоса.

AutoSize - определяет, зависит ли размер окна компонента от параметров текста ( да, если true).

WordWrap - определяет, выполняется ли автоматическое разбиение строк при выводе в окне компонента (да, если true).

WordTabs - определяет, будут ли учитываться символы табуляции при отображении текста (да, если true).

Этот компонент наследует все методы, а также свойства и методы, работающие с выделением, описанные для класса TEdit.

  1. Кнопка выбора опции (класс tCheckBox).

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

Свойства:

Caption - название кнопки (заголовок располагается правее кнопки).

Checked - определяет включенное (true) и выключенное (false) состояние кнопки.

Alignment - определяет выравнивание заголовка:

taLegtJustify - выравнивание по левой границе окна компонента;

taRightJustify - выравнивание по правой границе.

AllowGrayed - определяет количество состояний кнопки (true - 3 состояния, включая неопределенное - серая галочка, а false -2 состояния).

State - определяет состояния кнопки:

cbGrayed - неопределенное состояние;

cbChecked - включено;

cbUnchecked - выключено.

  1. Радиокнопка (класс tRadioBotton).

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

Все свойства аналогичны кнопке выбора опции.

  1. Список (класс tListBox).

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

Свойства:

Items - массив строк типа TStrings, выводимых в окно. Для работы с объектами Tstrings используются методы:

Add - добавить строку к массиву: ListBox1.Items.Add(‘Новая строка’);

Delete - удалить строку из массива;

Insert - вставить строку в массив;

Sorted - если указано true, то строки в окне сортируются;

ItemIndex - номер выбранной строки (строка выделяется);

MultSelect - если указано true, то можно выбирать больше, чем одну строку;

ExtendSelect - если указано true, то нужно использовать для выбора нескольких строк клавиши Shift или Ctrl;

SelCount - количество выбранных строк;

Selected - позволяет определить, выбрана ли конкретная строка:

Пример:

procedure TForm1.FormCreate(Sender: TObject);

var

I: Integer;

begin

ListBox1.Items.Add('Blue');

ListBox1.Items.Add('Yellow');

ListBox1.Items.Add('Red');

end;

procedure TForm1.ListBox1Click(Sender: TObject);

begin

if ListBox1.Selected[0] then ListBox1.Color := clBlue;

if ListBox1.Selected[1] then ListBox1.Color := clYellow;

if ListBox1.Selected[2] then ListBox1.Color := clRed;

end;

  1. Раскрывающийся список (класс TComboBox).

Компонент представляет собой строку, справа от которой находится кнопка со стрелкой вниз - «выпадающий» список.

Свойства:

Items, ItemIndex, Sorted - аналогичны ListBox.

Text - содержит выбранную строку и высвечивается в исходном виде.

  1. Панель кнопок выбора (класс TGroupBox).

Компонент представляет собой панель для размещения кнопок.

Свойства:

Caption - заголовок панели.

  1. Группа радиокнопок (класс TRadioGroup).

Компонент представляет собой группу «радиокнопок».

Свойства:

Items - названия кнопок.

ItemIndex - номер выбранной кнопки.

Columns - определяет размещение кнопок в один или два столбца.

  1. Панель (класс TPanel).

Компонент представляет собой панель для размещения инструментов.

Массивы

Как известно, в программировании широко используется структурный тип данных – массив.

Пример: для демонстрации особенностей ввода-вывода элементов массива создадим приложение «Ввод-вывод элементов вектора и матрицы».

Приложение должно обеспечить:

- ввод-вывод элементов вектора, контроль вводимой размерности вектора, контроль правильности ввода самих элементов и подсчет их суммы;

-ввод-вывод элементов матрицы, контроль вводимых количеств строк и столбцов, контроль правильности ввода самих элементов матрицы и транспонирование матрицы (замену строк на столбцы).

Значения свойств компонентов формы

Объект Свойство Значение

Button1 Name btnVector

Caption Ввод

Button2 Name btnVectorWork

Caption Работа с вектором

Button3 Name btnMatrix

Caption Ввод матрицы

Button4 Name btnMatrixWork

Caption Транспонированная матрица

Label1 Caption

Label2 Caption

Label3 Caption Размеры

Label4 Caption *

Label5 Caption

Label6 Caption

Label7 Caption Элементы вектора

Label8 Caption Работа с вектором

Label9 Caption Работа с матрицей

Label10 Caption строк<=10

Label11 Caption столбцов<=5

Edit1 Name edtSizeVector

Edit2 Name edtVector

Edit3 Name edtSizeRow

Edit4 Name edtSizeColumn

Memo1 Name memoMatrix

Memo2 Name memoTransposed

________________________________________________________________________

Все необходимые комментарии будут размещены рядом с соответствующими обработчиками событий.

Разместим на форме следующие компоненты: 4 поля редактирования (Edit), 4 кнопки (Button), 11 меток (Label) и 2 многострочных поля редактирования (Memo). Следует отметить, что компонент Memo удобно использовать, когда нужно вести несколько строк текста. Пиктограмма этого компонента находится на вкладке Standard палитры компонентов. При использовании Memo для ввода матрицы, значения элементов каждой ее строки будем набирать в отдельной строчке компонента. Свойство Text компонента Memo представляет собой строку, состоящую из нескольких строк, разделенных последовательностью символов, сформированных в результате нажатия клавиши <Enter>.

Вид формы приложения «Ввод-вывод элементов вектора и матрицы» показан на рис.18.

Рис. 18. Форма приложения «Ввод-вывод элементов вектора и матрицы»

Ниже приведен текст модуля с необходимыми комментариями :

unit InputVecMat_;