|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.11.2012, 19:29 | #1 |
Новичок
Джуниор
Регистрация: 26.10.2012
Сообщений: 2
|
Работа с компонентом SringGrid (Delphi)
Здравствуйте, господа программисты.
У меня возникла проблема, надеюсь на ваш опыт и помощь. По требованию преподавателя задача должна быть оформлена следующим образом: во-первых, сам проект, во-вторых, связанный с ним модуль, в котором будет реализована вся логика программы. А на формы будет выводится лишь конечные состояния. И каждый раз, как я обращаюсь к той или иной процедуре/функции в модуле, я передаю в нее необходимые параметры, которые получаю из атрибутов компонентов. Суть проблемы состоит в работе с компонентом StringGrid. Мне как-то нужно передать его значение в процедуру (ибо есть важная оговорка: нельзя использовать глобальные переменные). Я рассуждал следующим образом: формально, StringGrid.Cells является динамическим массивом строк. Вводил пользовательский тип данных а-ля Код:
Код:
Не работает, увы. Пишет, что обязательно нужно дописать квадратные скобки к Cells, как будто я должен указать на конкретную ячейку. В чем моя ошибка? Как еще можно реализовать передачу? Последний раз редактировалось McSullivan; 09.11.2012 в 19:37. |
09.11.2012, 19:37 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Код:
I'm learning to live...
|
09.11.2012, 20:31 | #3 |
Новичок
Джуниор
Регистрация: 26.10.2012
Сообщений: 2
|
Интересно..
То есть я могу передать весь компонент целиком? Попробовал. Работает. Спасибо, Stilet! |
09.11.2012, 21:00 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
10.11.2012, 23:11 | #5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Дело в том, что Cells не есть массив, это свойство типа массива в классе (property в class) и с ним нельзя работать так, как Вы предположили, приходится работать либо так, как предлагает Stilet, либо придумывать что-то дополнительно, например, своего наследника от грида и дополнительное поле для него типа массива и обрабатывать это поле особым образом.
Хочу заметить, что преподаватель , наверное, не зря указал про модуль с логикой и вывод на формы "конечных состояний". Я бы посоветовал работать именно с массивом который Вы сами опишете, и во всех процедурах и функциях (в модуле логики) работать с передаваемым в параметре массивом (переменная Вашего типа), а для его отображения или считывания сделать процедуру(ы) в модуле формы, которая перекинет данные из Вашего массива в грид и обратно. Это и будет отделение логики от интерфейса. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с компонентом Tmemo.(Delphi) | ThreeKilo | Помощь студентам | 3 | 15.05.2012 22:48 |
Работа с компонентом | cargo29 | Общие вопросы Delphi | 1 | 03.05.2011 10:58 |
Работа с компонентом SevenZip (7zip) в Delphi | Claster | Помощь студентам | 0 | 04.04.2011 13:16 |
[Delphi] Работа с компонентом TButton в режиме run-time | Rydj | Помощь студентам | 17 | 29.01.2011 15:56 |
работа с компонентом | kuzmich | Компоненты Delphi | 0 | 07.07.2009 21:58 |