Pointer - требуется уточнение

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Re: Pointer - требуется уточнение

Сообщение vitaly_l » 01.04.2013 13:47:44

bormant писал(а):То есть, документация есть, примеры есть, примеры разбора есть, осталось только сесть и расписать каждый вариант вариант декодирования -- как уже говорил выше работа эта сама по себе рутинная, нудная, кропотливая и неинтересная.

Любая работа без любви к работе: рутинная, нудная, кропотливая и неинтересная.

Почему Вы уходите от ответа на простой вопрос?
:?: Как Вы разбили файл на приведённые кусочки?



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Pointer - требуется уточнение

Сообщение alexey38 » 01.04.2013 15:39:23

vitaly_l писал(а):С другой стороны: бинарный файл - мало чем отличается от текстового, когда понимаешь как он устроен.

Текстовый файл можно ПОНЯТЬ как он устроен. Бинарный файл нельзя ПОНЯТЬ. Бинарный формат можно либо как бы выучить наизусть, как азбуку морзе, либо расшифровывать его как расшифровывали во время войны вражеские шифровки.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Pointer - требуется уточнение

Сообщение bormant » 01.04.2013 15:43:44

Если добавить интерпретацию субчанка типа BLOK, получится
Код: Выделить всё
TAGS{
44 65 66 61 75 6C 74 00};
LAYR{
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00};
PNTS{
-1.000000000E+00  0.000000000E+00 -1.000000000E+00
  1.000000000E+00  0.000000000E+00 -1.000000000E+00
  1.000000000E+00  0.000000000E+00  1.000000000E+00
-1.000000000E+00  0.000000000E+00  1.000000000E+00
};
BBOX{
BF 80 00 00 00 00 00 00 BF 80 00 00 3F 80 00 00
00 00 00 00 3F 80 00 00};
POLS{
50 54 43 48 00 04 00 00 00 03 00 02 00 01};
PTAG{
53 55 52 46 00 00 00 00};
SURF{
name: "Default"
source: ""
COLR{
3F 29 A9 AA 3F 0B 8B 8C 3E E0 E0 E1 00 00};
DIFF{
3F 66 66 66 00 00};
SPEC{
3D 4C CC CD 00 00};
REFL{
00 00 00 00 00 00};
BUMP{
BF C0 A3 D7 00 00};
GLOS{
3E 4C CC CD 00 00};
SHRP{
3E 82 8F 5C 00 00};
SMAN{
3F C7 F1 E6};
RFOP{
00 01};
BLOK{
PROC{
40 00 43 48 41 4E 00 04 43 4F 4C 52 4F 50 41 43
00 08 00 00 3F 80 00 00 00 00 45 4E 41 42 00 02
00 01 4E 45 47 41 00 02 00 00 41 58 49 53 00 02
00 01};
TMAP{
43 4E 54 52 00 0E 00 00 00 00 00 00 00 00 00 00
00 00 00 00 53 49 5A 45 00 0E 3C 23 D7 0A 3D A3
D7 0A 3C 23 D7 0A 00 00 52 4F 54 41 00 0E 00 00
00 00 00 00 00 00 00 00 00 00 00 00 46 41 4C 4C
00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 4F 52 45 46 00 08 28 6E 6F 6E 65 29 00 00
43 53 59 53 00 02 00 01};
AXIS{
00 02};
VALU{
3E 58 D8 D9 3E 24 A4 A5 3D C0 C0 C1};
FUNC{
54 75 72 62 75 6C 65 6E 63 65 00 00 00 00 00 04
3F 53 33 33 3F 2B 85 1F};
};
BLOK{
GRAD{
80 00 43 48 41 4E 00 04 43 4F 4C 52 4F 50 41 43
00 08 00 00 3F 00 00 00 00 00 45 4E 41 42 00 02
00 01 4E 45 47 41 00 02 00 00 41 58 49 53 00 02
00 01};
GVER{
00 02};
PNAM{
42 75 6D 70 00 00};
INAM{
28 6E 6F 6E 65 29 00 00};
GRST{
00 00 00 00};
GREN{
3F 80 00 00};
GRPT{
00 00};
FKEY{
00 00 00 00 3E EE EE EF 3E DE DE DF 3E C8 C8 C9
3F 80 00 00 3E ED 23 08 3E 7C FC FD 3E 54 D4 D5
3E 1C 9C 9D 3F 80 00 00 3F 72 86 BD 3E 90 E4 43
3E 76 F2 1D 3E 35 6D F6 3F 80 00 00};
IKEY{
00 00 00 00 00 00};
};
BLOK{
GRAD{
90 00 43 48 41 4E 00 04 43 4F 4C 52 4F 50 41 43
00 08 00 00 3F 80 00 00 00 00 45 4E 41 42 00 02
00 01 4E 45 47 41 00 02 00 00 41 58 49 53 00 02
00 01};
GVER{
00 02};
PNAM{
53 6C 6F 70 65 00};
INAM{
28 6E 6F 6E 65 29 00 00};
GRST{
00 00 00 00};
GREN{
3F 80 00 00};
GRPT{
00 00};
FKEY{
00 00 00 00 3F 80 00 00 3F 80 00 00 3F 80 00 00
3F 80 00 00 3F 2B 1D A4 3F 80 00 00 3F 80 00 00
3F 80 00 00 3F 80 00 00 3F 4F 7E A7 3E B0 B0 B1
3E 96 96 97 3E 68 E8 E9 00 00 00 00};
IKEY{
00 00 00 00 00 00};
};
BLOK{
GRAD{
A0 00 43 48 41 4E 00 04 43 4F 4C 52 4F 50 41 43
00 08 00 05 3F 80 00 00 00 00 45 4E 41 42 00 02
00 01 4E 45 47 41 00 02 00 00 41 58 49 53 00 02
00 01};
GVER{
00 02};
PNAM{
59 20 44 69 73 74 61 6E 63 65 20 74 6F 20 4F 62
6A 65 63 74 00 00};
INAM{
28 6E 6F 6E 65 29 00 00};
GRST{
00 00 00 00};
GREN{
3F 80 00 00};
GRPT{
00 00};
FKEY{
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3F 80 00 00 3E 27 12 DD 00 00 00 00 00 00 00 00
00 00 00 00 3F 80 00 00 3E C7 69 18 3F 80 00 00
3F 80 00 00 3F 80 00 00 3F 80 00 00};
IKEY{
00 00 00 00 00 01};
};
BLOK{
PROC{
40 00 43 48 41 4E 00 04 42 55 4D 50 4F 50 41 43
00 08 00 00 3F 80 00 00 00 00 45 4E 41 42 00 02
00 01 4E 45 47 41 00 02 00 01 41 58 49 53 00 02
00 01};
TMAP{
43 4E 54 52 00 0E 00 00 00 00 00 00 00 00 00 00
00 00 00 00 53 49 5A 45 00 0E 3D CC CC CD 3E 99
99 9A 3D CC CC CD 00 00 52 4F 54 41 00 0E 00 00
00 00 00 00 00 00 00 00 00 00 00 00 46 41 4C 4C
00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 4F 52 45 46 00 08 28 6E 6F 6E 65 29 00 00
43 53 59 53 00 02 00 00};
AXIS{
00 02};
VALU{
40 00 00 00};
FUNC{
43 72 75 6D 70 6C 65 00 00 00 00 06 3F 40 00 00
};
};
BLOK{
GRAD{
50 00 43 48 41 4E 00 04 42 55 4D 50 4F 50 41 43
00 08 00 05 3F 80 00 00 00 00 45 4E 41 42 00 02
00 01 4E 45 47 41 00 02 00 00 41 58 49 53 00 02
00 01};
GVER{
00 02};
PNAM{
53 6C 6F 70 65 00};
INAM{
28 6E 6F 6E 65 29 00 00};
GRST{
00 00 00 00};
GREN{
3F 80 00 00};
GRPT{
00 00};
FKEY{
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3F 80 00 00 3E 77 EA 71 3D 76 BF 3B 00 00 00 00
00 00 00 00 3F 80 00 00 3F 09 6E 7C 3F 80 00 00
3F 80 00 00 3F 80 00 00 3F 80 00 00};
IKEY{
00 00 00 00 00 00};
};
BLOK{
PROC{
60 00 43 48 41 4E 00 04 42 55 4D 50 4F 50 41 43
00 08 00 00 3F 80 00 00 00 00 45 4E 41 42 00 02
00 01 4E 45 47 41 00 02 00 00 41 58 49 53 00 02
00 01};
TMAP{
43 4E 54 52 00 0E 00 00 00 00 00 00 00 00 00 00
00 00 00 00 53 49 5A 45 00 0E 3C 23 D7 0A 3F 80
00 00 3C 23 D7 0A 00 00 52 4F 54 41 00 0E 00 00
00 00 00 00 00 00 00 00 00 00 00 00 46 41 4C 4C
00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 4F 52 45 46 00 08 28 6E 6F 6E 65 29 00 00
43 53 59 53 00 02 00 01};
AXIS{
00 02};
VALU{
3F 80 00 00};
FUNC{
43 72 75 6D 70 6C 65 00 00 00 00 04 BF 54 7A E1
};
};
BLOK{
GRAD{
70 00 43 48 41 4E 00 04 42 55 4D 50 4F 50 41 43
00 08 00 05 3F 80 00 00 00 00 45 4E 41 42 00 02
00 01 4E 45 47 41 00 02 00 00 41 58 49 53 00 02
00 01};
GVER{
00 02};
PNAM{
53 6C 6F 70 65 00};
INAM{
28 6E 6F 6E 65 29 00 00};
GRST{
00 00 00 00};
GREN{
3F 80 00 00};
GRPT{
00 00};
FKEY{
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3F 80 00 00 3E C4 B7 3E 3D 9E 68 AA 00 00 00 00
00 00 00 00 3F 80 00 00 3F 1E FD 4E 3F 80 00 00
3F 80 00 00 3F 80 00 00 3F 80 00 00};
IKEY{
00 00 00 00 00 00};
};
};
Аватара пользователя
bormant
постоялец
 
