39897

Основы визуального программирования. Компоненты страницы Standard

Реферат

Информатика, кибернетика и программирование

Форма – объект, в котором помещаются другие компоненты для создания пользовательского интерфейса приложения. Сама форма представляет собой окно Windows, размещать на ней можно как визуальные компоненты, так и не визуальные. Каждая форма обязательно «привязана» к модулю (Unit)

Русский

2013-10-11

173.5 KB

0 чел.

Основы визуального программирования. Компоненты страницы Standard 

Вся работа по проектированию и разработке приложений основана на использовании компонента форма (TForm).

Форма – объект, в котором помещаются другие компоненты для создания пользовательского интерфейса приложения. Сама форма представляет собой окно Windows, размещать на ней можно как визуальные компоненты, так и не визуальные. Каждая форма  обязательно «привязана» к модулю (Unit).

Модуль состоит из кода, который реализует функционирование приложения, а также обработку событий для формы и ее компонентов. Информация о форме хранится в двух файлах: *.dfm, *.pas.

Первый файл двоичный – он хранит образ формы и ее свойства. Второй файл описывает функционирование обработчиков событий и поведение компонент. Оба файла автоматически синхронизируются, т.е. если добавить новую форму в проект, связанный с ним файл с расширением *.pas будет автоматически создан и добавлен в проект.

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

Свойства формы:

Active – содержит значение true, если форма имеет фокус ввода;

ActiveControl – объект на форме, который имеет фокус ввода;

BorderStyle – вид границ формы;

Canvas – область рисования формы;

ClientRect

ClientHeight   размеры формы

ClientWidth

FormStyle – стиль формы;

HelpFile – название файла справки для формы;

Icon – значок, обозначающий форму, когда она свернута;

KeyPreview – содержит значение истина, если форма будет получать информацию о нажатых клавишах раньше, чем расположенные на ней объекты;

Menu – ссылка на главное меню формы;

PixelsPerlnch – число пикселей на дюйм, применяется для настройки формы в зависимости от экранного разрешения;

Position – положение формы на экране в момент ее открытия в программе;

PrintScale – масштабирование формы при выводе на печать;

Scaled – содержит значение истина, если размер формы будет подгоняться в соответствии с размером PixelsPerlnch;

Visible – содержит значение истина, если форма будет видима во время работы программы;

WindowState – состояние программы.

ОС Windows функционирует по принципу обработки возникающих в ней событий: щелчок мыши по кнопке, выбор пункта меню, нажатие клавиши, достижение встроенным таймером заданного значения времени – и передает их выполняющимся в своей среде программам, путем посылки соответствующих сообщений. Каждый компонент, в том числе и форма, содержит обработчики таких сообщений на странице Events инспектора объектов.

Форма имеет следующий набор событий:

OnActivate – форма стала активной;

OnClose – форма закрывается;

OnCloseQuery – поступил запрос на закрытие формы;

OnCreate – форма создается. В обработчике данного события следует задавать действия, которые должны происходить в момент со здания формы, например установка начальных значений;

OnDestroy – форма уничтожается;

OnHelp – форма получила запрос на выдачу справочной информации;

OnHide – стала невидимой;

OnShow – стала видимой.

Страница Standard представляет набор компонент (объектов), которые наиболее часто используются при разработке приложений. Рассмотрим компоненты, которые представляет данная страница:

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

Для того, что бы разместить компонент на форме необходимо выбрать в меню компонентов Standard пиктограмму, затем щелкнуть в том месте формы, где его необходимо разместить компонент. С помощью инспектора объектов настраиваются свойства компонента: шрифт, размер символов, отображаемых в строке и т.д.

Сам текст, который будет отображаться задается свойством Text (строкового типа). Если вводятся не строковые значения, их необходимо преобразовать из строковой записи в соответствующий тип:

- для целых StrToInt();

- для вещественных StrToFloat();

Информация, которая отображается данным компонентом также должна быть преобразована, если она не строкового типа (FloatToStr, IntToStr).

