Работа с несколькими модулями

 

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

Чтобы добавить новый модуль в свой проект, необходимо открыть пункт главного меню Delphi File/New/Unit. После этого откроется новый пустой модуль, который содержит следующие разделы:

 

unit Unit2; // заголовок модуля

interface // раздел интерфейса

implementation //раздел реализации

end.

 

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

В разделе реализации располагается код подпрограмм, заголовки которых были приведены в предыдущем разделе. Порядок следования подпрограмм в разделе реализации не важен. В разделе реализации можно также объявлять константы, переменные и типы данных, которые будут видны (доступны) только в данном модуле (локальные).

Также могут существовать два необязательных раздела: инициализация и деинициализация [6].

Чтобы новый модуль был подключен к проекту, необходимо сначала сохранить его в папку, в которой находится проект и все модули. Желательно называть модули значащими именами. Затем нужно выбрать пункт главного меню Delphi Project/Add to Project. После этого откроется диалоговое окно, в котором нужно выбрать кнопку открыть (рисунок 36):

 

Рисунок 36 - Добавление модуля в проект

 

Пример 21. Расчет значения функции на интервале [хн,хк] с шагом h. Изменим пример 20, в котором рассчитывалось значение функции .

Добавим на форму компонент для ввода основания логарифма (LabeledEdit). Расчет функции будет проводиться в новом модуле. Функция расчета называется Rascet .

Код нового модуля:

 

unit Mat;

 

interface

uses SysUtils; //необходимо записать для использования класса

//исключительных ситуаций

// следующие функции можно использовать в любом модуле проекта

function Log(x,a:real):real;

function Rascet(x,a:real;var y:real):boolean;

 

implementation

 

// функция расчета логарифма x по основанию a

function Log(x,a:real):real;

begin

Result:=ln(x)/ln(a);

end;

 

function Rascet(x,a:real;var y:real):boolean;

{функция логического типа. Если значение вычисляемого параметра

у определено, то значение функции True}

begin

try

y:=Log(x,a);

Result:=true;

except

Result:=false;

end;

end;

 

end.

 

Код программы при нажатии на кнопку изменился следующим образом:

 

//в ввод параметров расчета добавилась строка

a:=StrToFloat(Form1.LabeledEdit3.Text);

//--------------

if (a<=0) or (a=1) then

begin

MessageDlg('Ошибка в записи основании

логарифма', mtError,[mbOK],0);

exit;

end;

case Form1.RadioGroup1.ItemIndex of

0:begin

Form1.StringGrid1.Visible:=true;

Form1.Chart1.Visible:=false;

while xn<=xk do

begin

if i>Form1.StringGrid1.RowCount then

Form1.StringGrid1.RowCount:=

Form1.StringGrid1.RowCount+1;

Form1.StringGrid1.Cells[0,i]:=

FloatToStr(xn);








Дата добавления: 2015-04-10; просмотров: 715;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.