Сообщения: 407
Зарегистрирован: 21.03.2012 11:26:01

Re: Pointer - требуется уточнение

Сообщение alexey38 » 01.04.2013 15:52:34

vitaly_l писал(а):SDK - есть, но чтобы им пользоваться нужно понимать общую структуру бинарных форматов. Именно это я здесь и выяснял; и судя по нижеследующей Вашей рецензии - интерпретировал правильно.

Вы ошибочно понимаете. Имея SDK не нужно понимать структуру бинарных файлов, SDK для того и существует, что ОН выполняет эту работу. Вы продолжаете настаивать на хакинге.

Если хотите изучать хагинг - изучайте хакинг, но не на примере lightwave3d, т.к. Ваше желание изучить прикладную область перевешивает желание начать изучать базовые вещи хакинга.
Вот Вы художник, и у Вас стоит задача изучить технологию плетения нитей и технологию ткацкого дела. Если Вам в качестве примера ткани дают холст великого художника, и предлагают расплести его на отдельные нити. Вы это сможете сделать? Вы сможете смотреть на картину, как на кусок ткани не замечая на нем самой картины? Сложно? Я Вам про то и говорю. Хотите хакинг - выбирайте примеры далекие от Вашей области, чтобы ум не цеплялся в 3d модели. Открывайте книжку по ассемблеру, изучайте архитектуру процессоров, и т.п. И через пару месяцев уже сможете подойти к формату конкретного файла, и тогда будет ясно, что, как и почему. Вам нужно научится смотреть на картины, как на набор нитей, не замечая на нем изображения. Вы должны подавить свое художественное воображение, и стать формалистом.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Pointer - требуется уточнение

