Chapter Three

advertisement
Главные составные части среды программирования ....................................... 1
Компоненты редактирования................................................................................ 3
Компонент – индикатор ........................................................................................... 4
Компоненты – панели............................................................................................... 5
Компоненты – контейнеры ..................................................................................... 7
Табличные компоненты .......................................................................................... 8
Главные составные части среды программирования Delphi
1.
2.
3.
4.
5.
Дизайнер Форм (Form Designer)
Окно Редактора Исходного Текста (Editor Window)
Палитра Компонент (Component Palette)
Инспектор Объектов (Object Inspector)
Справочник (On-line help)
Есть, конечно, и другие важные составляющие Delphi, вроде линейки инструментов,
системного меню и многие другие, нужные Вам для точной настройки программы и среды
программирования. Программисты на Delphi проводят большинство времени переключаясь
между Дизайнером Форм и Окном Редактора Исходного Текста (которое для краткости
называют Редактор). Несмотря на всю важность Дизайнера Форм, местом, где программисты
проводят основное время является Редактор. Логика является движущей силой программы и
Редактор - то место, где Вы ее “кодируете”.
Палит
ра
Комп
онент
позво
ляет
Вам
выбра
ть
нужн
ые
объек
ты
для размещения их на Дизайнере Форм. Палитра Компонент использует постраничную
группировку объектов. Внизу Палитры находится набор закладок - Standard, Additional,
Dialogs и т.д.
Слева от Дизайнера Форм Вы можете видеть Инспектор Объектов.
Информация в Инспекторе Объектов меняется в зависимости от
объекта, выбранного на форме, каждый компонент является настоящим
объектом и можно менять его вид и поведение с помощью Инспектора
Объектов. Инспектор Объектов состоит из двух страниц, первая
страница (Propertis)- это список свойств, вторая (Events) - список событий. Если нужно
изменить что-нибудь, связанное с определенным компонентом, например имя или размер
компонента, тоиспользуются изменяя свойства Caption, Left, Top, Height, и Width.
Последняя важная часть среды Delphi - Справочник (on-line help).
Любой проект имеет, по крайней мере, шесть файлов, связанных с ним. Три из них
относятся к управлению проектом из среды и напрямую программистом не меняются. Вот
эти файлы :
 Главный файл проекта, изначально называется PROJECT1.DPR.
 Первый модуль программы /unit/, который автоматически появляется в начале работы.




Файл называется UNIT1.PAS по умолчанию, но его можно назвать любым другим
именем, вроде MAIN.PAS.
Файл главной формы, который по умолчанию называется UNIT1.DFM, используется для
сохранения информации о внешнем виде главной формы.
Файл PROJECT1.RES содержит иконку для проекта, создается автоматически.
Файл, который называется PROJECT1.OPT по умолчанию, является текстовым файлом
для сохранения установок, связанных с данным проектом. Например, установленные
Вами директивы компилятора сохраняются здесь.
Файл PROJECT1.DSK содержит информацию о состоянии рабочего пространства.
Разумеется, если сохранить проект под другим именем, то изменят название и файлы
с расширением RES, OPT и DSK.
После компиляции программы получаются файлы с расширениями:
DCU - скомпилированные модули
EXE - исполняемый файл
DSM - служебный файл для запуска программы в среде, очень большой, рекомендуется
стирать его при окончании работы.
~PA, ~DP - backup файлы Редактора.
Видимые компоненты
Компоненты редактирования
Label – метки-надписи (Caption)
EditBox – поле вода данных, поле редактирования (Text)
CheckBox – флажок- признак (Checked, State дополнение состояний)
LabeledEdit – поле ввода с надписью (EditLabel и Text)
Компоненты – кнопки
Кнопка Button
Кнопка BitBtn
Кнопка SpeedButton
Виды кнопок:
1. Button ( Standard)
2. BitBtn (Addinational)
3. SpeedButton (Addinational)
Button ( Standard) Кнопка с надписью
Характерные свойства:

Caption - надпись

WordWrap – признак построчного разбиения надписи (true –да, false – нет)
??
BitBtn (Addinational) Кнопка с надписью и изображением
Характерные свойства:

Caption – надпись

Glyph – подключение подготовленного рисунка (*.bmp)

Kind – стиль кнопки как сочетание стандартного рисунка и
надписи (ее можно изменить)

