OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 24 Март, 2017 20:48

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 20 Март, 2017 14:58 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 368
Откуда: Киев
Цитата:
Еще прошу поделиться опытом, как быть с динамическими объектами. Скажем, если мне надо создать массив под данные из файла.
NEW нельзя получается, массивы объявить тоже только по константе возможно.
Только статические типы получается? То есть заранее делать огномный буфер под предполагаемый размер?
Или есть какие-то варианты?

Цитата:
По подводу "как с этим жить" тебе Info21 расскажет на oberoncore

Если коротко, то загружать целиком файл в цельный массив можно только в том случае, если его размер ограничен небольшим числом согласно задаче. В таком случае можно взять статический массив. В ином случае, нужно использовать что-то иное вне зависимости от того, есть в языке динамические массивы или нет. Как выглядит "гениальное" решение загружать весь файл в цельный массив можете лицезреть в большинстве редакторов при попытке открыть большой файл.

Универсального решения нет и всё зависит от задачи. Иногда достаточно окна - небольшого буфера, в который загружется нужный кусок, иногда - связный список таких окон для последовательного доступа. Если нужен моментальный произвольный доступ, то из таких окон строится "расстановка", он же hash array. Если нужна бОльшая гибкость - то дерево.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Март, 2017 05:58 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 1767
Откуда: Красноярск
Спасибо за советы, думаю, что они пригодятся.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Март, 2017 14:23 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8637
Откуда: Россия, Орёл
Реализуйте Files.File над памятью!
Или возьмите готовый!
Тут viewtopic.php?f=23&t=4214


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Март, 2017 15:46 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 368
Откуда: Киев
Иван Денисов писал(а):
Спасибо за советы, думаю, что они пригодятся.

Когда я их писал, я ещё не смотрел на WEB API для считывания содержимого файла, что важно для Вашей задачи. Выяснилось, что в нём не предусмотрено порционное чтение, а только всего файла целиком в динамический массив. Это делает мои советы бессмысленными для WEB.
Тем не менее, с файлом всё равно удобней работать не меся байты напрямую, а используя абстракцию файла.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2017, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB