Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ограничение на ввод в 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 ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо