Автор вопроса: Winand | Web-сайт:winandfx.narod.ru
VB6. В коллекции объектов содержится информация о треках плейлиста. Мне нужен какой-то способ быстро сохранить эти данные хотя бы в виде строк (если уж скорее всего сериализации мне не видать). Допустим у меня в плеере два плейлиста по десять тыщ треков, как это быстро сохранить?
у каждого трека вот столько полей:
Public album As String
Public artist As String
Public comment As String
Public composer As String
Public copyright As String
Public genre As String
Public song As String
Public track As String
Public year As String
Public gotTags As Boolean 'После запроса тегов = true
Public file As String
Public tlen As Long 'Song length (s)
Public flen As Long 'File size
Public remote As Boolean
'Stream info
Public channels As Long
Public frequency As Long
Public ctype As Long
Public plugin As Long
Илья, file содержит путь к файлу.
Winamp же так не делает как ты предлагаешь, он один раз читает и запоминает, когда обращаешься к треку теги обновляем, читаем заново.
Winamp же так не делает как ты предлагаешь, он один раз читает и запоминает
А ты хочешь сделать второй винамп или что-то новое?
Вообще можно сделать линейное хранение:
[2]
path=...
Album=...
artist=...
...
path=...
Album=...
artist=...
...
И в таком стиле продолжать заполнять значения в файл, такой файл легко прочитать, и именно так делает винамп, правда не совсем так, но алгоритм похож, если уж тебе нужно что-то подобное
В каком-то смысле второй винамп) Цель - удобный простой плеер под себя. При том не недоплеер, а настоящий юзабельный.
Ну что ж EROS, я ранее думал об XML, но не решался начать разбираться) Спасибо.
Плейлист в 5581 трек пишется в файл за 0.9-1.0 сек. Получаем xml размером 2.59Мб. Вполне разумно и терпимо вроде бы. Загрузку назад правда пока не делал.
Чтение этих 5581 трека идет 20 секунд. Не катит вообще)
Ну что я могу сказать.. по всей видимости это кривая реализация библиотеки.. потому как на НЕТ на файлах до 50Мб разницы практически никакой.. будь то бинарная сериализация или xml. А при таком раскладе тебе однозначно надо на бинарник переходить. На больших файлах выигрыш в скорости будет достаточно серьезный..
При качественной реализации механизма на адеватных размерах данных разницы между бинарным форматом и XML практически не будет, потому что почти все время займут операции работы с диском