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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2011, 16:18   #1
Vova777
Уважаемый
Форумчанин
 
Аватар для Vova777
 
Регистрация: 04.07.2010
Сообщений: 318
По умолчанию Как вводить в String Grid строку ограниченной длины?

Код:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
 with TStringGrid(Sender) do
 if IsCharAlphaNumeric(key) and (Length(Cells[Row,Col])>=5) then key:=#0;
end;
Этот код ограничивает только для первой выбранной ячейки, во второй уже ничего не ограничивает.
даешь высокое напряжение
Vova777 вне форума Ответить с цитированием
Старый 06.09.2011, 21:06   #2
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

эм?
Код:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
 with TStringGrid(Sender) do
 if IsCharAlphaNumeric(key) and (Length(Cells[Col,Row])>=5) then key:=#0;
end;
ЗЫ подумайте над тем, что еще можно вводить копи-пастом значения....
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 06.09.2011, 21:16   #3
Vova777
Уважаемый
Форумчанин
 
Аватар для Vova777
 
Регистрация: 04.07.2010
Сообщений: 318
По умолчанию

Цитата:
Сообщение от SNUPY Посмотреть сообщение
эм?
Код:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
 with TStringGrid(Sender) do
 if IsCharAlphaNumeric(key) and (Length(Cells[Col,Row])>=5) then key:=#0;
end;
ЗЫ подумайте над тем, что еще можно вводить копи-пастом значения....
какое решение тут есть?
даешь высокое напряжение
Vova777 вне форума Ответить с цитированием
Старый 06.09.2011, 21:18   #4
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Просто и красиво =)
Код:
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
begin
  if length(Value)>5 then
    TStringGrid(Sender).Cells[ACol, Arow] := copy(Value, 1,5);
end;
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
string grid Lukashi Общие вопросы Delphi 7 27.05.2011 09:42
string grid... ilushka2306 Помощь студентам 1 18.03.2011 23:32
string grid toxaxa Общие вопросы Delphi 8 17.06.2010 14:09
как при нажатии выдалась справка из string grid deadneoo Компоненты Delphi 2 30.04.2010 21:04
String Grid в VC++ Аlex Общие вопросы C/C++ 1 30.01.2009 22:48