Создание модуля
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.