procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#8 then
begin
key:=#0;
StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row]:=copy(StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row],
1,length(StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row])-1);
end;
if key=#13 then
begin //n 006
if StringGrid1.col=StringGrid1.ColCount-1 then
if (StringGrid1.col=StringGrid1.ColCount-1) and
(StringGrid1.row=StringGrid1.RowCount-1)
then
begin // n 008
StringGrid1.col:=0;
StringGrid1.row:=0;
end // k 008
else
begin
StringGrid1.col:=0;
StringGrid1.row:=StringGrid1.row+1;
end
else StringGrid1.col:=StringGrid1.col+1;
end; // k 006
if key=',' then
begin
if (length(StringGrid1.Cells[StringGrid1.col,StringGrid1.row])=0)
or
(pos(',',StringGrid1.Cells[StringGrid1.col,StringGrid1.row])<>0)
then
begin
key:=#0;
exit;
end
else
begin
exit;
end;
end;
if key in ['0'..'9'] then
else
key:=#0;
end;
D5 TStringGrid.OnGetEditMask Help_ните, спецы!
Т.е. чтобы StrToFloat(StringGrid1.Cells[i,j]) не ругался.
Не лепится что-то.. :о)
Спасибо!
во-вторых, можно обрабатывать событие onKeyPress чтобы разрешать ввод только цифр.
Вот мой обработчик onKeyPress написанный мною не помню сколько лет назад. (пожалуйста не вспоминайте меня плохими словами)
Код:
Все равно, спасибо..