Основное событие данного компонента OnChange – осуществляет контроль вводимого текста.

 Пример: Фильтрация всех символов, которые не соответствуют представлениям вещественного числа.

 

 var OldText: string;

procedure TForm1.Edit1Change(Sender: TObject);

begin

if Edit1.Text <> ' ' then

try

StrToFloat (Edit1.Text);

OldText:= Edit1.Text;

except Edit1.Text:= OldText;

end;

end;

Для вывода результатов работы программы обычно используется текстовое окно, которое представлено компонентом TMemo. Компонент представляет пронумерованный набор строк, нумерация начинается с нуля. Информация, которая отображается построчно в данном компоненте, находится в массиве строк Memo1.Lines. Каждая строка имеет тип String, и как и в предыдущем компоненте при выводе иной информации необходимо осуществлять ее преобразование.

Добавление новой строки в окно осуществляется с помощью метода Memo1.Lines.Add (переменная типа String).

Если число строк в массиве превышает размер окна, то для просмотра всех строк можно использовать полосы прокрутки, которые устанавливаются свойством ScrollBarsSSBoth.

Для очистки содержимого окна используется метод Memo1.Clear.

Не одно разрабатываемое приложение не обходится без пояснительных надписей. Для нанесения таких надписей используется компонент TLabel – метка.

Основные свойства данного компонента:

Caption – задает саму надпись;

 Font – шрифт надписи;

 AutoSize = true – истина, если метка изменяет свои размеры в зависимости от помещенного в нее текста;

 WordWrap – разрешает либо запрещает разрыв строки на границе слова.

Чаще всего выполнение каких либо действие или получение результата осуществляется в ответ на нажатие кнопки или щелчок мыши. Кнопка реализована компонентом TButton. Событие, которое обрабатывается при нажатии кнопки носит название OnClick.

Для того, чтобы кнопка выполняла какие-либо действия по нажатию, необходимо написать соответствующий обработчик события. Среда Delphi автоматизировала данный процесс и достаточно упростила подобную процедуру: дважды щелкнув по кнопке на форме, появиться текст программы, дополненный заголовком процедуры обработчика события – нажатия кнопки (Procedure TForm1.Button1.Click(Sender:TObject);). Между операторными скобками BeginEnd вводим набор операторов, которые будут выполняться при возникновении данного события.

 Рассмотрим пример: при нажатии кнопки выполнить сложение двух чисел. Ввод данных осуществлять в текстовые поля, результат отображается при помощи компонента метка.

procedure TForm1.Button1Click(Sender: TObject);

begin

label4.Caption:= IntToStr (StrToInt (Edit1.Text)+ StrToInt (Edit2.Text));

end;

Результат работы процедуры:

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

Событие

Описание события

OnKeyPress

Возникает при нажатии клавиши на клавиатуре. Обычно используется в том случае, когда необходима реакция на нажатие одной из клавиш, т.к. параметр данного метода содержит ASCII-код нажатой клавиши.

OnKeyDown

Возникает при нажатии клавиши на клавиатуре

OnKeyUp

Являет парным событием для OnKeyDown и возникает при отпускании ранее нажатой клавиши

OnClick

Возникает при нажатии кнопки мыши в области компонента

OnDblClick

Возникает при двойном нажатии кнопки мыши в области компонента

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

TCheckBox – флажок с независимой фиксацией, позволяет выбрать или отменить какое-либо действие (функцию). Может находиться в трех состояниях: включенное, выключенное и неактивное.

Основные свойства:

Caption – надпись;

Alingment – расположение надписи относительно флажка;

State – состояние (cbUnchecked – нет, cbChecked – да, cbGrayed – неактивен).

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

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

case CheckBox1.State of

cbUnchecked: Label1.Caption:= 'Выключен';

cbGrayed: Label1.Caption:= 'Затемнен';

cbChecked :Label1.Caption:= 'Включен';

end;

end;

Результат работы процедуры:

 

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

Пример: при изменении состояния переключателя, о его текущем состоянии будет выведена надпись.

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

if RadioButton1.Checked

