Какие символы-разделители применяются в бинарных файлах?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
vbStr
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 04.04.2005 (Пн) 20:18

Какие символы-разделители применяются в бинарных файлах?

Сообщение vbStr » 25.07.2005 (Пн) 18:58

Мое приложение работает с большим количеством чисел. Долгое время я пытался держать их в памяти. Потом решил сбрасывать на диск. Наиболее логичным показалось держать их в таблице Excel. Но xls-файлы, в которые сбрасывалась информация появляются медленно и занимают много места. Посоветовали скидывать информацию в бинарные файлы.
:?: Какие еще есть удобные и быстрые способы хранения большого количества данных?
:?: Как отделить логические блоки информации друг от друга в бинарнике? В Excel просто: записал набор цифр (блок) в отдельную строчку, и всё замечательно. А в обычном бинарнике как быть?
Например, есть пять блоков информации, которые начинаются, допустим, целым числом (от 1 до 5). Существет ли какой-нибудь символ-ключ, поставив который в начале каждого блока, перед этим Integer, можно было бы быстро найти нужный номер блока?
Спасибо.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 25.07.2005 (Пн) 19:48

XML рулит :lol:
Изображение

JohnCR
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 14.06.2005 (Вт) 19:03

Сообщение JohnCR » 25.07.2005 (Пн) 21:05

Имхо, в бинарниках хранить данные нецелесообразно. Попробуй DBF или XML... А из бинарников инфу можно считывать блоками определенного размера, но и записывать так же...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 26.07.2005 (Вт) 10:13

Ну ладно, а чем mdb-шка не устраивает?
Или про базы данных просто не знаем?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 26.07.2005 (Вт) 10:58

Числа фиксированной длинны али нет (я имею ввиду кол-во символов)?
А я все практикую лечение травами...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Какие символы-разделители применяются в бинарных файлах?

Сообщение Andrey Fedorov » 26.07.2005 (Вт) 11:03

vbStr писал(а):Например, есть пять блоков информации, которые начинаются, допустим, целым числом (от 1 до 5). Существет ли какой-нибудь символ-ключ, поставив который в начале каждого блока, перед этим Integer, можно было бы быстро найти нужный номер блока?


У тебя эти блоки - массив?

Ну и сбрось его в бинарный файл - воостановишь так-же просто. Никакими разделителями озадачиваться при этом не надо.
Описания см. - процедуры Put и Get.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

vbStr
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 04.04.2005 (Пн) 20:18

Сообщение vbStr » 26.07.2005 (Вт) 16:27

Всем спасибо. Всем вопросы! Основные требования к формату - компактность и скорость.
2 tyomitch. XML. Что это за формат такой? С Excelем связан, да? А какие у него преимущества перед xls?
JohnCR. DBF - data base format? Первая пришедшая в голову расшифровка аббревиатуры. Это базы данных?
Andrey Fedorov. Q#1. Что за MDB? С чем едят?
Павлов Максим. Строковых нет, есть числа Double, разбавленные Integer.
Andrey Fedorov. Q#2. Сброс числел не последователен. Напр., нужно Long вставить с поз. 3, оставив 2 байта под Integer, и т.д. С извлечение легче, но опасность сбиться есть. Наверное, этого можно избежать, переработав сам алгоритм процедуры...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 26.07.2005 (Вт) 16:34

vbStr писал(а):Q#1. Что за MDB? С чем едят?


Формат баз данных. Его-же использует Access.
Едят его с помощью MDAC (ADO).
В общем, про базы данных ты не знаешь...

vbStr писал(а):Q#2. Сброс числел не последователен. Напр., нужно Long вставить с поз. 3, оставив 2 байта под Integer, и т.д. С извлечение легче, но опасность сбиться есть. Наверное, этого можно избежать, переработав сам алгоритм процедуры...


Да пофиг.

Делаешь переменную своего типа данных (он может включать массивы и другие типы). И сбрасываешь ее на диск в бинарный файл инструкцией Put. Читаешь Get. Никаких разборов при этом совершенно не нужно - все элементарно и просто до ужаса. Возможно этот вариант тебя и устроит больше всего.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.07.2005 (Вт) 16:44

vbStr писал(а):XML. Что это за формат такой? С Excelем связан, да? А какие у него преимущества перед xls?

Лол... В мире ещё есть люди, не затронутые XML-шумихой? :roll:
С Экселем этот формат никак не связан.
Преимущества перед XLS - открытая спецификация, широкая поддержка, готовый бесплатный парсер от MS, много чего ещё.
Изображение

JohnCR
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 14.06.2005 (Вт) 19:03

Сообщение JohnCR » 26.07.2005 (Вт) 18:23

vbStr
Да, DBF - это формат базы данных. Немного устаревший, но по-прежнему широко и повсеместно использующийся...


Вернуться в Visual Basic 1–6

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

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

    TopList