Читайте также: |
|
{$R *.dfm}
// решает квадратное уравнение
procedure SqRoot(a,b,c: real; var xl, x2: real;
var ok: boolean);
{ a,b,c — коэффициенты уравнения; x1,x2 — корни уравнения;
ok = True — решение, есть ok = False — решения нет }
Var
d: real; // дискриминант
Begin
d:= Sqr(b) - 4*a*c;
if d < 0 then ok:= False // уравнение не имеет решения
Else begin
ok:= True;
x1:= (-b + Sqrt(d)) / (2*a);
x2:= (b + Sqrt(d)) / (2*a);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var
k1,k2: real; // корни уравнения
rez: boolean; // True —решение есть, False —решения нет
mes: string; // сообщение
Begin
SqRoot(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
StrToFloat(Edit3.Text),k1,k2,rez);
Ifrez then
mes:= 'Корни уравнения' + #13 +
'x1='+FloatToStrF(kl,ffGeneral,4,2)+#13+
'x2='+FloatToStrF(k2,ffGeneral,4,2)+#13
Else
mes:= 'Уравнение не имеет решения';
label5.Caption:= mes;
end;
End.
Повторное использование функций и процедур
Разработав некоторую функцию, программист может использовать ее в другой программе, поместив текст этой функции в раздел implementation. Однако этот способ неудобен, т. к. приходится набирать текст функции заново или копировать его из текста другой программы.
Создание модуля
Delphi позволяет программисту поместить свои функции и процедуры в отдельный модуль, а затем использовать процедуры и функции модуля в своих программах, указав имя модуля в списке модулей, необходимых программе (инструкция uses).
Чтобы приступить к созданию модуля, нужно сначала закрыть окно формы и окно модуля формы (в ответ на вопрос о необходимости сохранения модуля следует выбрать No, т. е. модуль, соответствующий закрытой форме, сохранять не надо). Затем из меню File нужно выбрать команду New | Unit. В результате открывается окно редактора кода, в котором находится сформированный Delphi шаблон модуля. Его текст приведен в листинге 6.7.
Листинг 6.7. Шаблон модуля
unit Unit1;
interface
implementation
End.
Начинается модуль заголовком — инструкцией unit, в которой указано имя модуля. Во время сохранения модуля это имя будет автоматически заменено на имя, указанное программистом.
Слово interface отмечает раздел интерфейса модуля. В этот раздел программист должен поместить объявления находящихся в модуле процедур и функций, которые могут быть вызваны из других модулей, использующих данный.
В раздел implementation (реализация) нужно поместить процедуры и функции, объявленные в разделе interface.
В качестве примера в листинге 6.8 приведен модуль программиста, который содержит рассмотренные ранее функции IsInt и isFloat.
Дата добавления: 2015-02-16; просмотров: 71 | Поможем написать вашу работу | Нарушение авторских прав |