then Label1.Caption:= 'Включен первый';

end;

procedure TForm1.RadioButton2Click(Sender: TObject);

begin

if RadioButton2.Checked

then Label1.Caption:= 'Включен второй';

end;

Результат работы процедуры:

 

Как правило компоненты группируются, т.е. помещаются в контейнер. Контейнером может быть сама форма, компоненты TPanel, TGroupBox, TRadioGroup.

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

Свойства:

Columns – определяет количество столбцов-переключателей;

ItemIndex – содержит индекс выбранного переключателя;

Items – список строк с заголовками элементов.

Пример: при выборе определенного переключателя выдать сообщение о его выборе.

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

if RadioGroup1.ItemIndex > -1 then

Label1.Caption:= 'Выбран '+ RadioGroup1.Items [RadioGroup1.itemindex];

end;

Результат работы процедуры:

 

TGroupBox и TPanel, - компоненты, которые обладаю, на первый взгляд, схожими областями применения. Оба компонента можно использовать для взятия части формы в рамку и для группирования элементов управления путем размещения их внутри области, охваченной этими объектами. В частности, компонент TGroupBox иногда используется для создания нескольких групп переключателей, когда обойтись стандартными возможностями TRadioGroup не удается.

Панель обладает более общими свойствами. Это не только средство создания рамок разнообразного вида. Панель также предназначена для объединения произвольных элементов управления с возможностью их перемещения по форме вместе с родительской панелью и стыковки с другими панелями.

Помимо переключателей страница Standard предлагает компоненты, которые позволяют создавать списки:

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

Основные свойства:

Canvas – канва для программной прорисовки элементов;

Columns – количество колонок в списке;

ItemIndex – содержит индекс сфокусированного элемента;

Items – набор строк, которые показаны в компоненте;

Sorted – запрещает либо разрешает сортировку.

Пример: в поле надписи отображается результат сложения чисел.

procedure TForm1.Button1Click(Sender: TObject);

begin

label4.Caption:= IntToStr (StrToInt (Edit1.Text)+ StrToInt (Edit2.Text));

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

ListBox1.Items.Add(Label1.Caption);

end;

Результат работы процедуры:

TComboBox – комбинированный или раскрывающийся список. Представляет собой комбинацию обычного списка ListBox и текстового поля TEdit, следовательно имеет те же свойства.

Существует пять модификаций компонента, определяемых его свойством Style:

  •  csSimple
  •  csDropDown
  •  csDropDownList
  •  csOwnerDrawFixed
  •  csOwnerDrawVariable.

В первом случае список всегда раскрыт, в остальных он раскрывается после нажатия кнопки справа от редактора.

Привычные нам программы под Windows содержат основное меню, которое предоставляет пользователю выбирать необходимые действия. Страница Standard позволяет создавать главное меню формы с помощью компонента TMainMenu. Для отображения меню на форме необходимо указать его имя в свойстве формы Menu.

Основные свойства:

Caption – имя пункта меню;

Items – создает подпункты меню;

BitMap – ссылка на изображение;

Hint – содержит текст подсказки;

ShortCut – клавиша быстрого выбора пункта меню;

& - ставится перед названием пункта меню для вызова меню по нажатию клавиши (по первой букве).

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

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

Каждое приложение может иметь несколько форм, одна из которых является главной. Главная форма отображается первой при запуске программы, а при закрытии главной формы прекращает работу все приложение. По умолчанию в DELPHI главной делают самую первую форму: Form1, а программно можно сделать любую другую.

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

Отображение и скрытие формы

procedure TForm1.Button3Click(Sender: TObject);

begin

form2.visible:=true;

form3.show();

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

form2.Visible:=false;

form3.Hide;

end;

Закрытие формы

procedure TForm3.Button1Click(Sender: TObject);

begin

form3.Close;

end;


Средства отладки программ

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

