![]() |
Модераторы: volvo877, Snowy, MetalFan |
![]() ![]() ![]() |
|
ilyuha |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 10.7.2007 Репутация: нет Всего: нет |
Здрасьте
ситуация такая: я пишу прогу по обработке БД. заранее, естественно, количество ее элементов не известно. я решил заюзать открытые массивы, но до этого я их не использовал... только читал про них. и тут же возникла проблема. к примеру, если я пишу ... mytype=array of integer; ... то компилятор материться на отсутствие индексов... подскажите плиз, в чем трабла? ЗЫ юзаю я BP7 |
|||
|
||||
nmn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: нет Всего: 1 |
в паскале нет открытых массивов, можно использовать списки
|
|||
|
||||
ilyuha |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 10.7.2007 Репутация: нет Всего: нет |
nmn, как так? везде пишут, что открытые массивы введены с 7-ой версии
|
|||
|
||||
Throne |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 10.5.2006 Репутация: нет Всего: 2 |
в трех разных изданиях (на бумаге) посмотрел статьи про массивы. нигде такого нет.
--------------------
Компьютер — это наредкость тупая вещь, но считает с феноменальной скоростью. |
|||
|
||||
nmn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: нет Всего: 1 |
при передаче массива параметром индексы не указываются это правда, но сколько я писал на паскале на 7 версии массивов без индексов не встречал
![]() Это сообщение отредактировал(а) nmn - 10.7.2007, 21:56 |
|||
|
||||
ilyuha |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 10.7.2007 Репутация: нет Всего: нет |
nmn, блин. а как же быть? под мою задачу списками довольно геморно будет
![]() |
|||
|
||||
greenpc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.1.2007 Репутация: нет Всего: нет |
ilyuha
типа того
|
|||
|
||||
ilyuha |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 10.7.2007 Репутация: нет Всего: нет |
Хм, такое мне и в голову не приходило
![]() |
|||
|
||||
Nite |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 10.7.2007 Репутация: нет Всего: нет |
В BP7 нельзя выходить за границы сегмента. Поэтому максимальное число элементов массива, если они integer, будет порядка 32700. В общем случае, размер данных не должен превышать 65520 байт. Это число надо разделить на размер одного элемента (2 байта для integer), получишь максимальный размер массива.
Чтобы не ругалось про выход за границы массива, можно описать тип так TMyArray=Array[1..32700] of Integer; И при обращениях к элементами придется индекс проверять явно, чтобы не было выхода за границы. |
|||
|
||||
ilyalyu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Странно, что нет открытых масивов. Пиши на Delphi или на FreePascal - там есть.
|
|||
|
||||
ilyuha |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 10.7.2007 Репутация: нет Всего: нет |
имхо, не лучший способ... я хочу грамотно юзать память боюсь, что нельзя... мы изучали борланд паскаль, и эта прога должна быть..... ммм.... короче, мне ее надо написать и по ней сделать курсавик... и я думаю надо юзать BP7 или TP7 народ, помогите организовать данные плиз ![]() |
|||
|
||||
nmn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: нет Всего: 1 |
ну так используй списки или как сказал greenpc, чем не открытый массив?
Добавлено через 4 минуты и 58 секунд чем неграмотно данное использование памяти? ведь это будет не статический массив, ты сам будешь выделять память, а данная запись только что бы успокоить компилятор. |
|||
|
||||
ilyuha |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 10.7.2007 Репутация: нет Всего: нет |
nmn, тогда прошу прощения у Nite... я его не правильно понял
а вообще, посоветуйте, с чем гемора менььше будет, со списками или с таким массивом? |
|||
|
||||
nmn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: нет Всего: 1 |
списки гибче, но там нужно время для поиска элемента, у массивов же время поиска отсутствует - там сразу известно где находится элемент, но отсутствует та гибкость, которая присуща спискам, нельзя так же легко поменять расположение элементов(это справедливо для структуированых типов), нельзя передавать элементы из одного массива в другой как в списках, там можно очень лего перебросить элемент из одной записи в другую и др.
|
|||
|
||||
volvo877 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
Может быть уже можно научиться называть вещи своими именами? Есть в Паскале открытые массивы (a.k.a open arrays), только автору нужны не открытые, а динамические - это разные вещи.
nmn, теперь о твоем перле:
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |