Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Инф и Инф технол / ЛЕКЦИЯ 9 Инф ЖД 2 сем

.doc
Скачиваний:
37
Добавлен:
10.04.2015
Размер:
74.24 Кб
Скачать

6

1 курс (ЭЖД)

ЛЕКЦИЯ 9

ОПИСАНИПЕ ОСНОВНЫХ КОМПОНЕНТ ДЛЯ РАЗРАБОТКИ DELPHI-ПРИЛОЖЕНИЙ

2 семестр

В данной лекции дается описание компонентов, приведенных в таблице лекции 8.

Компонент Button (простая кнопка) предназначен для выполнения каких-либо действий, которые инициируются после щелчка мышью по этому компоненту. Его основные свойства: Caption (надпись), Enabled (доступен), Visible (видимый).

Текстовое поле Edit содержит только текст (состоящий из одной строки). Даже в тех случаях, когда оно содержит число, это на самом деле не число, а строка. Поэтому чтобы превратить строки в числовые данные в языке Object Pascal имеются две стандартные функции: StrToFloat (для преобразования строки в вещественное число) и StrToInt (для преобразования строки в целое число). Аргументом у этих функций служит переменная типа String (строка), тип результата – вещественный для первой и целый для второй. Для размещения числового результата в текстовой ячейке нужно сначала выполнить обратное преобразование числа в строку с помощью одной из функций: IntToStr или FloatToStr.

Например, чтобы сложить два вещественных числа из полей Edit1 и Edit2 и поместить результат в поле Edit3, можно выполнить следующие действия:

Edit3.Text:=FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text));

Компонент Label (текстовая метка) предназначен для вывода текстовых сообщений или создания надписей. Он обладает таким свойством, как, например, Font (шрифт), а свойство Font имеет в свою очередь свойства Name (имя или тип шрифта), Color (цвет), Size (размер шрифта; по умолчанию равен 8), и т. д.; в файле формы эти свойства задаются следующим образом:

Label1.Font.Name:='MS Sans Serif';

Label1.Font.Color:=clWindowText;

Label1.Font.Size:=20;

Компонент Memo представляет собой поле для записи группы строк. У него имеется свойство Lines, которое показывает строки, содержащиеся в Memo. Значение Memo.Lines.Strings[1], например, представляет собой конкретную строку, содержащуюся в Memo (в данном случае – вторую по счету, так как нумерация строк начинается с нулевой). С помощью свойства Lines.Add происходит добавление строки в контейнер. Свойство Lines.Count показывает количество строк в контейнере.

Компонент RadioButton (зависимый переключатель) имеет свойство Checked (проверен), с помощью которого осуществляется проверка состояния активности данного переключателя. Это свойство имеет тип Boolean и, соответственно, одно из двух возможных значений – True или False (по умолчанию – False). Если текущее значение этого свойства равно True, то переключатель активен, если False – то нет. В зависимости от активности того или иного переключателя (их должно быть предусмотрено не менее двух) можно выполнять различные действия. При этом включен, т.е. активен (True) может быть только одни из переключателей, остальные автоматически отключены (False). Несколько таких компонентов, как правило, объединяют в группу с помощью компонента RadioGroup, размещая переключатели внутри него.

У компонента ScrollBar (полоса прокрутки) имеется свойство Position, с помощью которого можно задать положение (позицию) бегунка или, наоборот, использовать число, соответствующее положению бегунка. Тип – целый. Например, с помощью оператора

Edit1.Text:=IntToStr(ScrollBar1.Position))

в текстовое поле Edit1 помещается целое число, соответствующее положению бегунка; по умолчанию – от 0 до 100. Свойство Max позволяет изменить максимальное значение, соответствующее крайнему правому положению бегунка, Min – минимальное значение, соответствующее крайнему левому положению.

Компонент GroupBox, подобно RadioGroup, используется для размещения и объединения в нем различных компонентов, например, меток и текстовых полей. Сделав значение его свойства Visible (видимый) равным False, можно скрыть всю группу компонентов, размещенных в нем. В заголовок можно вписать назначение группы используемых компонентов.

Компонент CheckBox (поле-выключатель или флажок), как и RadioButton, имеет свойство Checked, с помощью которого осуществляется проверка состояния активности выключателя. В отличие от компонента RadioButton, данный компонент может быть единственным (поскольку в этом есть смысл) и, кроме того, если таких компонентов используется более двух, то все из них частично или полностью в ходе выполнения программы могут быть как включены (True), так и выключены (False).

Компонент ComboBox (поле с раскрывающимся списком) предназначен для организации выбора нужного пункта (item) – разновидность организации ветвления. Номер выбранного пункта соответствует свойству ItemIndex; значение по умолчанию равно –1. Пункты задаются с помощью свойства Items. Нумерация пунктов начинается с нуля.

Компонент StringGrid (текстовая таблица) предназначен для оформления результатов в табличном виде. Число столбцов определяется свойством ColCount (по умолчанию 5), а число строк – RowCount (по умолчанию – также 5). Общая ширина столбцов задается свойством DefaultColWidth (по умолчанию 64), а высота строк – DefaultRowHeght (по умолчанию 24). Обращение к конкретной ячейке выполняется с помощью свойства Cells[NumColumn,NumRow].

Компонент Shape (поле для изображения графических примитивов) – это специальный компонент, предназначенный для вывода на экран различных геометрических фигур в зависимости от перечислимого свойства Shape. Например, если записано

Shape1.Shape:=stEllipse,

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

Shape1.Pen.Width:=5;

Свойство Color задается через инструмент Brush (кисть), например: Shape1.Brush.Color. В свою очередь, свойство Brush используется для заливки фигуры.

Для закрашивания (заливки) используется стандартная функция RGB (аббревиатура, взятая от английского названия трех базовых цветов: Red, Green и Blue – красный, зеленый, синий). Эта функция имеет три целочисленных параметра (каждый занимает диапазон от 0 до 255), задающих оттенки красного (первый параметр), зеленого (второй) и синего (третий) цвета. Например:

RGB(127,127,127), RGB(0,255,0) и т. д.

Компонент MaskEdit, как и компонент Edit, предназначен для размещения строковых данных. Но данные размещаются по заранее установленной форме – маске. Вид маски зависит от типа данного – число, телефонный номер, даты и т.д. Маска задается с помощью свойства EditMask. При задании маски используются такие символы, как !, /, \, 0, 9, ;, _ #, <, > и т.д. Например, по умолчанию для типа Date (дата) маска имеет формат !99/99/00;1;_, а вид ее __.__.__, что означает произвольные число, месяц и год. Чтобы изменить вид макси, нужно изменить формат ее ввода. Например, при формате !99/99/2\0\00;1;_ маска будет выглядеть так: __.__.200_. Это означает любую дату в пределах от 2000 до 2009 года включительно. Маска, имеющая формат !99/99/1\900;1;_, выглядит __.__.19__ (для всех дат прошлого века). Маска для ввода чисел может иметь формат !99999;1;_, который позволяет вводить числа, содержащие не более пяти произвольных цифр. Маска, имеющая формат !9999\0;1;_, ограничивает вводимые данные числами, делящимися на 10 (последняя цифра не изменяется и равна 0). Цифры 0 и 9 в записи формата числовой маски означают, что при вводе числа заполняются цифрами соответствующие позиции маски, но часть формата, содержащую цифры "9", можно пропустить, в то время как "нулевая" часть формата заполняется обязательно. Чтобы "0" или "9" воспринимались в записи формата как цифры, а не как управляющие символы, перед каждым из них ставится знак "\" (без кавычек).

Компонент Timer (таймер) предназначен для ввода и использования в программе значений текущей системной даты и времени. В программе можно использовать следующие стандартные функции и процедуры, связанные с указанным компонентом:

Time – для инициализации системного времени в программе;

DecodeTime(Time,Hour,Minute,Second,Millisecond) – для ввода значений элементов системного времени в программу;

TimeToStr(Time) – для перевода значения времени в часах, минутах и секундах в строковый формат;

StrToTime(Time) – для перевода строки в формат времени;

Date – для инициализации системной даты в программе;

DecodeDate(Date,Day,Month,Year) – для ввода значений элементов системной даты в программу;

DateToStr(Date) – для перевода значений элементов даты (день, месяц, год) в строковый формат;

StrToDate(Date) – для перевода строки в формат даты;

DayOfWeek(Date) – для вычисления значения дня недели.

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

Компонент TrackBar (шкала) в отличие от компонента ScrollBar представляет шкалу с делениями и также обладает свойством Position. С помощью положения бегунка можно задавать некоторое целое число с шагом, равным единице (по умолчанию от Min=0 до Max=10), которое может быть использовано в дальнейшем; либо позволяет задавать положение бегунка в зависимости от получившегося значения. Например:

TrackBar1.Position:=StrToInt(Edit1.Text)

Свойство Frequency позволяет изменить цену деления шкалы (по умолчанию оно равно 1).

Компонент UpDown ("вверх-вниз") предназначен для изменения данных, размещенных в полях (например, в полях типа Edit или MaskEdit). Он имеет две кнопки с изображением стрелок – верхнюю и нижнюю. Для настройки данных можно использовать свойство Position. Его значение имеет целый тип и увеличивается до значения Max на величину Increment (шаг) или уменьшается до значения Min на ту же величину в зависимости от того, которая из кнопок, верхняя или нижняя, была нажата. Для этого надо сравнить текущее значение Position с предыдущим: если оно больше, то значение в ячейке увеличивается, если меньше, то – уменьшается.

Компонент OpenDialog (открыть диалоговое окно для чтения из файла) предназначен для открытия файла с текстовыми данными (как правило, созданного с помощью редактора Блокнот). Если в программу введен компонент OpenDialog1, то должна быть включена переменная типа TStringList. Пусть, например, это будет переменная с именем Str. Тогда процедура, которая обрабатывает соответствующее событие (скажем, обрабатывает щелчок по кнопке Button1), должна, например, содержать такие строки:

procedure TForm1.Button1Click(Sender: TObject);

var

Str:TStringList;

k:Integer;

begin

Str:=TStringList.Create;

//Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

if OpenDialog1.Execute then

Str.LoadFromFile(OpenDialog1.FileName);

for k:=0 to Str.Count-1 do

Memo1.Lines.Add(Str.Strings[k]);

end;

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

Str:=TStringList.Create;

К конкретной строке, считанной из файла с данными, имеющей номер N, можно обратиться так: Str.Strings[N].

Компонент SaveDialog (открыть диалоговое окно для записи в файл) предназначен для записи результатов в файл (как правило, текстового типа). Результаты, как правило, сначала помещаются в поле Memo, откуда и переписываются в файл. Например, если имеется контейнер Memo1 и компонент SaveDialog1, то для записи строк из Memo1 в текстовый файл в программе должен находиться следующий оператор:

if SaveDialog1.Execute then

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

Компоненты OpenDialog и SaveDialog относятся к невидимым компонентам, так как после запуска приложения они не будут видны. Их размеры на форме не изменяются, и их, как и компонент Timer, можно располагать в любом месте.