![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| Fighter |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Я делаю программу на Turbo Vision. Что за программа - не важно. Допустим, что для того чтобы создать новый документ у меня в программе будут строки
... var R: TRect; begin R.Assign(0,0, 80, 23); Desktop^.Insert(New(PMyDoc, Init(R, '', 0))) end; ... В данном случае PMyDoc - это мой собственный класс окна с документом. Предположим что моя программа работает с массивом строк (заметьте, это не текстовый редактор). Этот массив строк программа должна выводить в окно и т.д. Программа многодокументная. Вопрос следующий - где мне следует описать этот массив строк, в классе приложения или в классе окна? Хотя мне почему то кажется что в классе окна. Прав ли я? |
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
Все зависит от того, где ты используешь этот массив строк. Если он юзается постоянно втечение работы программы для всех окон один и тотже, то тогда нужно в классе приложения. Если для каждого окна соотв вот такой массив, то кончено в классе окна. Если один такой массив соответствует конкретному документу, то классу документа.
-------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| Romtek |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 7.12.2004 Где: Холон Репутация: нет Всего: 4 |
PMyDoc потомок какого объекта?
--------------------
Romiras HomeLab - материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и пр. |
|||
|
||||
| Fighter |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
PMyDoc = ^TMyDoc; TMyDoc = object(TWindow) ... end;
У меня, кстати, если точнее, то не массив а коллекция. Да, кстати, у меня прямо в самой коллекции есть функция записи в файл всей коллекции (функция SaveToFile). Даже если я и объявлю её в классе окна, то как мне через приложение мне обратиться к окну чтобы я мог вызвать эту функцию? |
||||
|
|||||
| Romtek |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 7.12.2004 Где: Холон Репутация: нет Всего: 4 |
Стоит всё-таки объявлять объявлять глобальной переменной. Хранение строк в коллекции не имеет оношения к тому, кто их отображает.
Вот, писал где-то год назад программу для Турбо Вижна: мини база данных (создание, редактирование, поиск) на основе коллекций. Смотри как я реализовал её: Добавлено @ 09:31 Для записи различных типов документов перекрывай в потомке коллекции функцию SaveToFile. Присоединённый файл ( Кол-во скачиваний: 5 )
stud_db.rar--------------------
Romiras HomeLab - материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и пр. |
|||
|
||||
| Fighter |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Это чуть-чуть не совсем так. В коллекции у меня хранятся не строки а объекты пользовательского типа (записи, одна булевая переменная и две другие стринговые). Во-время работы комп должен просчитывать что выводить в окно. У меня приложение многодокументное и если хранить все в глобальной переменной, то при каждом создании окна надо создавать объект. А я думал что он будет создаваться автоматически при создании окна. Так же легче и тем более определять, к кому относится данный объект совсем не нужно. |
|||
|
||||
| Romtek |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 7.12.2004 Где: Холон Репутация: нет Всего: 4 |
Ну... зависит от реализации. Это делай уже как тебе удобнее.
"Автоматически" - тогда надо описывать в конструкторе (инициализация объекта). Я не понял, ты получил ответ на вопрос или нет? --------------------
Romiras HomeLab - материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и пр. |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |