
17.04.2009, 18:20
|
Прохожий
|
|
Регистрация: 17.04.2009
Сообщения: 4
Репутация: 10
|
|
Цитата:
Сообщение от Nyctos Kasignete
Во-первых, 10,11,12 — числа, а не цифры... X)
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9': if (Edit1.Text <> '') and (StrToInt(Edit1.Text + Key) > 12) then
Key := #0;
#8: {};
else Key := #0;
end;
end;
P.S. Это условие (Edit1.Text <> ''), кстати, необязательно проверять... Можно просто
Код:
'0'..'9': if StrToInt(Edit1.Text + Key) > 12 then Key := #0;
|
Код:
procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
var
ci:integer;
ix,iy:integer;
CEdit:TEdit;
begin
for iy:=1 to 12 do
for ix:=1 to 12 do
if Sender is TEdit then
if (Sender as TEdit)=CEdits[ix,iy] then
CEdit:=CEdits[ix,iy];
if (Sender as TEdit)=CEdits[12,12] then
Exit;
if not(Key in['0'..'9',#8]) then
Key:= #0;
if Key <> #8 then begin
ci:=CEdit.ComponentIndex;
вот тут как подправить чтоб вводились числа 10,11,12?а то вводятся только цивры от 0 до 9.
|