![]() |
|
|
#1
|
|||
|
|||
|
Возникла проблема, при работе с полем Edit, нужно ограничить ввод буков, и оставить только числа, знак - и точку.
В RAD Studio есть параметр "Numbers Only ", но при активации пользователь не может вводить знак - и точку. Код:
if not (Key in ['0'..'9',DecimalSeparator,#8])then
begin
Key := #0;
MessageBeep (MB_OK);
end;А этот код, пишет ошибку. Не нравиться DecimalSeparator |
|
#2
|
||||
|
||||
|
Цитата:
|
|
#3
|
|||
|
|||
|
Цитата:
Разобрался ) Код:
if not (Key in ['0'..'9',',',#8])then
begin
Key := #0;
MessageBeep (MB_OK);
end;Последний раз редактировалось wetalq, 27.05.2013 в 17:57. |
|
#4
|
||||
|
||||
|
Ну как заплатку, вместо DecimalSeparator написать '.'
|
|
#5
|
||||
|
||||
|
Можно ещё кейсом
Код:
case Key of
'0'..'9', ',', #8 : exit;
else
begin
Key := #0;
MessageBeep (MB_OK);
end;
end;{case}![]() |
|
#6
|
||||
|
||||
|
Цитата:
![]() |
|
#7
|
||||
|
||||
|
Цитата:
|
|
#8
|
||||
|
||||
|
Цитата:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a, n: Integer;
begin
case a of
1, n: Beep;
else ;
end;
end;PHP код:
PHP код:
|
|
#9
|
||||
|
||||
|
Цитата:
Код:
Var a,b,c: Integer; begin case a of b: ; c: ; end; end; Код:
Const b = 1; c = 2; Var a: Integer; begin case a of b: ; c: ; end; |
|
#10
|
||||
|
||||
|
Цитата:
![]() Я имел ввиду, что в case (в отличие от in) нельзя использовать переменные в качестве вариантов проверки, а не в качестве проверяемой переменной. Причина такого ограничения очень проста - чтобы исключить неоднозначности вида: Код:
var
n, a, b: Integer;
...
a := 1;
b := 1;
...
case n of
a: ShowMessage('a');
b: ShowMessage('b');
else ;
end;
end;Код:
procedure TForm1.Button1Click(Sender: TObject);
var
n: Integer;
begin
case n of
1: ShowMessage('1');
2: ShowMessage('2');
3: ShowMessage('3');
4: ShowMessage('4');
5: ShowMessage('5');
6: ShowMessage('6');
else ;
end;
end; |
|
#11
|
|||
|
|||
|
сори за офтоп.. просто попалось на глаза то, с чем когда то сталкивался,а именно XE3 ругался на подобную конструкцию, которая включает в себя decimalseparator, хотя XE2 все еще было нормально. В чем проблема может быть ?
|
|
#12
|
||||
|
||||
|
Цитата:
Код:
case что-то of |