Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2012, 19:12   #1
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию Ограничить символы StringGrid

Подскажите, как можно индивидуально для каждой ячейки StringGrid определять допустимые символы для ввода?
kta87 вне форума Ответить с цитированием
Старый 18.02.2012, 19:36   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Через Cells и switch.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 18.02.2012, 20:19   #3
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

можно немного по подробнее... 1 пример ?
П.С. Ограничить кол-во символов удалось так
Код:
procedure TForm1.StringGrid2KeyPress(Sender: TObject; var Key: Char);
begin
 with TStringGrid(Sender) do
  begin
    if (IsCharAlphaNumeric(Key)) and (Length(Cells[1,0]) = 251) then Key:= #0;
    if (IsCharAlphaNumeric(Key)) and (Length(Cells[1,1]) = 4) then Key:= #0;
    if (IsCharAlphaNumeric(Key)) and (Length(Cells[1,2]) = 4) then Key:= #0;
    if (IsCharAlphaNumeric(Key)) and (Length(Cells[1,3]) = 4) then Key:= #0;
    if (IsCharAlphaNumeric(Key)) and (Length(Cells[1,4]) = 2) then Key:= #0;
    if (IsCharAlphaNumeric(Key)) and (Length(Cells[1,5]) = 2) then Key:= #0;
  end;
end;
с самими же символами пока проблема №1, жду ваших советов! Smitt&Wesson, распиши по подробнее...

Последний раз редактировалось kta87; 18.02.2012 в 20:45.
kta87 вне форума Ответить с цитированием
Старый 18.02.2012, 21:17   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
 with Sender as TStringGrid do
  begin
    if (not IsCharAlphaNumeric(Key)) or (Length(Cells[1,0]) = 251) then Key:= #0;
    if (not IsCharAlphaNumeric(Key)) or (Length(Cells[1,1]) = 4) then Key:= #0;
    if (not IsCharAlphaNumeric(Key)) or (Length(Cells[1,2]) = 4) then Key:= #0;
    if (not IsCharAlphaNumeric(Key)) or (Length(Cells[1,3]) = 4) then Key:= #0;
    if (not IsCharAlphaNumeric(Key)) or (Length(Cells[1,4]) = 2) then Key:= #0;
    if (not IsCharAlphaNumeric(Key)) or (Length(Cells[1,5]) = 2) then Key:= #0;
  end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.02.2012, 21:46   #5
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Как например вот этот код
Код:
procedure TForm1.LabeledEdit4KeyPress(Sender: TObject; var Key: Char);
begin
 if Key in ['\', '/', ':', '*', '?', '"', '<', '>', '|']then
  begin
    Key := #0;
  end;
 if Key = #13 then
  begin
     Button1.SetFocus;
  end;
end;
запрещающий ввод символов "'\', '/', ':', '*', '?', '"', '<', '>', '|'" прописать для одной из ячеек StringGrid?
kta87 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ограничить символы в строке richedit s1s1s1 Общие вопросы Delphi 0 07.06.2011 21:38
Ограничить движение мыши в StringGrid??? Dersou Помощь студентам 4 10.08.2010 15:53
StringGrid символы zmey31313 Компоненты Delphi 1 29.03.2010 00:28
как удалить лишнеие символы в строке, и ограничить длину строки MixanMM Общие вопросы Delphi 3 11.06.2009 07:03