есть файл с такой структурой:
4 байта - номер секции
4 байта - размер сеции
много байт - секция размером <размер секции>
таких секци может быть много. я читаю первые 4 байта, запоминаю их, потом следующие 4 байта, определяю размер и читаю <размер> байт.
вот только где их хранить для дальнейшего использования? понимаю что в MemoryStream, но я не знаю сколько будет секций. трудность в том, что секция может содержать вложенные подсекции с таким же форматом.
можно запоминать смещения и размеры и обращаться к исходному файлу (предварительно закешировав его в том же MemoryStream), но нужно производить еще также и редактирование секций, есстественно с пересчетом размеров.
пока что делаю так:
читаю 4 байта - через Stream2Hex помещаю в первый StrList
след. 4 байта - во второй StrList
саму секцию - в третий StrList
ну а потом через массив обращаюсь к нужной секции и тд.
вобщем как использовать динамически MemoryStream? то есть создавать столько, сколько затребуется? данные в него идут от StreamCopy, то есть в нижнюю точку, а как по ней организовать ##Add?
ну и в догонку. в элементе Stream2Hex что содержит точка Position после преобразования?
Этот топик читают: Гость
Ответов: 499
Рейтинг: 1
|
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Морочься сам - разбирайся.
Делал для себя конветор некого RAW-формата в удобоваримые Тоже в ём дофига секций |
|||
карма: 9 |
| ||
файлы: 1 | RawRead.rar [5.5KB] [168] |
Ответов: 5446
Рейтинг: 323
|
|||
HikeR, и ты Е.Г.О. ковыряешь?!
По поводу "динамического MemoryStream" -вот
по ##add заносишь данные, потом для чтения вызываешь ##select с номером нужной копии, и пользуешься нижней точкой Stream |
|||
карма: 1 |
|
Ответов: 499
Рейтинг: 1
|
|||
iarspider, угу, О.Н. самый.
примерно понял. поробую, спасибо. p.s. а ты сам, или где-то с кем-то? и где? а вот на AG ошиваюсь. |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
HikeR, я пока играю, сейчас вот коллеге Фантомасу делаю редактор ltx файлов
|
|||
карма: 1 |
|
Ответов: 499
Рейтинг: 1
|
|||
iarspider, а ты глянь вот сюда: http://wiki.ag.ru/S.T.A.L.K.E.R._-_Редакторы
которые StalkEd - мои, могу схемку дать, так как за пару дней их набросал и забросил. [size=-2]------ Добавлено в 15:15 easyStalkEd - редактор в чистом виде ;) [size=-2]------ Добавлено в 15:23 Galkov, у вас там в схеме несколько точек входа не найдено, я так понимаю отличаются от базового набора. например, doSelect в ComboBox. это действие doSelectString? |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-03 15:53:15 |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
HikeR, у Галкова (как и у меня) файлы действительно отличаются от дистрибутива. Советую прочитать раздел [burl=http://dev.hiasm.com/wiki.php?view=167]Что такое SVN[/burl] и воспользоваться утилитой HiUpdate из дистрибутива.
|
|||
карма: 1 |
|
Ответов: 499
Рейтинг: 1
|
|||
Fantomas писал(а): STALKER_Configurator_v_0_09Fantomas писал(а): и пару кнопок еще неработают[size=-2]------ Добавлено в 15:54 и это. раз в неделю собирая VLC из SVN давно понял, что свежее - не есть всегда работающее, поэтому с некоторой опаской отношусь к использованию в работе вещей из репозиториев. посмотеть что нового - да, согласен, удобно и быстро. |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
HikeR писал(а): поэтому с некоторой опаской отношусь к использованию в работе вещей из репозиториевЗа них по крайней мере есть ответственные, у нас по крайней мере. В отличии от Upload [size=-2]------ Добавлено в 16:47 Более того, эти вещи нуждаются в усиленном тестировании хотя бы по тому, что они прямиком попадают в следующий релиз |
|||
карма: 9 |
|
Ответов: 499
Рейтинг: 1
|
|||
тут и другая проблема. скажем приписал я ListBox-у в конфиг doSetFocus (хотя не помню точно, но смысл в том, что добавил в конфиг метод, который работает, но не прописан).
а после обновления конфиг этого элемента изменился, и вылавливать по схеме, где я их использовал, довольно долго. и так после каждого обновления. тестировать надо, согласен, сам жду-недождусь некоторых изменений. но приходится держать 2-3 копии хасма на этот случай. а ответственность - дело сугубо добровольное, я бы не выделял этот пункт особо. |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-03 15:53:16 |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
HikeR, а ты обзови свой изменённый ListBox ListBoxEx-ом и доустанови его отдельно. Правда, в таком решении есть свои минусы - после обновления он может пропасть из списка.
|
|||
карма: 1 |
|
Ответов: 499
Рейтинг: 1
|
|||
Fantomas, кинул схему туда же: http://ifolder.ru/f39945
|
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-03 15:53:15 |
|||
карма: 0 |
|