|
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
|
|||||||||||
Динамическое создание StringGrid23.02.2013, 21:36. Показов 11757. Ответов 23
Метки нет (Все метки)
Всем привет!
Я создаю Stringgrid динамически. Создалось. Хочу написать проверку вводимых символов на ячейки матрицы. Но выдает ошибку типа, нигде не объявлена StringGrid1KeyPress. Я так понял дело в имени StringGrid(а), так как он объявляется как бы динамически и нигде до этого в коде не был идентифицирован... В общем помогите с обработчиком и подскажите как дальше работать с StringGrid после создания? (Запись в массив например) Ах да, я думаю StringGrid1.goEditing:=True; - разрешить редактировать ячейки написать тоже стоит но ругается на строчке... случаем Options не надо писать? Вот обработчик:
0
|
|||||||||||
| 23.02.2013, 21:36 | |
|
Ответы с готовыми решениями:
23
StringGrid динамическое суммирование ячеек
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|||||||||||
| 23.02.2013, 21:49 | |||||||||||
0
|
|||||||||||
|
Супер-модератор
|
||||||
| 23.02.2013, 21:50 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
|
||
| 23.02.2013, 22:02 [ТС] | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
|
|
| 23.02.2013, 22:41 [ТС] | |
|
Стараюсь сделать но ругается на With пишет:
Declaration expected but 'WITH' found И если по Вашему способу то как объявить 2 моих переменные? остается глобально? p.s. Прошу, сделайте под мой код мне завтра сдавать хотел бы по проще... Или полностью запишите Ваш способ, не могу ничего сообразить..
0
|
|
|
Супер-модератор
|
|||||||
| 23.02.2013, 22:48 | |||||||
1
|
|||||||
|
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
|
|||||||
| 23.02.2013, 22:58 [ТС] | |||||||
[Error] Unit1.pas(42): Unsatisfied forward or external declaration: 'TForm1.GridKeyPress' Понял, писать не стоит.... забыл написать сам обработчик в процессе редактирования, спасибо p.s. Сейчас всё доделаю и еще раз разберусь если что задам вопросик в течении 30 мин оке?
0
|
|||||||
|
angstrom
|
|
| 23.02.2013, 23:01 | |
|
Это к тому, что помимо объявление в секции private, процедура должна быть описана (реализована) в разделе implementation.
|
|
|
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
|
||||||
| 23.02.2013, 23:21 [ТС] | ||||||
|
Спасибо еще раз, работает. Но вот маленькая загвосточка, когда я изменяю кол-во строк и столбцов матрицы выдает ошибку: A component named nyStringGrid already exists.
и перенаправляет на строчку:
И процедура обработки обязательна? и так понял она нужна лишь для того, чтобы соотнести имя этого компонента со всеми остальными?
0
|
||||||
|
Супер-модератор
|
|
| 23.02.2013, 23:22 | |
|
А не надо пересоздавать при этом компонент. Достаточно только изменить его свойства. Ты же создаешь новый компонент с тем же именем. А если тебе надо несколько StringGrid-ов на форме - то придется объявить глобальный счетчик гридов, и к имени добавлять еще и его значение: myStringGrid1, myStringGrid2, ... и обращаться по таким же именам, разумеется...
0
|
|
|
angstrom
|
|
| 23.02.2013, 23:25 | |
|
Всё-таки придётся использовать переменную для StringGrid-а. Код создания описать в событии OnCreate формы, а все изменения размерности в событии OnClick кнопки.
Не по теме:
|
|
|
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
|
|
| 23.02.2013, 23:30 [ТС] | |
|
0
|
|
|
angstrom
|
||||||
| 23.02.2013, 23:38 | ||||||
|
Можно так
|
||||||
|
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
|
||
| 23.02.2013, 23:45 [ТС] | ||
|
Name := 'myStringGrid'; оно для 1-го раза выполнит верно? (допустим сложение всех эл-ов матрицы) а когда введу другую размерность матрицы то видимо уже нет? так как я нажму Бутон и имя изменится верно? Собственно вопрос постоянно(как бы в процессе изменяющееся имя) - sg := TStringGrid(FindComponent('myStringGrid' )); Т.Е. (sg) ? Заранее Спасибо!!!
0
|
||
|
angstrom
|
||||||
| 23.02.2013, 23:49 | ||||||
|
Создание выполняется один раз, потом только проверяется на уже созданный контрол
|
||||||
|
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
|
|
| 24.02.2013, 00:11 [ТС] | |
|
Т.е. имя всегда будет myStringGrid ?
0
|
|
|
angstrom
|
|
| 24.02.2013, 00:12 | |
|
Для данного кода всегда.
|
|
| 24.02.2013, 00:12 | |
|
Помогаю со студенческими работами здесь
20
Динамическое событие onDrawCell у StringGrid
динамическое создание Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|