Уж простите, какой-то ужас... Зачем вложенные циклы?? Я так поняла, 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
А вообще по приведенному вами куску кода довольно сложно что-либо понять...