Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
10 / 10 / 7
Регистрация: 20.09.2012
Сообщений: 173
1

Запрет ввода символов в StringGrid

18.06.2014, 14:28. Показов 1131. Ответов 2
Метки нет (Все метки)

Надо сделать, что бы в таблицу в 1 и 4 столбик можно было записывать все символы, а во все остальные - запретить ввод букв. Вот код
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TForm1.sgKeyPress(Sender: TObject; var Key: Char);
begin
if (sg.col<>1) or (sg.Col<>4) then
begin
case Key of
    #8,'0'..'9' :  ; // <Back Space>
    '.',',': //
          begin
        if Key <> DecimalSeparator then
          Key := DecimalSeparator; //
        if Pos(DecimalSeparator,sg.Cells[sg.Col, sg.Row]) <> 0
          then Key := Chr(0); //
      end;
 
    #13:sg.Cells[3,4]; //
    else   //
       key := Chr(0);
  end ;
 
  end
  else
  showmessage ('1 or 4 col');
end;
По логике вещей вроде как правильно, но он не проводит проверки позиции курсора. Он просто постоянно запрещает вводить буквы.
Может я не в то событие прописал код? Или, что тут не так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2014, 14:28
Ответы с готовыми решениями:

Запрет ввода одинаковых символов в stringgrid
значит у меня поочередно в каждую ячейку stringgrid-а вводится пользователем одна из букв алфавита...

Столбцы StringGrid'a. Запрет ввода перечня символов в определённых строках и столбцах.
Всем привет, возникла трудность при работе со StringGrid'oм. Нужно сделать так чтобы в определенные...

Запрет ввода StringGrid
Доброго времени суток. Не понимаю почему не работает следующая конструкция: procedure...

Запрет ввода в StringGrid
у меня транспортная задача, необходимо запретить ввод цифр в крайнюю нижнюю ячейку. размерность...

2
пофигист широкого профиля
4307 / 2824 / 799
Регистрация: 15.07.2013
Сообщений: 16,375
18.06.2014, 14:38 2
Цитата Сообщение от Vovk_Vladislav Посмотреть сообщение
По логике вещей вроде как правильно
Неправильно. Условие
Delphi
1
if (sg.col<>1) or (sg.Col<>4) then
верно всегда. Какой столбик не выбери он либо не первый, либо не четвертый.
1
10 / 10 / 7
Регистрация: 20.09.2012
Сообщений: 173
18.06.2014, 14:45  [ТС] 3
Цитата Сообщение от northener Посмотреть сообщение
акой столбик не выбери он либо не первый, либо не четвертый.
О Боже, и правда затупил...
Спасибо) Все работает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2014, 14:45

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Запрет ввода в определенных столбиках stringgrid
Ребят подскажите как сделать что бы sg.cells и нельзя ничего было вводить и изменять а в...

Запрет ввода всех букв и цифр кроме некоторых в StringGrid
Допустим есть 4 слова: красный, синий, зелёный, белый. От каждого слова мне надо отсечь по первой...

Stringgrid: запрет ввода данных в определенной строке или столбце
как можно сделать что бы в определенной строке/столбце ввод данных в таблицу был невозможен? ...

Запрет символов в некоторых ячейках StringGrid
Можно ли сделать так чтоб запретить ввод символов второй стороки начиная с первого столбца.? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.