Сообщение vitaly_l » 01.04.2013 17:48:33

alexey38 писал(а):Бинарный формат можно либо как бы выучить наизусть, как азбуку морзе, либо расшифровывать его как расшифровывали во время войны вражеские шифровки.

Вы правы, но мне кажется что, всё таки существует система.

alexey38 писал(а):Имея SDK не нужно понимать структуру бинарных файлов, SDK для того и существует, что ОН выполняет эту работу.

SDK здесь ни при чём; SDK всего лишь описывает: содержимое, последовательность, формат итд. Есть ещё знания, которые нужны помимо SDK/
alexey38 писал(а):Вы должны подавить свое художественное воображение, и стать формалистом.

Это невозможно сделать. В качестве примера - попробуйте заставить маленького ребёнка перестать мечтать, когда он играет. За это отвечают определённые части мозга и их невозможно отключить.

bormant писал(а):Если добавить интерпретацию субчанка типа BLOK, получится

Вы лучше приведите код, если не жалко, т.к. на примере кода можно понять, а в том что, Вы прочитаете бинарный файл имея SDK и соответствующие знания - никто не сомневается. С тем же успехом здоровый верзила может демонстрировать свою силу крохотному малышу. Гнуть перед ним лом, подкову и карданный вал и приговаривать, вот видишь какой я сильный и крутой - могу гнуть лом и карданный вал... А ты крохотный малыш - не можешь согнуть лом... малыш естественно чувствует себя подавленным и ущербным... А верзила ощущает свою мощь... :roll:

