Использование функции
var Form1: TForm1; implementation {$R *.dfm} // проверяет, является ли символ допустимым // во время ввода дробного числа function IsFloat(ch: char; st: string): Boolean; 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; // нажатие клавиши в поле Расстояние procedure TForm1.EditlKeyPress(Sender: TObject; var Key: Char); begin if Key = Char(VK_RETURN) then Edit2.SetFocus // переместить курсор в поле Цена else If not IsFloat(Key,Edit2.Text) then Key: = Chr(O); end; // нажатие клавиши в поле Цена procedure TForml.Edit2KeyPress(Sender: TObject; var Key: Char); begin if Key = Char(VK_RETURN) then Edit3.SetFocus // переместить курсор в поле Потребление else If not IsFloat(Key,Edit2.Text) then Key: = Chr (0); end; // нажатие клавиши в поле Потребление procedure TForml.Edit3KeyPress(Sender: TObject; var Key: Char); begin if Key = Char(VK_RETURN) then Buttonl.SetFocus // // сделать активной кнопку Вычислить else If not IsFloat(Key,Edit2.Text) then Key: = Chr (0); end; // щелчок на кнопке Вычислить procedure TForm1.ButtonlClick(Sender: TObject); var rast: real; // расстояние cena: real; // цена potr: real; // потребление на 100 км summ: real; // сумма mes: string; begin rast: = StrToFloat(Edit1.Text); cena: = StrToFloat(Edit2.Text); potr: = StrToFloat(Edit3.Text); summ: = rast / 100 * potr * cena; if CheckBoxl.Checked then summ: = summ * 2; mes: = 'Поездка на дачу'; if CheckBoxl.Checked then mes: = mes + ' и обратно'; mes: = mes + 'обойдется в ' + FloatToStrF(summ,ffGeneral,4.2) + ' руб.'; Label4.Caption: = mes; end; end.