Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача Delphi XE 11

Давид Акагиргин Ученик (97), на голосовании 10 месяцев назад
В поле edit можно вводить только цифры и запятую, остальные символы нельзя, и запятую можно вводить только 1 раз.
Голосование за лучший ответ
Tokyo Ghoul Гуру (3461) 11 месяцев назад
подробнее вопрос
Давид АкагиргинУченик (97) 11 месяцев назад
В поле Edit можно вводить только цифры и запятую, остальные символы нельзя вводить. Цифры могут повторяться, а запятую можно ввести только один раз.
Gennady Гений (60850) 11 месяцев назад
Обрабатывайте событие OnKeyPress. Примерно так

procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', #8]) then
Key := #0;
end;

Здесь разрешен ввод цифр и Bacjspace для удаления последнего символа. Добавьте запятую и проверку того что она уже есть.
Жарь Птицев Гуру (3659) 11 месяцев назад
 procedure TForm1.Edit1ContextPopup(Sender: TObject; MousePos: TPoint; 
var Handled: Boolean);
begin
Handled := true;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not CharInSet(Key, [#$08, #$2C, #$30 .. #$39]) then Key := #0
else if (Key = #$2C) and (Pos(Key, Edit1.Text) > 0) then Key := #0;
end;
Похожие вопросы