Формат хранения данных проекта

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

Формат хранения данных проекта

Сообщение NicSoft » 07.01.2004 (Ср) 16:26

Делаю программу, которая будет сохранять, открывать, редактировать и т.д. проекты (как в Worde - *.doc, и т.п.) Задумался над вопросом в каком виде программа будет сохранять данные. Могу сделать в txt. Но ведь в других прогах данные хранятся в каком-то закодированном виде. Подскажите как это вообще обычно делается.

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 07.01.2004 (Ср) 17:24

Чем проще, тем лучше. Если достаточно текстового формата, надо выбирать именно его.

ЗЫ: А зачем снова Word писать?

NicSoft
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 05.04.2003 (Сб) 18:51
Откуда: Егорьевск

Хотелось бы покруче

Сообщение NicSoft » 08.01.2004 (Чт) 20:15

В текстовом виде можно, но хотелось бы наподобие *.ini (с быстрой записью в разделы).
doc - это для примера, я же не Билл Гейтс

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Re: Хотелось бы покруче

Сообщение skiperski » 08.01.2004 (Чт) 20:24

NicSoft писал(а):В текстовом виде можно, но хотелось бы наподобие *.ini (с быстрой записью в разделы).

Так кто ж тебя останавливает? Если нужно ini - делай ini. Или тебе разрешение от кого-то получить надо?

NicSoft
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 05.04.2003 (Сб) 18:51
Откуда: Егорьевск

Это немного не то

Сообщение NicSoft » 11.01.2004 (Вс) 14:35

INI я использую для хранения настроек программы, не хотелось бы, чтобы они путались с расширением проектов, и вообще просто теоретически интересно как кодируются файлы проектов других программ.

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 11.01.2004 (Вс) 15:22

Ты хочешь придумать свой формат -дерзай! Самый простой способ хранения форматированного текста - использование тегов (как в HTML или RTF). Word делает это как-то по-другому (сам не знаю).

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 11.01.2004 (Вс) 15:22

Честно говоря, ini - файлы не обязательно должны имиеть расшерение .ini. В принципе, любое, хоть .htaccess123.

Но я не о том. Есть еще метод. Если у тебя данных не очень много, и большая их часть - числа, то можно сохранять их в двоичном виде в виде структур.
Если интересно, могу прислать пример.

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 11.01.2004 (Вс) 15:26

Просто так за ради прикола никто ничего не кодирует. Это вызвано какой-либо необходимостью. Может для быстрого доступа хранят структуры. Может, как в Word или RichText, или HTML, или XML, хранят разметку текста и доп. информацию документа. Может по каким-то соображениям хранят даные вместе настройками, картинками и т.п. Может...

Если у тебя этой необходимости нет, то и нечего усложнять.

"Делать надо просто на сколько возможно, но не проще."
Кажется, Альберт Энштэйн.

NicSoft
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 05.04.2003 (Сб) 18:51
Откуда: Егорьевск

Двоичная система

Сообщение NicSoft » 14.01.2004 (Ср) 21:56

Но я не о том. Есть еще метод. Если у тебя данных не очень много, и большая их часть - числа, то можно сохранять их в двоичном виде в виде структур.
Если интересно, могу прислать пример.

Интересно. Пришли. Действительно, большая часть данных - числа. Но их много (до 12 цифр в числе, а чисел минимум 10-15, а максимум несколько тысяч). Хотелось бы чтобы всё это записывалось и считывалось по возможности быстро.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 15.01.2004 (Чт) 19:39

Зри сюда:

Код: Выделить всё
Option Explicit
Const FILE_NAME = "какой-то файл.dat"

Sub Main()
'==lngCount - Количество сохраняемых значений
Dim lngCount As Long
lngCount = 255 'Например...
'==btVal - массив чисел. Числа могут быть любого типа,
'==но обязательно одного и того-же.
Dim btVal() As Single 'Например тип - Single
ReDim btVal(lngCount - 1)
'==Здесь просто запишем значения в порядке убывания
Dim I As Long
'==Значения в массиве btVal - от 255 до 1
For I = 0 To 254
    btVal(I) = 255 - I
Next

'=======================
'======Сохранение=======
'=======================
Open FILE_NAME For Binary Access Write As 1
Put #1, , lngCount
'==т.к. размер переменной типа Long - 4 байта...
Put #1, 4, btVal
Close #1

'=======================
'=======Загрузка========
'=======================
Open FILE_NAME For Binary Access Read As 1
Get #1, , lngCount
ReDim btVal(lngCount - 1)
Get #1, 4, btVal
Close #1
'==Остановись и проверь массив!
'==(через Watch)
Stop
End Sub


Если вместо сингл использовать дублт, то достаточно изменить лишь объявление переменной btVal.

Если есть вопросы, пиши... :arrow:

Urvin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 518
Зарегистрирован: 04.06.2003 (Ср) 10:47
Откуда: с Марса

Сообщение Urvin » 15.01.2004 (Чт) 19:54

В OpenOffice еще хитрее. Там Текстовый документ состоит штук из пятнадцати .xml файлов, объединенных в один обычный ZIP архив. А имя расширению придали .sxw. Вот и все. Меньше текстовых файлов Ворда в три раза, а возможности те же.
Не так страшен русский танк, как его пьяный экипаж

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 15.01.2004 (Чт) 22:26

АднАзнАчнА

XML
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 16.01.2004 (Пт) 18:12

Использовать XML чтобы сохранять числа :?: :?: :?:

Вообще-то такой XML-файл будет раз в 5(!) больше моего.
И обрабатываться будет раза в два дольше.


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

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

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

    TopList