![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Подскажите пожалуйста, как сделать, чтобы в Edit можно было ввести цифры от 0 до 12
Заранее благодарен за ответы. Последний раз редактировалось ciev, 17.04.2009 в 17:46. |
#2
|
||||
|
||||
![]() Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
#3
|
|||
|
|||
![]() Цитата:
и что?от 0 до 9 вводится.а как ввести 10,11,12? |
#4
|
|||
|
|||
![]() Цитата:
Код:
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; Последний раз редактировалось Nyctos Kasignete, 17.04.2009 в 18:16. |
#5
|
|||
|
|||
![]() Цитата:
Код:
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; Последний раз редактировалось Admin, 17.04.2009 в 18:54. |
#6
|
|||
|
|||
![]() Уж простите, какой-то ужас... Зачем вложенные циклы?? Я так поняла, CEdits — двумерный массив объектов TEdit на форме. Ну назначьте им всем один и тот же обработчик события OnKeyPress. Типа такого...
Код:
procedure TForm1.AllEditsKeyPress(Sender: TObject; var Key: Char); var ci: Integer; begin if (Sender as TEdit) = CEdits[12,12] then Exit; // не поняла, зачем это... case Key of '0'..'9': if (StrToInt((Sender as TEdit).Text + Key) > 12) then Key := #0; #8: {}; else Key := #0; end; ci := (Sender as TEdit).ComponentIndex |