Иллюстрированный самоучитель по Delphi 7 для начинающих

Последовательность инструкций

Часто, работая над программой, программист замечает, что некоторая последовательность инструкций встречается в разных частях программы несколько раз. Например, в листинге 6.1 приведена программа пересчета веса из фунтов в килограммы. Обратите внимание, что инструкции, обеспечивающие ввод исходных данных из полей редактирования, расчет и вывод результата (в листинге они выделены фоном), есть как в процедуре обработки события на кнопке Вычислить, так и в процедуре обработки события OnKeyPress в поле Edit1.

Листинг 6.1. Пересчет веса из фунтов в килограммы.

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms, Dialogs, StdCTRLs;
type
TForm1 = class(TForm)
Label1: TLabel; // пояснительный текст
Edit1: TEdit; // поле ввода веса в фунтах
Button1: TButton; // кнопка Вычислить
Label2: TLabel; // поле вывода результата
procedure ButtonlClick(Sender: TObject);
procedure EditlKeyPress(Sender: TObject;
var Key: Char); private
{ Private declarations } public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// щелчок на кнопке Вычислить
procedure TForml.Button1Click(Sender: TObject);
var
f: real; // вес в фунтах
kg: real; // вес в килограммах
begin
f: = StrToFloat(Edit1.Text);
kg: = f; * 0.4059;
Label2.Caption: = Edit1.Text + ' ф. – это ' +
FloatToStrF(kg, ffGeneral, 4, 2} + 'кг.'; end;
// нажатие клавиши в поле ввода исходных данных
procedure TForml.Edit1KeyPress(Sender: TObject; var Key: Char);
var
f: real; // вес в фунтах kg: real; // вес в килограммах
begin
if Key = Char(VK_RETURN) then
begin
f: =. StrToFloat(Editl.Text);
kg: = f * 0.4059;
Label2.Caption: = Editl.Text + ' ф. – это ' +
FloatToStrF(kg, ffGeneral, 4, 2) + 'кг.'1.;
end;
end;
end.

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.