Ошибки первого уровня (ошибки компиляции) связаны с неправильной записью операторов (орфографические и синтаксические). При обнаружении ошибки компилятор останавливается напротив первого оператора, в котором обнаружена ошибка. В нижней части экрана появляется текстовое окно, содержащее сведения обо всех найденных ошибках в проекте. Каждая строка этого окна содержит имя файла, в котором найдена ошибка, номер строки с ошибкой и характер ошибки. Для быстрого перехода к интересующей ошибке необходимо дважды щелкнуть в строке с ее описанием. Для получения более полной информации о характере ошибки необходимо обратиться к справке. Следует обратить внимание на то, что одна ошибка может повлечь за собой другие, которые исчезнут при ее устранении. Поэтому следует исправлять ошибки последовательно, сверху вниз и, после каждого исправления компилировать программу снова.

Ошибки второго уровня (ошибки выполнения) связаны с ошибками выбранного алгоритма решения или с неправильной программной реализацией алгоритма. Эти ошибки проявляются в том, что результат расчета оказывается неверным либо происходит переполнение, деление на ноль и др. Поэтому перед использованием отлаженной программы ее надо протестировать, т.е. сделать просчеты при таких комбинациях исходных данным, для которых заранее известен результат.  Если тестовые расчеты указывают на ошибку, то для ее поиска следует использовать встроенные средства отладки среды.

В простейшем случае для локализации места ошибки рекомендуется поступать следующим образом. В окне редактирования текста установить курсор в строке перед подозрительным участком и нажать F4 (выполнение до курсора). Выполнение программы будет остановлено на строке, содержащей курсор. Теперь можно увидеть, чему равно значение интересующих переменных. Для этого можно поместить на нужную переменную курсор (на экране будет высвечено значение) либо нажать Ctrl+F7 и в появившемся диалоговом окне указать интересующую переменную (с помощью данного окна можно также изменить значение переменной во время выполнения программы). Нажимая клавишу F7 (пошаговое выполнение), можно построчно выполнять программу, контролируя изменения тех или иных переменных и правильность вычислений. Если курсор находится внутри цикла, то после нажатия F4 расчет останавливается после одного выполнения тела цикла. Для продолжения расчетов следует нажать <Run> меню Run.


Палитра компонентов. Компоненты страниц (
Standard, System, Dialogs, Samples). Размещение нового компонента

 Компоненты страницы Standard

TLabel – метка, предназначена для размещения на форме текстовых надписей.

Свойства компонента:

 Caption – задает саму надпись;

 Font – шрифт надписи;

 AutoSize = true – истина, если метка изменяет свои размеры в зависимости от помещенного в нее текста;

 WordWrap – разрешает либо запрещает разрыв строки на границе слова.

 TEdit – однострочное редактируемое текстовое поле. Сам текст задается свойством Text.

Основное событие:

 OnChange – осуществляет контроль вводимого текста.

 Пример: Фильтрация всех символов, которые не соответствуют представлениям вещественного числа.

 

 var OldText: string;

procedure TForm1.Edit1Change(Sender: TObject);

begin

if Edit1.Text <> ' ' then

try

StrToFloat (Edit1.Text);

OldText:= Edit1.Text;

except Edit1.Text:= OldText;

end;

end;

TMemo – многострочное редактируемое поле. Представляет собой пронумерованный набор строк, нумерация начинается с нуля. Введенный текст задается свойством Lines. Максимальный размер текста 32 Кб.

TButton – кнопка - позволяет выполнять какие-либо действия при нажатии кнопки. Событие, которое обрабатывается при нажатии кнопки OnClick.

Пример: при нажатии кнопки выполнить сложение двух чисел. Ввод данных осуществлять в текстовые поля, результат отображается при помощи компонента метка.

procedure TForm1.Button1Click(Sender: TObject);

begin

label1.Caption:= IntToStr (StrToInt (Edit1.Text)+ StrToInt (Edit2.Text));

end;

TCheckBox – флажок используется для осуществления выбора.

Свойства:

Caption – надпись;

Alingment – расположение надписи относительно флажка;

State – состояние.

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

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

case CheckBox1.State of

cbUnchecked: Label1.Caption:= 'Выключен';

cbGrayed: Label1.Caption:= 'Затемнен';

