![]() |
|
|
#1
|
|||
|
|||
|
Имеем в наличии Edit1 и Edit2. Нужно вводить только числа, могут быть дробные (разделение между целой и дробной частью если можно что бы разделялось как запятой так и точкой).
|
|
#2
|
||||
|
||||
|
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not( Key in ['0'..'9', '.', ',', Chr( VK_BACK )] ) then
Key := #0;
end; |
|
#3
|
|||
|
|||
|
У меня вот дальше такая ерунда идет:
p:=((StrToFloat(Edit1.text)*173)+(StrToFloat(Edit2 .text)*86)+(StrToFloat(Edit3.text)*242)); Все хорошо, только когда вводишь дробь через току не работает проблемы с Float как быть? |
|
#4
|
|||
|
|||
|
Надо вводить запятую
|
|
#5
|
||||
|
||||
|
Как поставил задачу, такой ответ и получил... Делай так
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not ( Key in ['0'..'9', DecimalSeparator, Chr( VK_BACK )] ) then
Key := #0;
end; |
|
#6
|
|||
|
|||
|
Decoding спасибо.
|