Структурированный массив. Сохранение, извлечение и работа.

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

Структурированный массив. Сохранение, извлечение и работа.

Сообщение Kibermaster » 11.07.2008 (Пт) 22:03

Всем привет!

Поставил себе задачу, написать программу-каталогизатор (в моем случае - каталог виниловых пластинок). Первая проблема, которая встала - как хранить данные. Идея заключается в том, чтобы иметь один файл, в нем хранить информацию, список дорожек, а также изображения обложек, яблок и т.д. для всех пластинок. В программе загружать некое "оглавление", а при выборе нужного пункта, подгружать все остальное. Использование баз данных крайне нежелательно. На VB программировал очень давно, но кое-что вроде помню..:-)

Готового решения не ищу, прошу по возможности подсказать на примере, как можно записывать и извлекать из файла данные определенной структуры, но разной длины.

Заранее спасибо!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 11.07.2008 (Пт) 22:08

Недавно же был подобный вопрос...
http://bbs.vbstreets.ru/viewtopic.php?t=36990
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Kibermaster
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 11.07.2008 (Пт) 21:48

Сообщение Kibermaster » 11.07.2008 (Пт) 22:28

Это не то. Там список загружается в массив, а дальше идет работа с массивом, который уже в памяти. Мне нужно другое - в файле в определенном формате (структуре) будут храниться текстовые, графические и может быть даже аудио данные, программа должна загрузить оглавление и держать его в памяти, а при выборе нужного пункта загрузить из файла то, что нужно. Со временем, файл может разрастись до немаленьких размеров, и загрузить его целиком в память - нецелесообразно...

Грубо говоря, нужен следующий пример:

форма, на ней listbox, в нем появляется список оглавления, при клике на элемент, из файла подгружается кусок текста, ассоциированный с этим элементом, если щелкнуть другой элемент, то предыдущий текст удаляется из памяти, а взамен его загружается другой.

Также требуется, кнопка "добавить", с помошью которой в оглавление добавляется новый пункт, к нему ассоциируется текст, и все это добавляется к существующему файлу..

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.07.2008 (Пт) 23:53

Лучше используй базу данных.
Но если хочешь изобретать велосипед, то в файле данных тебе обязательно потребуется индексная страница (в которой записи будут скорее всего фиксированной длины) и страница (страницы) данных, устроенные подобно файловой системе (т.е. разбитые на кластеры).
Lasciate ogni speranza, voi ch'entrate.

Kibermaster
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 11.07.2008 (Пт) 21:48

Сообщение Kibermaster » 11.07.2008 (Пт) 23:58

alibek писал(а):Лучше используй базу данных.
Но если хочешь изобретать велосипед, то в файле данных тебе обязательно потребуется индексная страница (в которой записи будут скорее всего фиксированной длины) и страница (страницы) данных, устроенные подобно файловой системе (т.е. разбитые на кластеры).

Вот-вот, такого плана примерчик бы - вообще супер!


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

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

Сейчас этот форум просматривают: Google-бот и гости: 55

    TopList