Быть может, это наверно потому что, Вы любите пиво?... :wink:


.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Pointer - требуется уточнение

Сообщение alexey38 » 01.04.2013 17:54:32

vitaly_l писал(а):но мне кажется что, всё таки существует система.

Она уникальная для каждого конкретного случая. Общей системы не существует. Бывает, что некоторые форматы похожи по своей структуре, но на это не следует рассчитывать.

Добавлено спустя 3 минуты 59 секунд:
vitaly_l писал(а):SDK здесь ни при чём; SDK всего лишь описывает: содержимое, последовательность, формат итд. Есть ещё знания, которые нужны помимо SDK/

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

Добавлено спустя 1 минуту 57 секунд:
vitaly_l писал(а):Это невозможно сделать.

Я Вам про это уже 10-й раз говорю, но Вы упорно пытаетесь изучить формат конкретного бинарного файла. Вы пытаетесь убить свою мечтательность. Насилуете и себя и других. Вы либо убьете в себе мечтательность, забросите художество и станете хакером, либо у Вас ничего не получится.

Добавлено спустя 1 минуту 17 секунд:
vitaly_l писал(а):Вы прочитаете бинарный файл имея SDK

Что Вам мешает просто прочитать SDK и работать через SDK, не изобретая велосипеда?
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Pointer - требуется уточнение

Сообщение vitaly_l » 01.04.2013 18:17:16

alexey38 писал(а):Что Вам мешает просто прочитать SDK и работать через SDK, не изобретая велосипеда?

Я уже знаю этот SDK (в той части которая нужна) как свои пять пальцев, просто у меня отсутствуют ещё какие-то знания. Ту информацию, которая мне была нужна я прочитал и 100% смогу читать в других файлах. А расшифровать полностью DATA, так как это делает bormant у меня не получается, т.к. я не понимаю: Как узнать размер чанка и его содержимого в Data?



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Pointer - требуется уточнение

Сообщение alexey38 » 01.04.2013 18:26:25

vitaly_l писал(а):Я уже знаю этот SDK (в той части которая нужна) как свои пять пальцев, просто у меня отсутствуют ещё какие-то знания. Ту информацию, которая мне была нужна я прочитал и 100% смогу читать в других файлах. А расшифровать полностью DATA, так как это делает bormant у меня не получается, т.к. я не понимаю: Как задавать размер чанка и его содержимого в Data?

Вы опять за свое. Зачем Вы пытаетесь себя погубить?
Вы в SDK изучили как раз не то, что нужно. Вы изучили то, что не нужно. Вы еще слишком плохо умеете программировать, чтобы окончательно себя испортить. Вы пытаетесь изучить как писать ужасный и неправильный код. Все Ваши примеры на эту тему - это наглядный урок как нельзя программировать. У Вас в каждой строчке ошибка.

В художественном искусстве есть техника. В программировании тоже есть техника. Не любое махание кистью с краской будет искусством. Так и не любые строки программы, даже если они и компилируются являются допустимыми в реальном программировании.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Pointer - требуется уточнение

Сообщение vitaly_l » 01.04.2013 18:48:14

alexey38 писал(а):У Вас в каждой строчке ошибка.

alexey38 писал(а):Не любое махание кистью с краской будет искусством.

Не любая критика - раскрывает суть моих ошибок. С тем же успехом,
Вы можете говорить и про хороший код - суть и смысл Вашей реплики от этого не поменяются.
А тем более - такая критика не поднимет уровень моих знаний. В продолжение о верзиле и малыше,
могу лишь добавить, что после того как малыш спросил у верзилы: Зачем Вы гнёте карданный вал,
если я попросил показать мне: Как делать кораблики из бумаги? Пока Вы не объясните малышу,
и не покажите: Как складываются кораблики из бумаги - ребёнок не научится. Вас когда-то научили,
читать SDK и бинарные файлы и Вы умеете, а меня не научили - вот я и не умею; поэтому изобретаю велосипед.



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Pointer - требуется уточнение

