Не пользуясь обходными путями (обрабатывать событие OnSelectCell и в каких-то глобальных переменных запоминать координаты и использовать эти данные уже в OnKeyPress (это по крайней мере мне в голову пришло, но слишком уж муторно

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Можно ли при работа с компонентом TStringGrid именно в момент обработки события OnKeyPress определить к ячейке с какими координатами идет обращение ?
Не пользуясь обходными путями (обрабатывать событие OnSelectCell и в каких-то глобальных переменных запоминать координаты и использовать эти данные уже в OnKeyPress (это по крайней мере мне в голову пришло, но слишком уж муторно ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Я не понял, ты хочешь получать адрес ТЕКУЩЕЙ (редактируемой в данный момент) клетки?
![]() Так Row/Col вроде не отменили еще... ![]() |
klem4 |
![]()
Сообщение
#3
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Очень очень странно. Почему странно - не важно, даже если скажу не поверите
![]() Спасибо. Хотя нет, всетаки покажу ![]() где свойство row ?!!!! strGrd_array: TStringGrid; Эскизы прикрепленных изображений ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Да уж ...
не смотря что сама система мне не хочет подсказать что Row и Col здесь всетаки доступно, такой код компилируется на ура ![]() procedure Tfrm_Main.strGrd_arrayKeyPress(Sender: TObject; var Key: Char); -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Теперь возникла еще одна проблема :
Есть функция по обработке вводимого значения в какое-либо поле, выглядит она так : function CheckKey(key: char; text: string): char; Ее параметры : Key - символ передаваемый из OnKeyPress, text Текст над которым производится редактирование. В случае применения этой функции к компоненту TEdit Выглядит так : procedure Tfrm_Main.edt_setupKeyPress(Sender: TObject; var Key: Char); И работает правильно, ввести можно только числа и не более одного десятичного разделителя. А вот при работе с ячейками, создается такое впечатление, что параметр text не обновляется после каждого события OnKeyPress, вследствии чего я могу ввести в ячейку соклько угодно десятичных разделителей ... procedure Tfrm_Main.strGrd_arrayKeyPress(Sender: TObject; var Key: Char); -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
![]() |
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Да негде мудрить - то было пока ...
Вот все что есть в проекте на данный момент (аттач) АА я понял, нормлаьно почему-то обрабатывается только первая ячейка, щас разберемся ![]() Хыыы вопрос решен ![]() я писал cells[row, col] а надо-то cells[col, row] ;) Прикрепленные файлы ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 21.04.2025 5:54 |