Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компоненты страниц.doc
Скачиваний:
4
Добавлен:
11.07.2019
Размер:
177.66 Кб
Скачать

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

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

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

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

В простейшем случае для локализации места ошибки рекомендуется поступать следующим образом. В окне редактирования текста установить курсор в строке перед подозрительным участком и нажать 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 – имя пункта меню;