cbChecked :Label1.Caption:= 'Включен';

end;

end;

TRadioButton – радиокнопка или переключатель. На форме их должно быть как минимум два. Используются для выбора одного из нескольких взаимоисключаемых решений.

Свойства аналогичны свойствам предыдущего компонента +

Checked – может принимать значение истина только в одном компоненте, в остальных – ложь.

Пример: при изменении состояния переключателя, в его текущее состояние будет выведена надпись.

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

if RadioButton1.Checked

then Label1.Caption:= 'Включен первый';

end;

procedure TForm1.RadioButton2Click(Sender: TObject);

begin

if RadioButton2.Checked

then Label1.Caption:= 'Включен второй';

end;

Как правило компоненты группируются, т.е. помещаются в контейнер. Контейнером может быть сама форма, компоненты TPanel, TGroupBox, TRadioGroup.

Пример: при выборе определенного переключателя выдать сообщение о его выборе.

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

if RadioGroup1.ItemIndex > -1 then

Label1.Caption:= 'Выбран '+ RadioGroup1.Items [RadioGroup1.itemindex];

end;

TListBox – список, использующийся для выбора одного или нескольких пунктов. Может содержать как текст строки, так и изображения.

Основные свойства:

Columns – количество колонок в списке;

Items – набор строк, которые показаны в компоненте;

Sorted – запрещает либо разрешает сортировку;

Пример: в поле надписи отображается результат сложения чисел.

procedure TForm1.Button2Click(Sender: TObject);

begin

ListBox1.Items.Add(Label1.Caption);

end;

TComboBox – комбинированный или раскрывающийся список. Представляет собой комбинацию обычного списка ListBox и текстового поля TEdit, следовательно имеет теже свойства.

TScrollBar – полоса прокрутки. Полосы прокрутки обычно используются как вспомогательные инструменты в других элементах управления – списках, текстовых областях и прочих.

На панели Standard имеются два компонента: TGroupBox и TPanel, - которые обладаю, на первый взгляд, схожими областями применения. Оба компонента можно использовать для взятия части формы в рамку и для группирования элементов управления путем размещения их внутри области, охваченной этими объектами. В частности, компонент TGroupBox иногда используется для создания нескольких групп переключателей, когда обойтись стандартными возможностями TRadioGroup не удается.

Панель обладает более общими свойствами. Это не только средство создания рамок разнообразного вида. Панель также предназначена для объединения произвольных элементов управления с возможностью их перемещения по форме вместе с родительской панелью и стыковки с другими панелями.

TMainMenu – главное меню формы. Для отображения меню на форме необходимо указать его имя в свойстве формы Menu.

Основыне свойства:

Caption – имя пункта меню;

Items – создает подпункты меню;

BitMap – ссылка на изображение;

Hint – содержит текст подсказки;

ShortCut – клавиша быстрого выбора пункта меню;

& - ставится перед названием пункта меню для вызова меню по нажатию клавиши (по первой букве);

TPopupMenu – контекстное меню, появляется при щелчке правой кнопки мыши. Может быть создано для любого компонента, только в свойстве нужно указать имя сформированное в PopupMenu.

Использование форм

Каждое приложение может иметь несколько форм, одна из которых является главной. Главная форма отображается первой при запуске программы, а при закрытии главной формы прекращает работу все приложение. По умолчанию в DELPHI главной делают самую первую форму: Form1, а программно можно сделать любую другую.

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

Отображение и скрытие формы

procedure TForm1.Button3Click(Sender: TObject);

begin

form2.visible:=true;

form3.show();

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

form2.Visible:=false;

form3.Hide;

end;

Закрытие формы

procedure TForm3.Button1Click(Sender: TObject);

begin

form3.Close;

end;


Компоненты страницы
Additional

TBitBtn – компонент предназначен для создания кнопки с картинкой. В системе имеется набор готовых шаблонов. Каждая такая картинка может состоять из 1- 4 частей, равных по ширине. Первая часть – изображение кнопки в обычном режиме, вторая – изображение «отключенной» недоступной кнопки, третья – изображение на кнопке после щелчка мыши, четвертая – изображение на «нажатой» кнопке.

