![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.11.2010
Сообщений: 68
|
![]()
Здравствуйте, друзья!
![]() Передо мной встала задача записи нескольких типов данных в один бинарный файл с последующим их чтением. Сначала нужно записать заголовок в самое начало который будет содержать данные о расположении в бинарнике остальных данных. Вот примерно такой: Код:
----------------------- И потом всё это хозяйство надо считать из бинарника и скормить соответствующим переменным в другом коде - InLandscapeMesh: TBitmap; InLandscapeMesh2: TBitmap; Буду рад любой помощи, спасибо! ![]() ps я хочу разработать свой формат для игровой карты, который будет содержать в себе меши, текстуры, небо и пр. |
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
И для этого нужно обязательно изобретать велосипед со своим уникальным форматом ?
Мало ли существующих контейнерных форматов, влоть до любой подходящей базы данных ?) |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 03.11.2010
Сообщений: 68
|
![]()
Да, я всегда всё своими руками стараюсь делать) Ну и как правило свой велосипед ездит всегда понятнее и правильнее)
|
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
> свой велосипед ездит всегда понятнее и правильнее
Судя по твоему вопросу я позволю себе сомневаться в этом. Ты даже не сподобился конкретизировать способ дальнейшего доступа к контейнеру - то ли последовательный тебе нужен, то ли произвольный индексированный.. А ведь именно от этого в 1-ю очередь зависит "правильность" конструкции будущего велосипеда) > всё это хозяйство надо считать из бинарника и скормить соответствующим переменным в другом коде Для этого никакие смещения нафих не нужны. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 03.11.2010
Сообщений: 68
|
![]()
mss, да, я согласен, может я не совсем полно изложил суть.
Собственно говоря, я только начал копать в этом направлении и могу в чём то ошибаться) Мне видится такой общий алгоритм: Имеем структуру Theader, которая будет содержать позиции и размер битмапов в бинарнике. Также имеем несколько TBitmap. Запись Bitmap'ов: 1. Пишем пустую структуру THeader в самое начало бинарника 2. Вычисляем размер первого битмапа, пишем его сразу после заголовка 3. Пишем в заголовок смещение и размер первого битмапа 4. Повторяем 2 и 3 для каждого из битмапов, с тем условием что битмапы располагаются один за другим 5. Всё, получился бинарник, допустим map.bin Чтение Bitmap'ов: 1. Читаем map.bin 2. Читаем заголовок 3. В соответствии с данными с заголовке, грузим в подготовленные переменные битмапы из map.bin mss, ты говорил о готовых форматах контейнерах- подскажи пожалуйста какие нибудь, может я по их подобию что нибудь напишу) |
![]() |
![]() |
![]() |
#7 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
Ну, например, стандартный формат TPF#0, предлагаемый стандартной же delphi streaming system
Практически любой станд.компонент в Делфи УЖЕ научен разработчиками сохранять себя в файловый поток и восставливаться из него. К примеру, у того же самого TBitmap есть публичные методы LoadFrom/SaveToStream. Последний раз редактировалось mss; 17.01.2011 в 14:32. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
![]()
Как вариант извращения (не проверял, но идея где-то такая):
Код:
Помог? Ну так нажми на весы!
![]() Последний раз редактировалось SNUPY; 17.01.2011 в 14:45. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с бинарным файлом. | griba | Помощь студентам | 4 | 11.12.2010 13:08 |
Работа с бинарным файлом (С) | madmonk | Помощь студентам | 4 | 20.11.2010 20:58 |
Проблема с бинарным файлом | melodeen12 | Операционные системы общие вопросы | 6 | 02.08.2010 01:15 |
работа с бинарным файлом | Геннадий | Win Api | 8 | 22.10.2009 18:49 |
работа с бинарным файлом | Bayazet | Помощь студентам | 3 | 17.03.2009 15:37 |