Модуль программиста
Листинг 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.