|
#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 спасибо.
|