Сообщение alexey38 » 01.04.2013 18:54:51

vitaly_l писал(а):Как складываются кораблики из бумаги - ребёнок не научится.

Вы вместо того, чтобы делать кораблики из бумаги, Вы вырезаете их их полотен картин.
vitaly_l писал(а):Не любая критика - раскрывает суть моих ошибок

Потому, что Вы не хотите слушать.
vitaly_l писал(а): Как делать кораблики из бумаги?

Для этого нужно остановиться, нужно прекратить кромсать картины.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Pointer - требуется уточнение

Сообщение vitaly_l » 01.04.2013 19:01:40

alexey38 писал(а):Для этого нужно остановиться, нужно прекратить кромсать картины.

Дети не всегда понимают что, картины имеют ценность и с удовольствием кромсают уникальные полотна.
Потому что, нужен кораблик. Просто детям нужно объяснить что, кораблики делаются из бумаги а не из картин,
и показать как эту бумагу складывать, а если этого не сделать, то как можно научить складывать кораблики?



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Pointer - требуется уточнение

Сообщение alexey38 » 01.04.2013 19:17:19

Хотите совета, тогда слушайте.
1. Для начала закройте Лазарь. Не открывайте его до тех пор, пока не разберете свою задачу на уровне постановки. При этом просьба не зацикливатся на ошибочно принятом решении в части изучения бинарного формата.
2. Определитесь, что Вы хотите:
а) научится читать и писать бинарные файлы
б) научится работать с конкретным SDK
в) решить некую практическую задачу.
Вам важно понять, что «а» и «б» - это противоположные и несовместимые пути. Вам нужно выбрать либо «а», либо «б», а лучше просто выбрать «в».
3. Если хотите научится правильно работать с бинарными форматами, то не нужно использовать указатели. Это признак плохого стиля. Создавайте структуру (record) и читайте блоки прямо в структуру. Либо последовательно читайте отдельные переменные. Вместо указателей используйте ссылки. А если хотите записать или прочитать некие структурированные данные, то создавайте под них структуру классов. Используя этот путь Вам ненужно использовать SDK, а если на него смотреть, то как на Help. Для изучения структуры файла используйте Viewer-ы, позволяющие смотреть в 16 ричном виде.
4. Если Вы решили использовать SDK, то Вам не нужно изучать бинарное чтение. Вам нужно научится вызывать функции из SDK, а уже сам SDK Вам предоставляет и структуры, и функции чтения и записи.

Добавлено спустя 3 минуты 25 секунд:
vitaly_l писал(а):Дети не всегда понимают что, картины имеют ценность и с удовольствием кромсают уникальные полотна.
Потому что, нужен кораблик. Просто детям нужно объяснить что, кораблики делаются из бумаги а не из картин,
и показать как эту бумагу складывать, а если этого не сделать, то как можно научить складывать кораблики?

Картины - это бинарные файлы. SDK - это рамка для картины, с помощью которой ее вешают на стену.
Кораблик - это Ваша задача. Для ее решения не нужны ни картины, ни рамки от картин. Вам нужны бумага и ножницы. Вам не нужны, ни бинарные файлы, ни SDK. Расскажите для начала, что Вы хотите сделать. А потом мы Вам расскажем, что для Вашего случая будет бумагой, а что ножницами.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Pointer - требуется уточнение

Сообщение vitaly_l » 01.04.2013 20:01:57

alexey38 писал(а):3. Если хотите научится правильно работать с бинарными форматами, то не нужно использовать указатели. Это признак плохого стиля. Создавайте структуру (record) и читайте блоки прямо в структуру. Либо последовательно читайте отдельные переменные. Вместо указателей используйте ссылки. А если хотите записать или прочитать некие структурированные данные, то создавайте под них структуру классов. Используя этот путь Вам ненужно использовать SDK, а если на него смотреть, то как на Help. Для изучения структуры файла используйте Viewer-ы, позволяющие смотреть в 16 ричном виде.