Основные свойства:

Glyph – изображение на поверхности кнопки;

Kind – определяет одну из 11 стандартных разновидностей кнопок:

 bkCustom – реакция кнопки определена программистом;

 bkOk – закрытие формы стандартным действием. В свойство ModalResult записывается значение mrOk;

 bkCancel – закрытие формы с отказом от изменений. В свойство ModalResult записывается значение mrCancel;

 bkYes – подтверждение изменений. В свойство ModalResult записывается значение mrYes;

 bkNo – отказ от изменений. В свойство ModalResult записывается значение mrNo;

 bkHelp – вызов раздела справочной системы в соответствии со значением, записанным в свойство HelpContext;

 bkClose – закрытие формы;

 bkAbort – прерывание. Форма не закрывается;

 bkRetry – повтор попытки;

 bkIgnore – игнорирование возникшей ситуации;

 bkAll – подтверждение всех изменений.

Для каждого из видов кнопок, за исключением bkCustom, в системе имеется особая картинка.

TSpeedButton – кнопка панели инструментов. Используется при формировании панелей управления «быстрыми» командными кнопками.

Основные состояния этой кнопки:

- может фиксироваться в утопленном состоянии;

- не может закрыть модальное окно;

- не может быть кнопкой по умолчанию. Эта кнопка должна быть отнесена к какой-нибудь другой группе кнопок, т.е. GroupIndex <> 0.

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

TMaskEdit – поле с маской ввода, предназначено для ввода текста соответствующего некоторому шаблону.

Свойства:

EditText – содержит текст до наложения на него маски ввода;

Text – содержит либо исходный текст, либо текст после наложения маски;

EditMask – задает шаблон ввода. Шаблон состоит из трех частей отделенных друг от друга точкой с запятой. Первая часть – маска ввода, вторая – символ 0 или 1 (1 – в свойство Text будет записан результат наложения маски), третье – это символ, который будет присутствовать в местах предназначенных для ввода символов после запуска программы.

Пример: сформировать поле для ввода московских номеров телефонов.

MaskEdit1.EditMask := 'Tel. +7(\0\95) 000-00-00;*;*';

TStringGrid – текстовая таблица, в ячейках которой располагаются произвольные текстовые строки. Вся таблица делится на две части: фиксированную и рабочую. Фиксированная служит для показа заголовков строк и столбцов. По умолчанию занимает верхнюю строку и левый столбец.

Свойства:

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

RowCount  

 Максимальное количество строк и столбцов

ColCount

Для редакции ячеек вручную в свойсте OptionsGoEditing устанавливаем значение true.

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

procedure TForm1.FormCreate(Sender: TObject);

var c, r: integer;

begin

StringGrid1.ColCount:=10;

StringGrid1.RowCount:=10;

for c:= 1 to StringGrid1.ColCount-1 do

for r:= 1 to StringGrid1.RowCount-1 do

StringGrid1.Cells[c,r]:= '('+ IntToStr(c)+','+IntToStr(r)+')';

end;

TImage – позволяет добавить на форму изображение. Изображение хранится в свойстве Picture.

TShape – стандартная фигура.

Свойства:

Shape – вид геометрической фигуры.

TBevel – используется для создания рамок и отдельных линий оформления. Напоминает панель, но не предназначен для группировки элементов.

Свойства:

Shape – вид компонента;

Style – стиль компонента;

TChart – диаграмма, предназначена для графического представления численных данных.

Свойства:

Series – тип диаграммы;

Пример: построение графика функции sin(x).

procedure TForm1.FormActivate(Sender: TObject);

var x: integer;

begin

for x:= 0 to 20 do

Chart1.Series[1].addXY (x, sin(x),'CLRed');

end;

procedure TForm4.Button1Click(Sender: TObject);

begin

series1.addxy (

StrToFloat (Edit1.Text),

StrToFloat (Edit1.Text),

'Эксперимент А', clred);

