![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ограничение на ввод в Stringgrid [D7, WinXP]
Настенька © (2004-10-21 20:15:00)я меня есть стринггрид. я хочу, чтобы в 1 ячейку можно было вводить только цифры, а во 2 - только буквы. как это сделать?
Настенька (2004-10-24 08:48:00) [1]нет лучше на onkeypress, там код в 1 строку, а мистер GanibalLector сделал код в 23 строки.
atruhin (2004-10-24 08:04:00) [2]>>GanibalLector © (23.10.04 19:52) [10]
Извени но это галимотья.
StringGrid.GetEditMask и в зависимости от номера активной колонки возвращаем маску. Вопрос решается в 2 строки.
GanibalLector (2004-10-23 19:52:00) [3]
procedure TForm1.StringGrid1 SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
var i:integer;
begin
if acol=3then begin
if length(value)>1 then
stringgrid1.cells[acol,arow]:='1';
for i:=1 to length(value) do
if (value[i]'8') then
stringgrid1.cells[acol,arow]:='1';
end;
if acol=2then begin
if length(value)>6 then
stringgrid1.cells[acol,arow]:='0';
for i:=1 to length(value) do
if ((value[i]'9'))then
stringgrid1.cells[acol,arow]:='0';
end;
if acol=1then begin
if length(value)>13 then
stringgrid1.cells[acol,arow]:='ÒÎÂÀÐ'+inttostr(arow);
for i:=1 to length(value) do
if value[i]=';'then
...
...
begin...end (2004-10-23 19:26:00) [4]
> [7] Настенька (23.10.04 15:51)
> помогите кодом
Вы меня расстроили, Настенька. Я теперь расстроенный. :о(
Amoeba (2004-10-23 16:41:00) [5]Вполне можно обрабатывать OnKeyPress, как у тебя сделано, только при это нужно отслеживать в какую ячейку делатся ввод (св-ва Row и Col) и в зависимости от этого задавать неообходимые ограничения на ввод. Это сделать очень просто.
Настенька (2004-10-23 15:51:00) [6]ну а какой из них правильный и как их использовать? помогите кодом
Amoeba (2004-10-23 15:45:00) [7]
> Настенька (23.10.04 15:42) [5]
> извините, что такое посты? и где их смотреть?
Если не поняла - то имеются в виду ответы [1] и [2].
Настенька (2004-10-23 15:42:00) [8]извините, что такое посты? и где их смотреть?
Amoeba (2004-10-23 13:47:00) [9]
> Настенька (23.10.04 08:28) [3]
> нет я делала так на событие onkeypress
> if not (key in ['0'..'9',#10,#13]) then key:=#0;
> это круто работает, но для всего стринггрида, а мне надо
> для каждой ячейки свое ограничение
Тогда смотри посты [1] и [2].
Настенька (2004-10-23 08:28:00) [10]нет я делала так на событие onkeypress
if not (key in ['0'..'9',#10,#13]) then key:=#0;
это круто работает, но для всего стринггрида, а мне надо для каждой ячейки свое ограничение
RDen (2004-10-22 09:10:00) [11]StringGridGetEditMask
begin...end (2004-10-22 08:52:00) [12]TStringGrid.OnSetEditText ?