
- •Семинар 4
- •Кнопка выбора опции (класс tCheckBox).
- •Радиокнопка (класс tRadioBotton).
- •Список (класс tListBox).
- •Interface
- •V : tVector;
- •Implementation
- •I, p : Integer;
- •I : Integer; //параметр цикла, индекс
- •Val ( StrN,n,Code );
- •Val (StrI, V[I], Code);
- •I , j : Integer;
- •Val ( StrRow, SizeRow, Code);
- •Val ( StrColumn, SizeColumn, Code );
- •Val ( StrJ,a[I,j],Code);
- •I : Integer;
- •I, j, t : Integer;
- •1.Ввод массива StringGrid
- •2.Пример2 Электронная таблица
Семинар 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.
Кнопка выбора опции (класс tCheckBox).
Компонент представляет собой квадратик, внутри которого стоит или не стоит галочка, используется для обозначения выбора или отмены опций.
Свойства:
Caption - название кнопки (заголовок располагается правее кнопки).
Checked - определяет включенное (true) и выключенное (false) состояние кнопки.
Alignment - определяет выравнивание заголовка:
taLegtJustify - выравнивание по левой границе окна компонента;
taRightJustify - выравнивание по правой границе.
AllowGrayed - определяет количество состояний кнопки (true - 3 состояния, включая неопределенное - серая галочка, а false -2 состояния).
State - определяет состояния кнопки:
cbGrayed - неопределенное состояние;
cbChecked - включено;
cbUnchecked - выключено.
Радиокнопка (класс tRadioBotton).
Компонент представляет собой кружок, внутри которого стоит или не стоит точка. Используется также как и предыдущий для обозначения выбора или отмены опций, но принято использовать эти кнопки, для взаимоисключающих вариантов.
Все свойства аналогичны кнопке выбора опции.
Список (класс 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;
Раскрывающийся список (класс TComboBox).
Компонент представляет собой строку, справа от которой находится кнопка со стрелкой вниз - «выпадающий» список.
Свойства:
Items, ItemIndex, Sorted - аналогичны ListBox.
Text - содержит выбранную строку и высвечивается в исходном виде.
Панель кнопок выбора (класс TGroupBox).
Компонент представляет собой панель для размещения кнопок.
Свойства:
Caption - заголовок панели.
Группа радиокнопок (класс TRadioGroup).
Компонент представляет собой группу «радиокнопок».
Свойства:
Items - названия кнопок.
ItemIndex - номер выбранной кнопки.
Columns - определяет размещение кнопок в один или два столбца.
Панель (класс 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_;