end;


Компоненты страницы
System

TTimer – таймер, служит для отсчета интервалов реального времени. Данный компонет не видим и имеет следующие свойства:

Interval – определяет интервал времени в миллисекундах, который должен пройти с момента включения таймера;

Enabled – при установке значения истина таймер включен;

Пример: Программа имитирует работу электронных часов.

procedure TForm4.Timer1Timer(Sender: TObject);

var DateTime: TDateTime;

begin

DateTime:= Time; // возвращает текущее время

label1.Caption:= TimeToStr(DateTime);

end;

TPaintBox – окно для рисования произвольных изображений. Рисование осуществляется в обработке события OnPaint.

Графические инструменты содержатся в свойствах:

Font – шрифт;

Pen – перо;

Brush – кисть;

Пример: использования данного компонента (рисует верхнюю половинку эллипса)

procedure TForm4.PaintBox1Paint(Sender: TObject);

var x, y: integer;

begin

with PaintBox1.Canvas do

begin

brush.Color:= clRed;

Ellipse (0,0, width, height);

font.Name:= 'Arial';

font.Size:= height div 5;

font.Style:= [fsBold, fsItalic];

font.Color:=clWhite;

x:= (width - TextWidth ('Delphi'))div 2;

y:= (height - TextHeight ('D'))div 2;

TextOut (x,y,'Delphi');

end;

end;

Кроме пера, кисти и шрифта существует еще графический объект Regions (область). Область образуется с помощью комбинации простейших геометрических фигур – прямоугольников, эллипсов. С их помощью можно создать непрямоугольные кнопки, цветные области окна.

Пример: создание эллиптического окна программы.

procedure TForm4.PaintBox1Paint(Sender: TObject);

var Rgn: Cardinal;

begin

Application.CreateForm(TForm4.Form4);  // создать обычное окно

with Form4.Canvas do

begin

Rgn:= create EllepticRgn (0,0,Width,Height);  // в нем эллипс

SetWindowRgn (Handle,Rgn,true); // показать вместо окна

end;

Application.Run;

end;

Функции для работы с объектами:

CombireRgn – объединяет две области в одну;

Create EllepticRgn – создает эллиптическую область;

Create PolygonRgn 0 создает область в виде многоугольника;

Create RoundRectRgn – создает область со скругленными углами;

FillRgn – закрашивает область кистью;

FrameRgn – обводит (но не заполняет) область кистью.

TMediaPlayer – медиаплеер, представляет собой набор кнопок, предназначенных для управления различными мультимедийными устройствами. Тип мультимедийного файла, который будет воспроизводится задается в свойстве DeviceType и имя файла в свойстве – FileName.

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

Пример: как можно программно извлечь диск из дисковода, например по щелчку на форме.

procedure TForm1.FormClick(Sender: TObject);

begin

MediaPlayer1.DeviceType:=dtCDAudio;

MediaPlayer1.Open;

MediaPlayer1.Eject;

MediaPlayer1.Close;

end;

Компоненты страницы Dialogs

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

Работа со стандартными диалоговыми окнами осуществляется в три этапа:

- на форму помещается соответствующий компонент и осуществляется настройка его свойств;

- вызов метода Execute, который создает и показывает на экране диалоговое окно;

- использование введенных с помощью диалогового окна данных – имя файла, выбранный шрифт.

Пример: программа для просмотра содержимого текстового файла.

procedure TForm1.Button1Click(Sender: TObject);

var s: string;

f: TextFile;

begin

OpenDialog1.Filter:='Текстовые файлы (*.txt)'+'Файлы Pascal (*.pas)';

if OpenDialog1.Execute and FileExists (OpenDialog1.FileName) then

begin

AssignFile (f,OpenDialog1.FileName);

Reset(f); // открываем

Memo1.Lines.Clear; // очистка текстового поля

while not Eof(f) do // наполняем его

begin

readln (f,s);

Memo1.Lines.Add(s);

end;

closefile (f);

end;

end;

TOpenDialog – открытие файла.