Enabled – виды состояний кнопки:
1. True – надпись видна явно, рисунок «цветной»
2. False – надпись и рисунок затенены
SpeedButton (Addinational) Групповая кнопка
Кнопка, аналогичная BitBtn, но без свойства Kind и WordWrap.
Позволяет зафиксировать нажатой только одну кнопки из группы.
Характерные свойства:

Caption – надпись

Glyph – подключение подготовленного рисунка (*.bmp)

Kind – стиль кнопки на основе сочетания стандартного рисунка и надписи

GroupIndex – принадлежность к группе.
=0 нет группы, нет фиксации
>0 – группа в пределах которой выделенной остается только
одна
нажатая кнопка
Компонент – индикатор
ProgressBar (Win32)
Компонент
в
виде
прямоугольной
области,
символизирующий
частично
заполненный синим цветом
интервал,
соответствующий
значению свойства Pisition
данного компонента.
Характерные свойства:

Min, Max – границы допустимого интервала

Orientation – вертикальная или горизонтальная организация компонента

Smooth – вид заливки непрерывная или прерывистая в виде
прямоугольников (boolean)

Pisition – значение индикатора

Step – величина шага (как + так и - )при изменении свойства Pisition
Характерные методы:

StepIt – изменение свойства Pisition на величину Step

StepBy(<Х>) - изменение свойства Pisition на указанную величину Х
Задача про лифт
SpeedButton
1
5
2
6
3
7
4
8
Старт
Стоп
Вызов диспетчера
ProgressBar
Компоненты – панели
Panel - выделенная прямоугольная область с надписью
RadioGroup – набор зависимых переключателей
GroupBox –
ScrollBox – прямоугольная область с линейками прокрутки
ScrollBar линейка прокрутки
Panel (Standard)
Выделение прямоугольной области для размещения в ней компонент.
Caption – надпись панели
RadioGroup (Standard)
Формирование группы зависимых переключателей выбора.
Характерные свойства:

Caption – надпись

Items – строки с названиями элементов списка.

ItemIndex – номер выделенного элемента списка

Columns – количество столбцов для списка
Убрать Caption
Свойство Items (нажать …) . В окне String List editor ввести имена переключателей
Свойство ItemIndex в 0 - выделен первый из списка
procedure TForm2.RadioGroup1Click(Sender: TObject);
procedure min;
var n:real;
begin
{ обработка матрицы }
n:=10;
Label4.Caption:='Минимальный равен'+floattostr(n);
end;
procedure max;
begin
{ обработка матрицы }
Label4.Caption:='Максимальный равен';
end;
begin
Case RadioGroup1.ItemIndex of
0: min;
1: max;
end;
Компоненты – контейнеры
PageControl (Win32)
Данный компонент организует постраничную организацию контейнера
Для добавлении новой страницы в контекстном меню используем команду
(New_Page).
Характерные свойства:

Caption – имя для одной страницы (TabSheet)

TabPosition – способ размещения страниц в контейнере
tpTop – по верху
tpBottom – по низу
tpLeft – слева
tpRigth – справа

MultiLine – признак многорядности при организации страниц

TabIndex – номер текущей страницы

Style – стиль страниц (обычные, объемные или плоские))
Табличные компоненты
Некоторые свойства таблиц- объекта StringGrid
( Addinational- StringGrid)
FixedCols – число отображаемых на форме столбцов под заголовок
FixedRows - число отображаемых на форме строк под заголовок
RowCount – число строк таблицы
ColCount - число столбцов таблицы
cells[j,i] – ячейка таблицы в i строке и j столбце
Options –параметры компонента (color, font
и др), Options-goEditins –
разрешение на заполнение данными таблицы
заполнение массива Х данными из табличной формы
{ строки и столбцы}
StringGrid1.RowCount:=strtoint(Edit1.text);
StringGrid1.ColCount:=strtoint(Edit2.text);
for i:= 0 to StringGrid1.RowCount-1 do
for j:= 0 to StringGrid1.ColCount-1 do
val( StringGrid1.cells[j,i],x[j,i],t);
{ обработка матрицы минимум}
mi:=x[0,0];
for i:= 0 to StringGrid1.RowCount-1 do
for j:= 0 to StringGrid1.ColCount-1 do
if x[j,i]<mi then mi:=x[j,i];
Label4.Caption:='Минимальный равен'+inttostr(mi);
{ обработка матрицы максимум}
ma:=x[0,0];
for i:= 0 to StringGrid1.RowCount-1 do
for j:= 0 to StringGrid1.ColCount-1 do
if x[j,i]>ma then ma:=x[j,i];
Label4.Caption:='Максимальный равен'+inttostr(ma);
Download