Delphi позволяет программисту
поместить свои функции и процедуры в отдельный модуль, а затем использовать
процедуры и функции модуля в своих программах, указав имя модуля в списке модулей,
необходимых программе (инструкция uses).
Чтобы приступить к
созданию модуля, нужно сначала закрыть окно формы и окно модуля формы (в ответ
на вопрос о необходимости сохранения модуля следует выбрать No, т. е. модуль,
соответствующий закрытой форме, сохранять не надо). Затем из меню File нужно
выбрать команду New | Unit. В результате открывается окно редактора кода,
в котором находится сформированный Delphi шаблон модуля. Его текст приведен
в листинге 6.7.
Листинг 6.7.
Шаблон модуля
unit
Unit1;
interface implementation
end.
Начинается модуль заголовком
— инструкцией unit, в которой указано имя модуля. Во время сохранения модуля
это имя будет автоматически заменено на имя, указанное программистом.
Слово interface отмечает
раздел интерфейса модуля. В этот раздел программист должен поместить объявления
находящихся в модуле процедур и функций, которые могут быть вызваны из других
модулей, использующих данный.
В раздел implementation
(реализация) нужно поместить процедуры и функции, объявленные в разделе interface.
В качестве примера
в листинге 6.8 приведен модуль программиста, который содержит рассмотренные
ранее функции IsInt и isFioat.
Листинг 6.8.
Модуль программиста
unit
my__unit;
interface
// объявления процедур
и функций,
// доступных программам,
// использующим этот модуль
function IsInt(ch : char) : Boolean;
// функция Islnt проверяет, является ли символ
//
допустимым во время ввода целого числа
function
IsFloat(ch : char; st: string) : Boolean;
//
Функция IsFloat проверяет, является ли символ допустимым
// во время ввода дробного числа
// ch — очередной символ
// st — уже введенные символы
implementation
// реализация
// проверяет, является ли символ допустимым
// во время ввода целого числа
function Islnt(ch : char) : Boolean;
begin
if
(ch >= '0') and (ch <= '9') // цифры
or
(ch = #13) // клавиша <Enter>
or
(ch = #8) // клавиша <Backspace>
then Islnt := True // символ допустим
else Islnt := False; // недопустимый символ
end;
// проверяет, является ли символ допустимым
//
во время ввода дробного числа
function IsFloat(ch : char; st: string) : Boolean;
// ch — очередной символ // st — уже введенные символы
begin
if
(ch >= '0') and (ch <= '9') // цифры
or
(ch = #13) // клавиша <Enter>
or
(ch = #8) // клавиша <Backspace>
then
begin
IsFloat := True; // символ верный
Exit;
// выход из функции
end;
case ch of
'-': if Length(st) = 0 then IsFloat := True; ',':
if
(Pos(',',st) = 0)
and
(st[Length(st)] >= '0') and (st[Length(st)] <= '9')
then // разделитель можно ввести только после цифры
//
и если он еще не введен
IsFloat
:= True; else // остальные символы запрещены
IsFloat
:= False; end
//
это раздел инициализации // он в данном случае не содержит инструкция end.
Сохраняется модуль обычным образом, т. е. выбором из меню File команды Save. Вместе с тем, для модулей повторно используемых процедур и функций лучше создать отдельную папку, назвав ее, например, Units.