Создавайте структуру (record) и читайте блоки прямо в структуру. <=== структура уже создана и прекрасно читается на 70-80%.
Вместо указателей используйте ссылки. <=== именно так работает чужой модуль, на базе которого я изучаю lwo.
создавайте под них структуру классов. <== это тоже уже есть в модуле, но судя по всему структура классов не полная.
Для изучения структуры файла используйте Viewer-ы, позволяющие смотреть в 16 ричном виде. <=== я уже читаю и понимаю что где лежит в этом формате - даже в блокноте и даже без Hex16 Viewer-ов.

alexey38 писал(а):Расскажите для начала, что Вы хотите сделать. А потом мы Вам расскажем, что для Вашего случая будет бумагой, а что ножницами.
Я хочу полностью разобраться в том как работает чужой модуль; текст модуля во втором блоке вот здесь: http://freepascal.ru/forum/viewtopic.php?f=13&t=9023&start=15#p71232 и доделать этот модуль, т.к. модуль работает только на 70-80%, и помимо этого выдаёт две ошибки при идентификации файлов. Когда модуль будет доделан я хочу использовать его для чтения файлов в формате lwo. Параллельно я получаю знания, которых у меня раньше не было.




.

Добавлено спустя 32 минуты 16 секунд:
Вот здесь пример из SDK
Код: Выделить всё
      ENVL 208
         4
         NAME 12   Luminosity
         TYPE 2    0x0400
         PRE  2    1
         KEY  8    0.0  0.0
         SPAN 16   TCB   0.0  0.0  0.0
         KEY  8    0.33333  0.625
         SPAN 12   BEZI  0.87127  0.15127
         KEY  8    0.66667  0.28804
         SPAN 16   TCB   -0.5  -1.0  1.0
         KEY  8    1.0  0.4837
         SPAN 16   TCB   0.0  0.0  0.0
         KEY  8    1.36667  0.0
         SPAN 4    LINE
         POST 2    1


Вопрос:
В примере дано: ENVL 208; там: 208 - это размер data для ENVL?
В примере дано: NAME 12; там: 12 - это размер data для NAME?
В примере дано: SPAN 16; там: 16 - это размер data для SPAN?
:roll: Правильно я понимаю, так идентифицируются размеры data в данных(lwo) бинарных файлах?
Это то что я хотел понять и многократно спрашивал, то что для Вас очевидно для меня раньше идентифицировалось как часть данных и поэтому я не мог понять как оно работает, т.к. мы инопланетяне - не задаём размеры data, а узнаём размеры при чтении файла; равно как и не ставим #0 в конце строки, особенно когда указана её длинна.



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Pointer - требуется уточнение

Сообщение alexey38 » 01.04.2013 21:03:35

vitaly_l писал(а): я уже читаю и понимаю что где лежит в этом формате - даже в блокноте и даже без Hex16 Viewer-ов.

Вы ошибаетесь, т.к. не можете все видеть в блокноте без Hex16. Без этого Вы не сможете сделать правильный record.

Добавлено спустя 53 секунды:
vitaly_l писал(а):структура уже создана и прекрасно читается на 70-80%.

Структура либо создана, либо еще несоздана. Раз всего 70%, то значит структуры еще нет, она в разработке.

Добавлено спустя 3 минуты 19 секунд:
vitaly_l писал(а):Я хочу полностью разобраться в том как работает чужой модуль

Отлично, но для чего Вы тогда изучаете формат файла? Вы уже полностью осознали чужой код? Вы на память за 3 сек. сможете ответить мне на любой вопрос по этому модулю?
Кроме того, Вы пишите в ссылке "здесь кстати исправлена ошибка из-за которой LWO модуль рушил программу". Вы уверены, что верно исправили?
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Pointer - требуется уточнение

Сообщение vitaly_l » 01.04.2013 21:10:25

alexey38 писал(а):Вы ошибаетесь, т.к. не можете все видеть в блокноте без Hex16. Без этого Вы не сможете сделать правильный record.

Странно, но я вижу... однако возможно Вы правы, просто мы по разному понимаем понятие видеть...

alexey38 писал(а):Структура либо создана, либо еще не создана. Раз всего 70%, то значит структуры еще нет, она в разработке.

:roll: Жёстко, но справедливо. Спасибо за Ваши точные и многословные ответы на мои сложные, но требующие уточнения вопросы.



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Пред.След.

Вернуться в Общее

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

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

Рейтинг@Mail.ru