TSaveFile – сохранение файла.

Свойства:

FileName – путь к файлу;

InitialDir – устанавливает начальный каталог;

OpenDialog1.InitialDir:= ‘C:\programfile\borland’;

DefaultExt – формирует полное имя файла, если при ручном вводе пользователь не указал расшифровку;

TOpenPicteruDialog – открытие изображения.

TSavePicteruDialog – сохранение изображения.

Отличается от двух предыдущих в том, что:

- в них предусмотрены стандартные фильтры для выбора графических файлов;

- в диалоговые окна включены панели для предварительного просмотра выбранного файла.

TFontDialog – окно выбора шрифта.

Свойства:

Device – устройство, для которого выбирается шрифт:

fdScreen – экран;

fdPrinter – принтер;

fdBoth – шрифты поддерживаемые экраном и принтером.

 TColorDialog – окно выбора цвета.

TPrintDialog – окно настроек параметров печати.

TPrinterSetupDialog – окно настроек параметров принтера.

TFindDialog – окно поиска.

Свойства:

Options – настройки диалогового окна:

 frDown – поиск вперед по тексту;

 frDisableUpDown – запрещает выбор направления поиска;

FindText – определяет образец поиска.

Пример: при нажатии на кнопку «найти далее» возникнет событие OnFind. Обработчик события должен найти образец в тексте и показать его.

procedure TForm1.FindDialog1Find(Sender: TObject);

var SelPos: integer;

begin

with TFindDialog (Sender) do

begin

SelPos:= Pos (FindText,Memo1.Lines.Text);

if SelPos>0 then

begin

Memo1.SelStart:= SelPos-1; // выделяем найденный текст

Memo1.SelLength:= Length (FindText);

end

else

ShowMessage ('Текст' +FindText+ 'не найден');

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

FindDialog1.Execute;

end;

TReplaceDialog – окно поиска и замены.

ReplaceText – содержит текст замены.

Событие OnReplace возникает при нажатии на кнопку «Заменить».


 

А также другие работы, которые могут Вас заинтересовать

67706. Проектирование предмета фототехники (на примере фотоаппарата) 538.09 KB
  Актуальность темы курсовой работы обосновывается тем, что фототехника в настоящее время является единственным средством для получения снимков, которые используются не только при создании личных семейных архивов и творчестве, но и в науке. Объект курсовой работы – фотоаппарат «Смена 8М».
67707. Расчет и оптимизация конструкции охладителей для силовых транзисторов 375.78 KB
  Напряжение на выходе второго канала электронного блока питания ЭБП: 63В Номинальный ток нагрузки первого канала ЭБП: 07А Номинальный ток нагрузки второго канала ЭБП: 3А Нестабильность входного напряжения первого канала ЭБП: 25 Нестабильность...
67708. Понятие и предмет гражданского права 115.5 KB
  ГК определяет правовое положение участников гражданского оборота основания возникновения и порядок осуществления права собственности и других вещных прав исключительных прав на результаты интеллектуальной деятельности и приравненные к ним средства индивидуализации интеллектуальных прав...
67709. Анализ финансово-хозяйственной деятельности предприятия 574 KB
  В современных социально-экономических условиях залогом успешного ведения деятельности хозяйствующего субъекта является его устойчивое финансовое состояние, которое выступает индикатором конкурентоспособности предприятия. В связи с этим из большего потока информации, циркулирующей на предприятии...
67710. Анализ технологического процесса как объекта управления и автоматизации 11.18 MB
  В качестве технологического показателя эффективности на стадии эксплуатации является близость концентрации целевого компонента реакции к оптимальному значению, которые определяются на стадии проектирования. Отличие этих величин друг от друга обусловлено наличием возмущающих воздействий различного рода.
67712. Ринок і держава 186.14 KB
  Тому державне регулювання економічних соціальних екологічних та інших проблем якраз надає економічному механізму динамічності стабільності та соціальної напрямленості. Якщо прихильники державного активізму виходять з провалу ринку то неоконсерватори обґрунтують необхідність приватизації...