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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2012, 19:29   #1
McSullivan
Новичок
Джуниор
 
Регистрация: 26.10.2012
Сообщений: 2
По умолчанию Работа с компонентом SringGrid (Delphi)

Здравствуйте, господа программисты.
У меня возникла проблема, надеюсь на ваш опыт и помощь.

По требованию преподавателя задача должна быть оформлена следующим образом: во-первых, сам проект, во-вторых, связанный с ним модуль, в котором будет реализована вся логика программы. А на формы будет выводится лишь конечные состояния.

И каждый раз, как я обращаюсь к той или иной процедуре/функции в модуле, я передаю в нее необходимые параметры, которые получаю из атрибутов компонентов.

Суть проблемы состоит в работе с компонентом StringGrid. Мне как-то нужно передать его значение в процедуру (ибо есть важная оговорка: нельзя использовать глобальные переменные).
Я рассуждал следующим образом: формально, StringGrid.Cells является динамическим массивом строк. Вводил пользовательский тип данных а-ля
Код:
Type TMyArray = array of array of String;
, описывал процедуру примерно так:
Код:
Procedure Solve (Var A: TMyArray);
и, наконец, пытался передать SG.Cells в качестве параметра.

Не работает, увы. Пишет, что обязательно нужно дописать квадратные скобки к Cells, как будто я должен указать на конкретную ячейку.

В чем моя ошибка? Как еще можно реализовать передачу?

Последний раз редактировалось McSullivan; 09.11.2012 в 19:37.
McSullivan вне форума Ответить с цитированием
Старый 09.11.2012, 19:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
Procedure Solve (SG:TstringGrid);
begin
 SG.и пошло поехало
end;
Яволь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2012, 20:31   #3
McSullivan
Новичок
Джуниор
 
Регистрация: 26.10.2012
Сообщений: 2
По умолчанию

Интересно..
То есть я могу передать весь компонент целиком?

Попробовал. Работает.
Спасибо, Stilet!
McSullivan вне форума Ответить с цитированием
Старый 09.11.2012, 21:00   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
То есть я могу передать весь компонент целиком?
Именно так.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.11.2012, 23:11   #5
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Дело в том, что Cells не есть массив, это свойство типа массива в классе (property в class) и с ним нельзя работать так, как Вы предположили, приходится работать либо так, как предлагает Stilet, либо придумывать что-то дополнительно, например, своего наследника от грида и дополнительное поле для него типа массива и обрабатывать это поле особым образом.

Хочу заметить, что преподаватель , наверное, не зря указал про модуль с логикой и вывод на формы "конечных состояний". Я бы посоветовал работать именно с массивом который Вы сами опишете, и во всех процедурах и функциях (в модуле логики) работать с передаваемым в параметре массивом (переменная Вашего типа), а для его отображения или считывания сделать процедуру(ы) в модуле формы, которая перекинет данные из Вашего массива в грид и обратно. Это и будет отделение логики от интерфейса.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с компонентом 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